Fundamentos do sistema Linux - hardware

A forma como o sistema operacional trabalha com o hardware é fator decisivo no desempenho e estabilidade do sistema. Um processador pode ser muito rápido por possuir diversos recursos, mas se o sistema operacional não tiver suporte a esses recursos, não será possível extrair o máximo de desempenho do processador. Nesse artigo veremos como o Linux interage com o hardware do computador.

[ Hits: 110.409 ]

Por: Davidson Rodrigues Paulo em 16/12/2005 | Blog: http://davidsonpaulo.com/


Detecção de hardware



Devido ao grande número de componentes de hardware presentes no computador, torna-se muito penosa a tarefa de instalar cada um deles um a um, carregando módulo por módulo.

Além disso, nem sempre é possível saber de antemão qual o módulo que funciona com o hardware que acabamos de instalar, e não é prático ficar procurando o módulo adequado, o que pode despender um tempo que muitas vezes não temos.

Pensando nisso foi desenvolvido o hotplug, uma ferramenta de detecção e instalação automática de novos dispositivos para GNU/Linux.

Quando executado, o hotplug realiza uma série de testes que detecta qualquer novo dispositivo de hardware, e automaticamente carrega o módulo adequado, se disponível. É comum o hotplug vir configurado para ser executado toda vez que o sistema for iniciado, assim, qualquer novo hardware que seja conectado ao computador será detectado e instalado durante o processo de inicialização.

Outra função do hotplug é detectar dispositivos USB quando eles são conectados ao computador, instalando automaticamente os módulos necessários.

Obtendo informações sobre o hardware


O GNU/Linux oferece diversas ferramentas que nos permitem obter informações sobre todo o hardware conectado ao nosso computador. Essas informações podem ser utilizadas para diversos fins, e mais cedo ou mais tarde acabamos precisando delas.

Placas e dispositivos on-board


Para obtermos informações sobre as placas e dispositivos on-board ligadas ao nosso computador, podemos utilizar o comando lspci, que lista as informações do fabricante a respeito de cada dispositivo.

Veja um exemplo de uso do lspci:

$ lspci
0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8375 [KM266/KL266] Host Bridge
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]
0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
0000:01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

Como se pode ver, é gerada uma listagem com a descrição de todas as placas e dispositivos on-board conectadas ao computador. A estrutura de cada linha é a seguinte: BUS, tipo de dispositivo, fabricante, chipset, descrição.

Assim, podemos facilmente obter informações sobre a nossa placa de som. Procurando na listagem, vemos que a linha correspondente a ela é:

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)

De onde tiramos as informações:
  • BUS: 0000:00:11.5;
  • Tipo de dispositivo: Controlador de áudio multimídia (multimedia audio controller);
  • Fabricante: VIA Technologies, Inc.;
  • Chipset: VT8233/A/8235/8237;
  • Descrição: Controlador de áudio AC97.

Da mesma forma, podemos obter as informações sobre a placa de vídeo:

0000:01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]
  • BUS: 0000:01:00.0;
  • Tipo de dispositivo: Controlador compatível com VGA (VGA compatible controller);
  • Fabricante: S3 Inc.;
  • Chipset: VT8375;
  • Descrição: ProSavage8 KM266/KL266.

Dispositivos USB


Pode ser que queiramos obter informações sobre nossos dispositivos externos, ligados na interface USB. Para isso existe o comando lsusb, que funciona da mesma forma que o lspci.

Veja um exemplo de seu uso:

$ lsusb
Bus 002 Device 003: ID 03f0:0901 Hewlett-Packard ScanJet 2300c
Bus 002 Device 002: ID 0553:0002 STMicroelectronics Imaging Division (VLSI Vision) CPiA WebCam
Bus 001 Device 003: ID 04a9:1084 Canon, Inc.

Aqui são exibidas as informações sobre os dispositivos USB conectados ao computador. As informações exibidas aqui são: BUS, número do dispositivo, ID, Fabricante, Descrição.

Vejamos as informações contidas na linha a seguir:

Bus 002 Device 003: ID 03f0:0901 Hewlett-Packard ScanJet 2300c
  • BUS: 002;
  • Número do dispositivo: 003;
  • ID: 03f0:0901;
  • Fabricante: Hewlett-Packard;
  • Modelo: ScanJet 2300c.

O diretório /proc/


Dentro do diretório /proc/ estão diversos arquivos que contém informações avançadas sobre o sistema. Para ver essas informações, basta usar o cat.

Por exemplo, o arquivo /proc/cpuinfo contém informações sobre o processador. Para visualizar essas informações, digitamos o comando:

# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 8
model name      : AMD Duron(tm)
stepping        : 1
cpu MHz         : 1600.082
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
 cmov pat pse36 mmx fxsr sse syscall
 mmxext 3dnowext 3dnow
bogomips        : 3162.11
Assim, podemos saber que esse é um processador AMD Duron 1600 MHz com 64 KB de cache, além de inúmeras outras informações que podem ser de grande utilidade para o administrador do sistema.

