BIOS, barramentos e dispositivos

Este artigo detalha: o BIOS, o relacionamento entre CPU e memória, interrupções, DMA, RTC, geometria do disco rígido, a árvore de diretórios em um sistema Linux, configurando e reconhecendo dispositivos nos barramentos ISA, PCI, USB, SCSI e ainda comentarei sobre modems e placas de som. Para terminar o artigo, comentarei sobre o sistema virtual de arquivos proc e sua funcionalidade.

[ Hits: 121.270 ]

Por: Rafael Siqueira Telles Vieira em 26/11/2007 | Blog: http://www.lia.ufc.br/~rafaelstv/


Configurando suas placas de expansão ISA e PCI



A maioria dos seus dispositivos requer uma configuração, você deve especificar o IRQ, endereço de E/S, o endereço DMA, etc. Antigamente esta configuração deveria ser feita inclusive através de jumpers na placa mãe do seu computador. Hoje, graças a evolução tecnológica, a grande maioria das opções pode ser configurada por programas específicos e é isto que veremos a seguir.

Configurando dispositivos ISA

Os dispositivos ISA requeriam o jumpeamento para o funcionamento das placas. Por exemplo você deveria jumpear para selecionar o IRQ usado pelo dispositivo e um segundo jumper para ajustar seu endereço de E/S.

Estas configurações eram muito específicas e dependiam da documentação da placa mãe. Em 1990 um novo método para configuração de dispositivos ISA surgiu o Plug and Play (PnP, conecte-e-jogue ou conecte-e-use).

A idéia era criar placas ISA sem jumpeamento que pudessem ser configuradas pelos drivers do sistema operacional. Para fazê-lo por meio de programas há duas maneiras de fazê-lo: O suporte interno no kernel 2.4.x e kernels mais novos usam as utilidades ISA PnP (pnpdump e isapnp), obrigatórias nos mais velhos e opcionais nos mais novos.

Pnpdump retorna a configuração corrente do dispositivo ISA. Para usá-lo:

# pnpdump > /etc/isapnp.conf

O programa varrerá os endereços de E/S a procura de dispositivos ISA no barramento correspondente e colocará sua configuração no arquivo /etc/isapnp.conf. As suas linhas estarão todas comentadas, para ativar uma opção basta descomentá-la e configurá-lo de acordo com sua vontade. Uma vez que você tenha terminado a configuração do dispositivo digite:

# isapnp /etc/isapnp.conf

Desta forma sua placa estará ativa e funcionando segundo as configurações do arquivo /etc/isapnp.conf.

Configurando dispositivos PCI

O barramento PCI foi construído tendo o estilo PnP de configuração em mente, logo a grande maioria dos dispositivos PCI se configuram automaticamente sem necessidade da interação do usuário. Isto é, a configuração de dispositivos PCI por PnP é a regra, e não a exceção como nos dispositivos ISA.

O kernel do Linux tem 4 opções para determinar como os dispositivos PCI são detectados(Bus Options, PCI Access Mode):
  • BIOS, usa a BIOS para realizar a tarefa;
  • MMConfig, que usa este protocolo para detectar dispositivos PCI;
  • Direct, que usa um sistema de detecção direta específica para o Linux;
  • Any, tenta usar o protocolo MMConfig depois o Direct e por fim a detecção BIOS.

Na maioria dos casos Any é a opção mais indicada, a maior parte dos BIOS tem opções PCI que mudam a maneira com que os recursos PCI são alocados. E pode ser bom verificar tais configurações caso você tenha algum problema.

O comando setpci pode ser usado para procurar automaticamente por dispositivos PCI e suas configurações, assim como para alterá-las. Esta ferramenta pode ser usada para configurar o IRQ, endereço E/S e DMA.

# setpci -s 01:00.0 [opções]

Através do comando:

# lspci -s 01:00.0

01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 661/741/760/761 PCI/AGP VGA Display Adapter

Podemos obter a lista de todos os dispositivos PCI existentes no sistema Linux, assim como as suas configurações.

Página anterior     Próxima página

Páginas do artigo
   1. BIOS: Basic Input Output System
   2. CPU e Memória
   3. Barramentos
   4. Interrupções
   5. Endereços de E/S
   6. Endereços DMA
   7. RTC - Relógio de tempo real
   8. Disco rígido
   9. Árvore de diretórios
   10. Configurando suas placas de expansão ISA e PCI
   11. Configurando suas placas de expansão USB e SCSI
   12. Configurando modems e placas de som
   13. Detectando novos dispositivos
   14. O diretório /proc/
   15. Conclusão e licença
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Utilizando PICkit 2 no GNU/Linux

Hardmodem PCI US Robotics

Guia definitivo para resolver problemas do chipset Ac97 Intel (intel8x0) presente nas placas mãe Asus k8u-x (Ali 5455)

Endianness - Arquitetura de computadores

Passos essenciais para configurar sua impressora no Linux

  
Comentários
[1] Comentário enviado por scoob em 27/11/2007 - 07:19h

It's awesome !!!!!

;>))


Parabéns!!!

[2] Comentário enviado por jeferson_roseira em 27/11/2007 - 10:35h

Muito bom o tutorial

[3] Comentário enviado por engos em 27/11/2007 - 11:18h

Isso que á artigo de verdade!

A maioria posta dicas como artigo e o pessoal deixa passar, mas o seu sim dá orgulho até de ler, entrei para verificar sobre o que se tratava pensando ser outro artigo fajuto sobre o assunto e fico contente por ter me enganado.

Parabéns, esse é digno dos top 5 do site.

[4] Comentário enviado por TSM em 27/11/2007 - 11:43h

Muito bom cara.
Parabéns.

[5] Comentário enviado por brunojbpereira em 27/11/2007 - 15:20h

Seu artigo sobre os detalhes do funcionamento de um computador e relacionando-o com o sistema linux foi genial. o artigo está nota 10.

[6] Comentário enviado por elgio em 28/11/2007 - 15:37h

Muito bom teu artigo. Nada mais posso dizer que já não tenha sido dito.

Observei que no final tu colocou uma nota de Copyright... legal, acredito que isto deva até ser incentivado aqui no Vol.

Outra coisa é sobre os HDs... Eu não sou 100% da area pois abandonei hardware faz algum tempo, mas pelo que me lembro alguns HD tem seus setores dispostos em forma de aspiral, onde cada setor tem o mesmo tamanho físico, em contra ponto ao modelo tradicional onde os setores mais internos são menores e, por terem o mesmo tamanho em bytes, tem seus bits mais "espremidos". Isto requeria até algumas técnicas especiais de armazenamento para que um bit ZERO expremido entre dois bits 1 não acabasse virando 1 também (principalmente nos setores mais centrais onde o "expremido" é mais violento)

Como hoje isto é uma coisa que só interessa a controladora do disco (que esta DENTRO do disco) não é assim tão importante.

Em tempo: há 15 ANOS ATRÁS eu era técnico em eletrônica e dava manutenção em computadores. Frequentemente a gente dizia para o cliente que o problema era apenas de BIOS. Nosso cógido interno traduzia, neste caso, BIOS para "Burro Incapaz que Operava o Sistema". Era uma senha para dizer que o problema era rateada do usuário... Ainda se usa esta "tradução" nos bastidores? (assim como o problema de Osmar. Os Mar Contato... hehehehehe)

[7] Comentário enviado por rafastv em 28/11/2007 - 22:39h

Muito obrigado pelos comentários pessoal :) Eu tentei fazer o melhor possível e ser bem claro em todos os momentos. Quanto as traduções eu realmente conheço e uso da BIOS, do Osmar é nova para mim hehehehe


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts