Descritor de arquivo: diferenças entre revisões
m r2.7.2+) (Robô: A modificar vi:File descriptor para vi:Đặc tả tập tin |
m link |
||
(Há 8 revisões intermédias de 4 utilizadores que não estão a ser apresentadas) | |||
Linha 1: | Linha 1: | ||
[[Imagem:Fluxos-padrões.png|thumb|300px|direita|Os descritores de arquivo para entrada, saída e erro]] |
|||
⚫ | Em [[programação]], um {{PBPE|descritor de arquivo|descritor de ficheiro}} |
||
⚫ | Em [[programação de computadores]], um {{PBPE|descritor de arquivo|descritor de ficheiro}}, do inglês '''file descriptor''' (FD), é um indicador abstrato para acessar um [[arquivo de computador|arquivo]]. O termo é geralmente usado em [[sistema operacional|sistemas operacionais]] [[POSIX]]. Para o [[Microsoft Windows]], o termo "''[[Handle (informática)|handle]]'' de arquivo" é mais usado. |
||
⚫ | Em POSIX, um descritor de arquivo é um [[Inteiro (tipo de dado)|inteiro]], |
||
⚫ | Em POSIX, um descritor de arquivo é um [[Inteiro (tipo de dado)|inteiro]], especificamente do tipo <code>int</code> de [[C (linguagem de programação)|C]]. Existem três descritores de arquivo padrões em POSIX, que correspondem aos três [[fluxos padrão]]<ref>Santos, 2000</ref>, os quais provavelmente todos os processos (exceto talvez uma [[Daemon (computação)|daemon]]) deve esperar ter: |
||
{| class="wikitable" |
|||
!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 (informática)|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 (informática)|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. |
De forma geral, um descritor de arquivo é um índice para um registro de uma [[estrutura de dados]] do [[núcleo (informática)|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 (informática)|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. |
||
Linha 7: | Linha 23: | ||
Em sistema [[Unix-like]], descritores de arquivos podem se referir não somente a arquivos, mas também [[Diretório (informática)|diretórios]], dispositivos de memória, [[soquete]]s e [[Pipe nomeado|pipes nomeados]] ou [[canalização (informática)|não nomeados]], seguindo a máxima da plataforma de que "tudo é arquivo".<ref>Maillard, p. 41</ref> |
Em sistema [[Unix-like]], descritores de arquivos podem se referir não somente a arquivos, mas também [[Diretório (informática)|diretórios]], dispositivos de memória, [[soquete]]s e [[Pipe nomeado|pipes nomeados]] ou [[canalização (informática)|não nomeados]], seguindo a máxima da plataforma de que "tudo é arquivo".<ref>Maillard, p. 41</ref> |
||
{{ |
{{referências|Notas}} |
||
==Referências== |
==Referências== |
||
Linha 16: | Linha 32: | ||
|publicado=[[Universidade Federal do Rio Grande do Sul|UFRGS]] |
|publicado=[[Universidade Federal do Rio Grande do Sul|UFRGS]] |
||
|acessodata=10 de julho de 2008 |
|acessodata=10 de julho de 2008 |
||
|arquivourl=https://web.archive.org/web/20060903112343/http://www.inf.ufrgs.br/~nmaillard/info1040/3sistemas-arquivos-info1040.ppt |
|||
|arquivodata=2006-09-03 |
|||
|urlmorta=yes |
|||
}} |
}} |
||
* {{citar web |
* {{citar web |
||
Linha 28: | Linha 47: | ||
[[Categoria:Unix]] |
[[Categoria:Unix]] |
||
[[Categoria:POSIX]] |
|||
[[Categoria:Tecnologia de sistema de arquivos do Unix]] |
|||
[[cs:Souborový deskriptor]] |
|||
[[de:Handle#Datei-Handle]] |
|||
[[en:File descriptor]] |
|||
[[es:Descriptor de archivo]] |
|||
[[fr:Descripteur de fichier]] |
|||
[[gl:Descritor de ficheiro]] |
|||
[[it:Descrittore di file]] |
|||
[[ja:ファイル記述子]] |
|||
[[ko:파일 서술자]] |
|||
[[pl:Deskryptor pliku]] |
|||
[[ru:Файловый дескриптор]] |
|||
[[sk:Deskriptor (výpočtová technika)]] |
|||
[[sv:Fildeskriptor]] |
|||
[[vi:Đặc tả tập tin]] |
|||
[[zh:文件描述符]] |
Edição atual tal como às 16h30min de 12 de setembro de 2020
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
[editar | editar código-fonte]- 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