Veja abaixo uma lista com os principais arquivos do diretório /proc/ e o que eles contém:
  • /proc/cpuinfo: Informações sobre o processador (CPU);
  • /proc/cmdline: Parâmetros utilizados para inicializar o sistema;
  • /proc/crypto: Sistema de criptografia utilizado pelo sistema;
  • /proc/devices: Mostra os tipos de dispositivos disponíveis;
  • /proc/filesystems: Sistemas de arquivos suportados pelo sistema;
  • /proc/interrupts: Informações sobre quais interrupções estão ocupadas e quais os dispositivos que as estão utilizando;
  • /proc/iomem: Informações sobre a memória de I/O;
  • /proc/ioports: Informações sobre as portas de I/O;
  • /proc/loadavg: Informações sobre a carga do sistema;
  • /proc/meminfo: Informações sobre uso da memória;
  • /proc/misc: Listagem de dispositivos diversos;
  • /proc/modules: Informações sobre os módulos carregados;
  • /proc/partitions: Informações sobre as partições de disco;
  • /proc/stat: Estado atual do processador;
  • /proc/swap: Relação das partições swap atualmente em uso;
  • /proc/uptime: Tempo que o computador permaneceu ligado e em processamento;
  • /proc/version: Informações sobre versão do sistema operacional;
  • /proc/vmstat: Informações sobre uso da memória virtual.

Existem outros arquivos, dispostos em subdiretórios. Analise-os e descubra a quantidade aparentemente inesgotável de informações que se pode obter no diretório /proc/ e subdiretórios.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Dispositivos
   3. Módulos
   4. Detecção de hardware
Outros artigos deste autor

Fundamentos do sistema Linux - comandos do Linux

Dual-boot: instalando o Windows depois do Linux

Fundamentos do sistema Linux - usuários e grupos

Instalando e atualizando pacotes no Fedora em computadores sem internet

Instalação e utilização do Qemu no Fedora Core

Leitura recomendada

Lendo as permissões dos arquivos Linux

Sistemas operacionais imutáveis e suas tecnologias

Fedora: Gerenciando Serviços

Mageia Linux 8

Instalação do Debian Lenny 5

  
Comentários
[1] Comentário enviado por dk_millares em 16/12/2005 - 08:49h

ae Davidson muito interessante seu artigo,ainda não conhecia nada sobre hardware no linux;muitas pessoas aprende a instalar uma placa de som por exemplo mas são dicas que na verdade nem sabem oque estão fazendo(já conteceu comigo),pois na hora do desespero o usuario iniciante tenta a primeira dica que falarem para ele,muitas vezes dá certo mas o usuario acaba sem saber oque fez e pra que servia "aquilo".
A partir deste artigo da para pegar uma boa noção sobre hardware no linux,claro que vale a vontade pra correr atras de algo mais.
abraços

[2] Comentário enviado por bosetti em 16/12/2005 - 09:17h

concordo, realmente muito bom o artigo... ajuda muito...
e por falar em ajudar...
davison, eu tenho um computador praticamente igual o seu, só que athlon xp 1.8 hehehe, e a placa de vídeo é a mesma, e gostaria de saber qual driver você usa para ela, eu uso o "savage", não parece ter muita aceleração nem nada, mas pelo menos funciona, o problema é o seguinte, euconfigurei ele para rodar em 24bits de cor, mas parece rodar somente em 16, pois dá para percever algumas falhas nos tons das cores, caso isso também aconteça com você, ou tenha resolvido, me dá uma dica aí do que fazer...
a propósito, já falei que o seu artigo tá muito bom?? hehe

[]'s
Rafael Bosetti

[3] Comentário enviado por agk em 16/12/2005 - 10:10h

Muito bom, excelente artigo. Para um bom funcionamento do sistema o primeiro passo é conhecer bem o hardware para poder configurá-lo corretamente.

[4] Comentário enviado por wavemmx em 16/12/2005 - 11:33h

ótimo seu artigo .Parabens!!
O diretório /proc não existe fisicamente no hd ,ele é criado pelo kernel (virtualmente) e la vc pode ver as informações do funcionamento do seu kernel
falow!!!

[5] Comentário enviado por m_arco em 16/12/2005 - 11:47h

Olá davidsonpaulo,
achei muito útil seu artigo, sem dúvidas, o suporte a hardwares atuais é muito importante para o crescimento da comunidade linux.
Tenho uma pergunta e talvez você possa me orientar...

Li na introdução do seu artigo que o gerenciamento de memória do sistema operacional pode o tornar eficaz como ineficaz, dependendo se está adaptado ao sistema ou não, o caso é o seguinte:

Tenho um slackware instalado em minha máquina, 1024Mb de memória DDR400, processador AMD Athlon XP 2800, placa mãe Soyo Kt400 Dragon Ultra. Mesmo com esses dispositivos de hardware, que creio serem ótimos para as minhas necessidades, as vezes ocorre travamentos no sistema, mas creio que estes sejam travamentos absurdos, pois em nenhum dos casos estava utilizando tanto dos processos assim, você poderia me indicar algum artigo ou material que eu possa ler para resolver este meu "probleminha" de gerenciamento de memória?

