Suponho que você esteja se referindo a este parágrafo:
Unlike traditional Unix systems, where the device nodes in the /dev directory have been a static set of files, the Linux udev device manager dynamically provides only the nodes for the devices actually present on a system. Although devfs used to provide similar functionality, Greg Kroah-Hartman cited a number of reasons3 for preferring its implementation over devfs:
A partir da primeira sentença, eles estão se referindo a outros sistemas Unix, nos quais os dispositivos em /dev
são estaticamente criados e mantidos desde a reinicialização até a reinicialização. Versões anteriores do Linux (acho que a versão 2.4 do Kernel) também funcionavam dessa maneira, versões mais novas não se comportam mais dessa maneira. Outros Unixes geralmente incluem um conjunto comum de arquivos de dispositivos quando você os instala e, raramente, é necessário criar outros manualmente.
Em 2.4, você pode usar o comando mknod
para criar manualmente qualquer arquivo de dispositivo necessário. Por exemplo:
$ mknod ./dev/random b 12 5
OBSERVAÇÃO: Esta afirmação cria o descritor de arquivo /dev/random
, como um dispositivo de bloco com número de dispositivo principal de 12 e um número de dispositivo menor de 5.
Arquivos de dispositivos em / dev
O OP fez a seguinte pergunta de acompanhamento sobre a funcionalidade geral do diretório /dev
. Aqui está a pergunta dele:
Can you add details on the technical method used to persist device files across reboots? how are they physically stored on disk? did they need special filesystem support?
Ao pesquisar isso, imaginei começar com o projeto Linux From Scratch para ter uma ideia básica de como /dev
é gerenciado em versões mais recentes do kernel do Linux. Eu sei que no passado (acho que as versões do Kernel 2.4 e anteriores) o diretório /dev
era um conjunto estático de arquivos que literalmente ocupava espaço no disco rígido, mas com o advento de udev
e sysfs
isso não era mais O caso.
Tradicionalmente, esses arquivos especiais foram criados no momento da instalação pela distribuição, usando o comando mknod
. Nos últimos anos, os sistemas Linux começaram a usar udev
para gerenciar esses arquivos /dev
em tempo de execução. Por exemplo, udev
criará nós quando os dispositivos forem detectados e os excluirá quando os dispositivos forem removidos (incluindo dispositivos hotplug em tempo de execução). Dessa forma, o diretório /dev
contém (na maioria das vezes) apenas entradas para dispositivos que realmente existem no sistema no momento atual, ao contrário dos dispositivos que podem existir.
Tão longe estão os dias de ter que se preocupar com os arquivos do seu dispositivo em /dev
. Este diretório agora é completamente gerenciado por udev
e sysfs
da reinicialização para reinicialização.
% adicional% co_de & udev
resources
- tutorial do libudev e do Sysfs
- 7.4. Manipulação de dispositivos e módulos em um sistema LFS
- Linux para artigos da revista You - Uma série de drivers de dispositivos Linux