Podcast
Questions and Answers
O que é o ponteiro de ficheiro?
O que é o ponteiro de ficheiro?
O ponteiro de ficheiro é a posição corrente associada ao descritor do ficheiro.
Como se chama a função utilizada para posicionar o ponteiro de ficheiro numa determinada posição?
Como se chama a função utilizada para posicionar o ponteiro de ficheiro numa determinada posição?
Fsync é uma função que força uma escrita imediata para o dispositivo físico.
Fsync é uma função que força uma escrita imediata para o dispositivo físico.
True
Como se chama o parâmetro que deve ser especificado no open para abrir um ficheiro em modo de acréscimo (append)?
Como se chama o parâmetro que deve ser especificado no open para abrir um ficheiro em modo de acréscimo (append)?
Signup and view all the answers
Corresponda os possíveis valores da variável errno com o seu significado:
Corresponda os possíveis valores da variável errno com o seu significado:
Signup and view all the answers
O que são APIs de baixo nível em relação a ficheiros na linguagem C?
O que são APIs de baixo nível em relação a ficheiros na linguagem C?
Signup and view all the answers
Explique o conceito de sistema de chamadas no contexto do sistema operativo.
Explique o conceito de sistema de chamadas no contexto do sistema operativo.
Signup and view all the answers
Qual é a importância de um descritor de ficheiro no E/S de baixo nível?
Qual é a importância de um descritor de ficheiro no E/S de baixo nível?
Signup and view all the answers
Os ficheiros em sistemas Unix são utilizados exclusivamente para armazenar dados binários.
Os ficheiros em sistemas Unix são utilizados exclusivamente para armazenar dados binários.
Signup and view all the answers
O que é persistente é um ficheiro, ou seja, os dados mantêm-se mesmo com o reiniciar de sistemas e cortes de energia elétrica.
O que é persistente é um ficheiro, ou seja, os dados mantêm-se mesmo com o reiniciar de sistemas e cortes de energia elétrica.
Signup and view all the answers
Study Notes
Introdução à File I/O
- A linguagem C disponibiliza duas APIs para interação com ficheiros: API de baixo nível e API de alto nível.
- A API de baixo nível (Low-level API) inclui funções como open, close, read, write, entre outras.
- A API de alto nível (High-level API) inclui funções como fopen, fclose, fprintf, entre outras.
Chamadas ao sistema
- Chamadas ao sistema são a forma como o sistema operacional (SO) disponibiliza serviços às aplicações.
- Exemplos de serviços: abertura e manipulação de ficheiros, estabelecimento de ligações de rede, etc.
O que é um ficheiro?
- Um ficheiro é uma abstração para organizar e manter dados em memória persistente (discos, pen, etc.).
- O armazenamento é persistente, ou seja, os dados mantém-se mesmo com o reiniciar do sistema e cortes de energia elétrica.
- Um ficheiro é um conjunto de bits - 0 e 1.
E/S Baixo Nível
- No E/S baixo nível, o descritor de ficheiro é um inteiro.
- A função open mapeia o ficheiro indicado pelo nome para um descritor de ficheiro.
- A função creat é utilizada para criar um ficheiro.
Descritores do tipo “int”
- A API de baixo nível assenta em descritores do tipo int.
- O descritor é devolvido pelas funções open/creat.
- O descritor é o índice na tabela de descritores abertos do ficheiro agora aberto/criado.
Função read
- A função read tenta ler um máximo de len octetos do ficheiro para a zona de memória apontada por buf.
- O ponteiro de ficheiro é a posição corrente associada ao descritor do ficheiro.
- Uma operação leitura/escrita é feita em relação ao ponteiro de ficheiro.
Escrita - write
- A função write escreve um máximo de len octetos da zona de memória apontada por buf para o ficheiro.
- O ponteiro de ficheiro é atualizado após a escrita.
E/S Sincronizado
- O SO não efetua imediatamente a escrita para o dispositivo físico (e.g., disco, pen).
- Apenas quando o buffer associado ao ficheiro é que efetiva a escrita para o dispositivo.
- O buffer atua como memória tampão/amortecimento.
- A função fsync pode ser utilizada para forçar uma escrita imediata.
errno e seek
- A variável errno é uma variável inteira global ao processo.
- Certas funções ativam o errno quando ocorre um erro.
- O valor de errno indica o que correu mal.
- A função strerror pode ser utilizada para obter uma mensagem de erro.
- A função lseek pode ser utilizada para posicionar o ponteiro de ficheiro numa determinada posição.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Quiz about the low-level API for file I/O in the C programming language, covering topics such as buffers and application interaction.