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