Definição – O que significa o Descritor de Arquivo (FD)?
Para a maioria dos sistemas operacionais, um descritor de arquivo (FD) é um pequeno número inteiro não negativo que ajuda a identificar um arquivo aberto dentro de um processo ao usar recursos de entrada / saída como soquetes de rede ou canais. De certa forma, pode ser considerado uma tabela de índice de arquivos abertos. Quando há operações de leitura, gravação ou fechamento de arquivo, um dos parâmetros de entrada considerados é o descritor de arquivo. Os descritores de arquivo formam um componente importante da interface de programação de aplicativos POSIX e fornecem uma interface primitiva de baixo nível para operações de entrada ou saída.
Definirtec explica o descritor de arquivo (FD)
Um kernel cria um descritor de arquivo sempre que encontra uma chamada aberta. De muitas maneiras, o gateway para as abstrações do kernel do hardware subjacente pode ser considerado como descritores de arquivo. No sistema operacional Unix, a entrada padrão é representada pelo descritor de arquivo 0, a saída padrão é representada pelo descritor de arquivo 1 e o arquivo de erro padrão é representado pelo descritor de arquivo 2. Em outras palavras, correspondendo aos três fluxos padrão, cada processo UNIX teria três descritores de arquivo padrão. Ambos os fluxos e descritores de arquivo podem representar uma conexão de dispositivo, no entanto, para controlar dispositivos específicos, os descritores de arquivo precisam ser usados. Na maioria dos sistemas operacionais, como UNIX, os descritores de arquivo são representados como objetos do tipo “int”. O descritor de arquivo é usado pelo kernel como um índice na tabela de descrição de arquivo para determinar qual processo originalmente abriu um arquivo específico e então permitir a execução das operações solicitadas no dispositivo ou arquivo aberto.
De uma perspectiva de programação de aplicativo, os descritores de arquivo precisam ser usados se houver qualquer operação de entrada ou saída em modos especiais, incluindo entradas sem bloqueio. Ao contrário dos fluxos que fornecem funções importantes para controle, uma interface do descritor de arquivo fornece apenas funções simples para a transferência de blocos de caracteres. As operações de baixo nível podem ser realizadas diretamente no descritor de arquivo.