Capítulo 5. Dispositivos

Arquivos de Dispositivos
O diretório /dev
O Diretório /proc
Dispositivos de Armazenamento
Particionamento
Formatação e criação de sistemas de arquivos
Montando um dispositivo
Montagem Automática de Dispositivos

O Linux suporta uma grande quantidade de periféricos, como impressoras, placas de rede, de vídeo, modems, unidades de fita, etc. Este capítulo apresentará como o Linux trata alguns destes dispositivos, focando principalmente os dispositivos de armazenamento, como discos rígidos e CD-ROM.

Arquivos de Dispositivos

O Linux é um sistema orientado a arquivos; mesmo os periféricos são tratados como um tipo especial de arquivo. Assim, se um determinado programa precisar ler uma informação da porta serial, por exemplo, basta que ele abra o arquivo /dev/ttyS0 para leitura, que é um arquivo especial que, quando acessado, lê o conteúdo do dispositivo em questão. Podemos dizer que os arquivos de dispositivos são o nome pelo qual um determinado dispositivo é conhecido pelo sistema.

O sistema distingue dois tipos de dispositivos: os dispositivos de bloco e os dispositivos de caractere. No primeiro tipo estão os dispositivos que suportam acesso aleatório, como os discos rígidos, e no segundo tipo os que possuem acesso seqüencial, como uma porta serial. Ao se executar o comando ls -l, os arquivos de dispositivos apresentam na primeira coluna dos atributos de arquivo o caractere "b" indicando um dispositivo de bloco ou um caractere "c", indicando que é um dispositivo de caractere.

O Conectiva Linux cria automaticamente arquivos de dispositivos para o acesso a diversos tipos de dispositivos no diretório /dev, mas em alguns casos especiais pode ser necessário que o administrador precise criar manualmente um arquivo desse tipo. A criação de arquivos de dispositivo pode ser feita com o comando MAKEDEV. Esse comando deve ser utilizado com um certo cuidado. Consulte a documentação dele e do dispositivo que exige a criação de um novo arquivo de dispositivo para saber como proceder.

O diretório /dev

É no diretório /dev que o Linux cria os arquivos de dispositivos. Neste diretório o sistema cria os arquivos necessários ao acesso a diversos tipos de dispositivos. Alguns dispositivos,no entanto, são acessados de maneira um pouco diferente, como os dispositivos de comunicação, que não possuem um arquivo de dispositivo correspondente neste diretório.

Dentro deste diretório vale destacar os seguintes arquivos:

hdaX

Onde X é um número. Esse arquivo se refere ao disco master da IDE primária. O número determina qual a partição, assim hda1 representa a primeira partição primária, e hda5 a primeira partição estendida[24].

hdbX

onde X é um número. Esse arquivo se refere ao disco slave da IDE primária.

hdcX

Onde X é um número. Refere-se ao disco master da IDE secundária.

hddX

Onde X é um número. Refere-se ao disco slave da IDE secundária.

sdaX

Refere-se ao primeiro disco SCSI encontrado, o segundo é o sdbX, o terceiro sdcX e assim por diante, não importando em que controladora eles estão. X é a partição deste disco.

sdX

Onde X é um número de 0 a 7. Arquivos de dispositivos de CD-ROM do tipo SCSI.

stX

Onde X é um número. Arquivos de dispositivos para drives de fita SCSI rebobináveis. Os drives não rebobináveis são acessados através dos arquivos de dispositivos nstX.

fd0

Refere-se ao primeiro drive de disquete. É possível também acessar o disquete através dos arquivos fd0xxx onde xxx é a capacidade do disquete, como por exemplo fd0H1440 (alta densidade 1.4Mb).

fd1

Arquivo de dispositivo do segundo disquete.

ttySX

Onde X é um número. Arquivo de dispositivos das portas seriais. O número indica qual é a porta serial, assim, ttyS0 é a "COM1", ttyS1 é a "COM2", etc.

psaux

Arquivo de dispositivo da porta PS/2.

lpX

Onde X é um número. Arquivo de dispositivo das portas paralelas. Se o computador só possui uma porta paralela ela não será necessariamente a lp0, uma vez que esse número depende do endereço de I/O da porta.

usb/ (diretório)

Dentro do diretório usb/ estão os arquivos de dispositivo para periféricos do tipo USB, como por exemplo os arquivos mouseX para mouses e lpX para impressoras USB (onde X é um número).

No diretório /dev você poderá encontrar também os arquivos mouse, modem e cdrom, que são links simbólicos para a porta serial apropriada nos dois primeiros casos, e para a posição do CD-ROM na controladora IDE.

O Diretório /proc

O diretório /proc é um diretório criado pelo kernel na memória do computador apenas, e contém informações sobre diversos aspectos do sistema, incluindo detalhes sobre os dispositivos detectados. Alguns dispositivos que são tratados de maneira especial possuem seus arquivos de dispositivo dentro deste diretório, como, por exemplo, placas de rede.

O administrador poderá consultar os arquivos deste diretório para obter mais informações sobre o sistema. Pode-se utilizar o comando cat para listar o conteúdo dos arquivos neste diretório; entre eles vale destacar os seguintes arquivos:

cpuinfo

Apresenta informações sobre a CPU, como velocidade, fabricante e tamanho da memória cache interna.

interrupts

Contém informações sobre quais interrupções (IRQ) estão sendo utilizadas e por qual dispositivo.

ioports

Mostra os endereços de E/S que estão sendo utilizados e os dispositivos que estão utilizando esses endereços.

meminfo

Informações sobre a quantidade de memória total, sua utilização, quantidade de memória de troca (swap), etc.

partitions

Esse arquivo contém informações sobre como está particionado cada disco do sistema, informando também o tamanho de cada partição. Para uma descrição mais detalhada sobre cada disco, consulte os arquivos dentro do diretório /proc/ide para discos IDE ou do diretório /proc/scsi para discos SCSI.

net

Esse arquivo lista os dispositivos de rede. Observe que pode não haver uma correspondência entre os dispositivos listados e dispositivos "físicos" como placas de rede.

Uma outra forma de se obter rapidamente uma lista de periféricos do sistema é utilizando o comando lspci, que consulta as informações do diretório /proc e as apresenta de maneira resumida.

# lspci
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 530 Host
00:00.1 IDE interface: Silicon Integrated Systems [SiS] 5513 
00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 
00:01.1 Class ff00: Silicon Integrated Systems [SiS] ACPI
00:02.0 PCI bridge: Silicon Integrated Systems [SiS] ... AGP
00:0a.0 Ethernet controller: Realtek Semiconductor ...  RTL-8139
01:00.0 VGA compatible controller: Silicon Integrated Systems

A listagem apresentada não mostra os discos do sistema, mas lista a interface IDE, além da placa de vídeo e da placa de rede.



[24] CD-ROMs não possuem partições, e assim, um CD-ROM é referenciado simplesmente como hdX, onde X é a letra correspondente à sua posição na IDE.