Pesquisa · Mapa mental

Arquivo de dispositivo

Em sistemas operacionais, um arquivo de dispositivo, ou arquivo especial, é uma interface para um driver de dispositivo que aparece em um sistema de arquivos como se fosse um arquivo comum. Eles são comumente utilizados em sistemas operacionais do tipo Unix e também são encontrados no MS-DOS, OS/2 e Microsoft Windows. Os arquivos de dispositivo permitem que o software interaja com um driver de dispositivo utilizando as chamadas de sistema padronizadas de entrada/saída, o que simplifica muitas tarefas e unifica mecanismos de E/S de espaço do usuário.

Fonte: Wikipédia (pt)Atualizado em 13/07/2026
01

Sistemas Unix e do tipo Unix

Imagem: fernandaredondo · BY-NC · Openverse

Nós de dispositivo correspondem aos recursos que um núcleo de sistema operacional já alocou. O Unix identifica estes recursos por um número maior e um número menor, ambos armazenados como parte da estrutura de um nó. A designação destes números ocorrem de forma única em diferentes sistemas operacionais e sobre diferentes plataformas de computador. Geralmente, o número maior identifica o controlador (driver) do dispositivo e o menor identifica um dispositivo particular (possivelmente fora de muitos) que o driver controla: neste caso, o sistema pode passar o número menor ao driver. Entretanto, na presença da alocação de números dinâmica, este pode não ser o caso (e.g. no FreeBSD 5 em diante).

Dispositivos de caractere

Arquivos especiais de caractere ou dispositivos de caractere fornecem acesso direto, e sem buffer, ao dispositivo de hardware. Eles não necessariamente permitem que os programas leiam ou escrevam caracteres individuais de cada vez, pois isso depende do dispositivo em questão. O dispositivo de caractere para um disco rígido, por exemplo, normalmente exigirá que todas as leituras e gravações sejam alinhadas aos limites de bloco e certamente não permitirá a leitura de um único byte. Os dispositivos de caractere às vezes são conhecidos como dispositivos brutos, para evitar a confusão em torno do fato de que um dispositivo de caractere, para um pedaço de hardware baseado em bloco, normalmente exigirá que os programas leiam e gravem blocos alinhados.

Dispositivos de bloco

Arquivos especiais de bloco ou dispositivos de bloco fornecem acesso armazenado em memória temporária (buffer) para dispositivos de hardware e fornecem alguma abstração de suas especificidades. Diferente de dispositivos de caractere, dispositivos de bloco sempre permitirão ao programador ler e escrever um bloco de qualquer tamanho (incluindo simples caracteres/bytes) e qualquer alinhamento. A desvantagem é que devido aos dispositivos de bloco serem armazenados em memória temporária, o programador não sabe quanto tempo levará antes que os dados escritos sejam passados das memórias temporárias do núcleo para o dispositivo real, ou mesmo em que ordem duas escritas separadas chegarão ao dispositivo físico. Além disso, se o mesmo hardware expõe tanto dispositivos de caractere quanto em bloco, há um risco de corrupção de dados devido aos clientes que utilizam o dispositivo de caractere não terem o conhecimento das alterações feitas na memória temporária (buffer) do dispositivo de bloco.

Pseudo-dispositivos

Os nós de dispositivos em sistemas do tipo Unix não precisam necessariamente corresponder a dispositivos físicos. Os nós que não possuem essa correspondência formam o grupo de pseudo-dispositivos. Eles fornecem várias funções gerenciadas pelo sistema operacional. Alguns dos pseudo-dispositivos mais usados (baseados em caracteres) incluem:

devfs

devfs é uma implementação específica de um sistema de arquivos de dispositivo em sistemas operacionais do tipo Unix, usada para apresentar arquivos de dispositivo. O mecanismo subjacente de implementação pode variar dependendo do SO. Manter esses arquivos especiais em um sistema de arquivos implementado fisicamente (por exemplo, disco rígido) é inconveniente, e como ele precisa da assistência do kernel de qualquer maneira, a ideia surgiu de um sistema de arquivos lógico de propósito especial que não é armazenado fisicamente. Definir, também, quando os dispositivos estão prontos para aparecer não é totalmente trivial. A abordagem 'devfs' é para o driver de dispositivo solicitar a criação e a exclusão de entradas 'devfs' relacionadas aos dispositivos que ele ativa e desativa.

02

MS-DOS

Imagem: jonycunha · BY-SA · Openverse

O MS-DOS emprestou o conceito de arquivos especiais do Unix, mas os renomeou para dispositivos. Devido ao fato de versões antigas do MS-DOS não suportarem hierarquia de diretórios, os dispositivos eram diferenciados dos arquivos regulares pelo uso de palavras reservadas para nomeá-los. Isto significa que certos nomes de arquivo são reservados para dispositivos, e não devem ser utilizados para nomear arquivos ou diretórios. Os nomes reservados, por sua vez, foram criados para serem compatíveis com a manipulação de "arquivos especiais" por parte do comando PIP no CP/M. Havia dois tipos de dispositivos no MS-DOS: Dispositivos de Bloco (usados para unidades de disco) e Dispositivos de Caractere (geralmente todos os outros dispositivos, incluindo dispositivos COM e PRN). O PIPE, MAILSLOT e MUP são outros padrões de dispositivos do Windows.

03

DOS, TOS, OS/2 e Windows

Imagem: Denilson Novaes · BY · Openverse

Um arquivo de dispositivo é uma palavra-chave reservada usada nos sistemas DOS, TOS, OS/2 e Microsoft Windows para permitir acesso a certas portas e dispositivos. O DOS usa arquivos de dispositivo para acessar impressoras e portas. A maioria das versões do Windows também contem este suporte, que pode causar confusão ao tentar criar arquivos e pastas de determinados nomes, quando eles não puderem possuir esses nomes. As versões 2.x do MS-DOS fornecem o parâmetro AVAILDEV do CONFIG.SYS que, se definido como FALSE, torna esses nomes especiais ativos apenas se prefixados com \DEV\, permitindo assim que arquivos ordinários sejam criados com esses nomes. O GEMDOS, a parte derivada do DOS do Atari TOS, suportava nomes de dispositivos similares ao DOS, porém, diferente do DOS, era necessário um caractere ":" (no DOS, isto é opcional) para identificá-los como dispositivos, em oposição aos nomes de arquivos normais (desta forma, "CON:" funcionaria tanto no DOS quando no TOS, mas "CON" poderia nomear um arquivo ordinário no TOS, mas nomearia o dispositivo de console no DOS). No MiNT e no MagiC, uma visão especial do sistema de arquivos unificado do tipo Unix, acessada por meio da letra de unidade "U:", também colocava arquivos de dispositivo em "U:\DEV".

Vídeos recomendados

Fontes consultadas

Continue pesquisando