Muito obrigado pela ajuda...

Att. Marco!>

[6] Comentário enviado por feraf em 16/12/2005 - 12:43h

m_arco, tive problemas similares em uma Soyo K7V-Dragon Plus, na época top de linha, mas depois de um tempo ele começou a travar repetidamente. Desconfiei ser um problema de hardware quando meu HD parou de funcionar. Foi o que me fez trocar de placa-mãe (agora tenho uma Asus), e está funcionando perfeitamente. Ainda não sei ao certo qual problema da placa antiga, desconfio que seja um problema na IDE (a placa em questão foi uma das primeiras a ter Raid). Bem, de qualquer forma, um técnico pode ajudar (ou não, no meu caso tive que trocar a placa).
Boa sorte,
Felipe

[7] Comentário enviado por percival em 16/12/2005 - 13:12h

Opa, já foi pro meu Favoritos.

Muito bom artigo.

[8] Comentário enviado por cesperanc@ em 16/12/2005 - 16:10h

Parabéns pela compilação do artigo... Já mereceste 100 pontos :D

[9] Comentário enviado por laranjeira em 16/12/2005 - 19:30h

Parabens.........

[10] Comentário enviado por devas em 17/12/2005 - 19:29h

Meu nome José sou de Bragança-Para
gostaria de recebe ajuda para manipular o systema Lunux
melhor e seus comandos.
Tudo estou migrando agora para ele.

estarei muito grato
jose2582@hotmail.com

[11] Comentário enviado por hlegius em 17/12/2005 - 20:04h

Excelente artigo davidsonpaulo!
Muito bem explicado com muitos exemplos! Show de bola, continua assim cara!

Abraços!

[12] Comentário enviado por piazinhodolinux em 19/12/2005 - 15:45h

bah cara, show de bola!!!

[13] Comentário enviado por Marciofs em 19/12/2005 - 15:52h

Ola
por favor estou com problemas p/ instalar minha placa de rede que uma marvel Yukon tem no cd o driver linux mas sou iniciante e não sei o que devo fazer
desde ja agradeso

[14] Comentário enviado por removido em 22/12/2005 - 10:16h

Excelente artigo. Tratou muito bem o assunto e veio na hora certa ;-D

[]'s

[15] Comentário enviado por acollucci em 23/12/2005 - 15:50h

Kra gostei mto do sei artigo... Principalmente que tem mto a ver com outro que eu escrevi, onde falava a grande vantagem do linux na area de hardwares naum convencionais.. assim como robos e maquinas eletromecanicas.. Parabens pelo artigo, ja esta nos meu favoritos

[16] Comentário enviado por removido em 23/12/2005 - 15:55h

Bozolinux Rulez! :)

[17] Comentário enviado por casterman em 29/12/2005 - 10:09h

legal a parte que fala sobre criação de devices !!!

[18] Comentário enviado por mardecores em 14/05/2006 - 23:20h

Olá! Estou migrando para o Linux e gostaria de dicas de configuração de modem intel 537 data fax voice v.90 - pois não consigo acessar a internet pelo linux.
Grato, mardecores.

[19] Comentário enviado por gsi.vinicius em 07/08/2006 - 13:20h

opa, intaum respondendo ao mardecores acima....as distros kurumin tem nativo a esse modem.....é só vc entrar em um menu e selecionar esse modem!!!!!

De qq forma, entre no www.guiadohardware.net e vá na sessão de tutoriais , tem um chamado instalação de softmodens (atualizado) onde vc encontra informações de onde baixar os drivers e como instalar..

outra url interessante é http://linmodems.technion.ac.il/ ..onde vc pode encontrar informações preciosas sobre instalação de softmodens

[20] Comentário enviado por diogobc em 09/09/2006 - 03:33h

nossa muito bom mesmo este artigo e despertou uma curiosidade em mim..
sabe eu tenho a mesma placa mãe com os mesmos dispositivos listados acima no artigo só qe com uma NVIDIA fx5500 no agp e toda vez qe ligo a maquina qdo esta caregando os modulos de drivers aparece uma linha com uma mensagem de erro nos modules do agp porem nunca tive nenhum problema apesar dessa mensagem uso kernel 2.4 slack 10.2 ;D alguem ae sabe uma probabilidade do pq dessa mensagem ?
se alguem tiver alguma ideia me avisa aki ou envia um e-mail: diogoboarettoc@gmail.com

abracos
Diogo

[21] Comentário enviado por vvvdracula em 09/02/2007 - 10:52h

esse artigo é um ótimo guia para pessoas leigas como eu
valeu pela ajuda
;)

[22] Comentário enviado por zeza em 19/06/2007 - 09:08h

vlw aew cara

t+

[23] Comentário enviado por doradu em 08/02/2010 - 18:36h

vou ler de vez em quando com mais calma


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts