O que é um File Descriptor (FD) e ao que ele se refere?

O file descriptor é um recurso presente em sistemas operacionais baseados em Unix, kernel principal do Linux, do Mac OS, entre outros. Nele, você centraliza as principais informações de arquivos e programas.

Como o próprio nome sugere, essa solução funciona como uma descrição mais precisa em relação às entradas e saídas de arquivos.

Deste modo, você tem informações exatas e endereçadas para encontrar problemas ou tornar o caminho mais curto e, consequente, ágil.

Embora úteis, o file descriptor ainda conta com muitas dúvidas. Com isso em mente, a Linux Solutions explica o que é e reúne as principais informações sobre o tema!

O que é um file descriptor?

Também conhecido como descritor de arquivo ou descritor de ficheiro em português, o file descriptor é um processo de indexação de processos a partir de índices que mostram as condições de inicialização de determinado arquivo.

Em sistemas operacionais mais fiéis ao Unix, os descritores usam uma tabela própria para a descrição do arquivo mantido anteriormente pelo SO graças à tabela de arquivos, também conhecida como filetable.

Esse recurso registra e centraliza diferentes informações em relação ao arquivo, programa etc. Ou seja, você abre o programa e essa tabela de arquivos mantém informações sobre a leitura, a gravação, os acréscimos feitos e outros diferentes modos de descrição.

Portanto, além do file descriptor, há o filetable em arquivos baseados em Unix. Ainda assim, vale destacar ainda a terceira forma de descrever os arquivos abertos: o inode.

Essa terceira tabela centraliza informações mais triviais em relação ao arquivo, projeto, programa etc. Inevitavelmente, toda entrada ou saída passa por um descritor de arquivo e mantém informações reunidas nesta tabela.

Isso porque é assim que o kernel é acionado, acessa um determinado arquivo e então realiza a execução.

Mesmo assim, vale destacar que o processo aberto não tem acesso às informações do inode.

Especialmente nas distro Linux, o file descriptor tem o seu acesso através do /proc/PID/fd/. O PID, neste caso, deve ser substituído pelo identificador do processo.

Ao que o file descriptor se refere?

O file descriptor pode se referir a qualquer tipo de arquivo nomeado dentro do sistema operacional desde que baseado no Unix ou semelhantes a ele.

Além dos arquivos em si, o FD também considera informações sobre diretórios, partições, caracteres, muitas vezes chamados de “arquivos especiais”, canais específicos e nomeados, dispositivos de bloco e soquetes de domínio.

Não é raro de acontecer também que o descritivo de arquivos faça referências a arquivos, projetos e caracteres que não existem na lista de arquivos do sistema. Aqui, eles aparecem como soquetes de rede e canais anônimos.

Vale destacar também a estrutura das informações na biblioteca. Eles seguem o padrão entre E a S, sendo que o C diz respeito à descrição de arquivo com nível mais baixo. Isso nos sistemas derivados do Unix.

A estrutura mais completa e geral dos dados costuma apresentar informações adicionais e aparece como um identificador de arquivos, podendo ser bem úteis de acordo com a sua necessidade.

Nuvem privada, Redução de gastos, Segurança da informação


Paulo Henrique Oliveira

Empresário do ramo de tecnologia há mais de 20 anos, líder em consultoria, serviços e soluções baseadas na plataforma Linux. Especializações: Segurança, Servidores, Linux, Open Source, SW Livre Parcerias: Untangle e Bacula do Brasil.

selo_associada_assespro-rj
empreeduca

Copyright © 2000 - - Linux Solutions
Av. Presidente Vargas, 482 - Sala 326 - Centro Rio de Janeiro - RJ
(21) 2526-7262 - [email protected]

03.519.862/0001-13 - Linux Solutions Informatica

Agencia de Crescimento