Descritor de arquivo
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Fluxos-padr%C3%B5es.png/300px-Fluxos-padr%C3%B5es.png)
Em programação de computadores, um descritor de arquivo (português brasileiro) ou descritor de ficheiro (português europeu), do inglês file descriptor (FD), é um indicador abstrato para acessar um arquivo. O termo é geralmente usado em sistemas operacionais POSIX. Para o Microsoft Windows, o termo "handle de arquivo" é mais usado.
Em POSIX, um descritor de arquivo é um inteiro, especificamente do tipo int
de C. Existem três descritores de arquivo padrões em POSIX, que correspondem aos três fluxos padrão[1], os quais provavelmente todos os processos (exceto talvez uma daemon) deve esperar ter:
Valor inteiro | Nome |
---|---|
0 | Entrada padrão (stdin) |
1 | Saída padrão (stdout) |
2 | Erro padrão (stderr) |
De forma geral, um descritor de arquivo é um índice para um registro de uma estrutura de dados do núcleo que contém detalhes de todos os arquivos abertos. Em POSIX tal estrutura de dado é chamada tabela do descritor de arquivo, e cada processo possui sua própria tabela. Uma aplicação passa o descritor de arquivo para o núcleo através duma chamada de sistema, e o kernel acessa o arquivo representando a aplicação, baseado no descritor. A aplicação não pode manipular a tabela do descritor de arquivo diretamente.
Em sistema Unix-like, descritores de arquivos podem se referir não somente a arquivos, mas também diretórios, dispositivos de memória, soquetes e pipes nomeados ou não nomeados, seguindo a máxima da plataforma de que "tudo é arquivo".[2]
Notas
Referências
- Nicolas Maillard. «Introdução à Programação». UFRGS. Consultado em 10 de julho de 2008. Arquivado do original em 3 de setembro de 2006
- Celso Alberto Saibel Santos (Outubro de 2000). «Descritores de arquivo e ponteiros para os arquivos». Programação em Tempo Real. Módulo II - Comunicação InterProcessos. UFRN. Consultado em 10 de julho de 2008