/dev

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page /dev and the translation is 86% complete.
Outdated translations are marked like this.

O diretório /dev

A maioria dos usuários Linux entendem que /dev/sda1 é apenas um modo rápido de se referir à primeira partição do primeiro disco que o kernel encontrou. Bem simples, certo?

Mas considere os dispositivos hotpluggable como USB, IEEE 1394, PCI hot-swappable, etc. Qual é o primeiro dispositivo para cada um deles? E por quanto tempo? Qual será o nome dos outros dispositivos quando o primeiro desaparecer? Como isso afetará as transações em andamento? Não seria divertido se um trabalho de impressão fosse subitamente transferido de uma impressora a laser de última geração para uma impressora matricial quase morta só porque alguém decidiu desligar a impressora a laser (que por acaso era a primeira impressora)?

Entre no gerenciador de dispositivos. Um gerenciador de dispositivos moderno (incluindo udev e eudev) deve:

  • Executar em userspace.
  • Criar e remover arquivos de dispositivo dinamicamente.
  • Fornecer nomeação consistente de dispositivos.
  • Fornecer uma interface de programação de aplicação (API) em userspace.

Toda vez que ocorre uma alteração na estrutura do dispositivo, o kernel emite um uevent que é captado pelo gerenciador de dispositivos. O gerenciador de dispositivos segue então as regras declaradas nos diretórios /etc/udev/rules.d, /run/udev/rules.d e /lib/udev/rules.d. Com base nas informações contidas no uevent, ele encontra a regra ou regras que precisa acionar e executa as ações necessárias. Essas ações podem envolver a criação ou a exclusão de arquivos de dispositivos e também podem acionar o carregamento de arquivos de firmware específicos na memória do kernel.