Guia do Linux/Iniciante+Intermediário/Hardware/Configuração de Hardware: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
m clean up, replaced: == 3.3 Configuração de Hardware == → == Configuração de Hardware == (6) utilizando AWB
Sabarth (discussão | contribs)
Sem resumo de edição
Linha 1:
== Configuração de Hardware ==
A configuração de hardware consiste em ajustar as opções de funcionamento dos dispositivos (periféricos) para comunicaçãoque se comuniquem com a placa mãe, bem como a configuração do software correspondente para fazerpropocrcionar acesso ao hardware. Um sistema bem configurado consiste em cada dispositivo funcionando com suas portas I/O, IRQ, DMA bem definidas, não existindo conflitos com outros dispositivos. Isto também permitirá a adição de novos dispositivos ao sistema sem problemas.
 
Dispositivos PCI, PCI Express, AMR, CNR possuem configuração automática de recursos de hardware, podendo apenas ser ligados na máquina para serem reconhecidos pela placa mãe. Após isso, deverá ser feita a configuração do módulo do kernel para que o hardware funcione corretamente.
 
Os parâmetros dos módulos do kernel, usados para configurar dispositivos de hardware, são a ''IRQ'', ''DMA'' e ''I/O''. Para dispositivos plug and play, como hardwares PCI, basta carregar o módulo para ter o hardware funcionando.
 
=== IRQ - Requisição de Interrupção ===
Existem dois tipos básicos de interrupções: as usadas por dispositivos (para a comunicação com a placa mãe) e programas (para obter a atenção do processador). As ''interrupções de software'' são mais usadas por programas, incluindo o sistema operacional, e as ''interrupções de hardware'' são mais usadousadas por periféricos. Daqui para frente, será explicado somente detalhes sobre as interrupções de hardware.
 
Os antigos computadores 8086/8088 (XT) usavam somente 8 interrupções de hardware, operando a 8 bits. Com o surgimento do AT, foram incluí­das 8 novas interrupções, operando a 16 bits. Os computadores 286 e superiores tem 16 interrupções de hardware, numeradas de 0 a 15. No kernel 2.4 e superiores do Linux, a função APIC (''Advanced Programmable Interruption Controller'') permite gerenciar de forma avançada mais de 15 interrupções no sistema operacional. Estas interrupções oferecem ao dispositivo associado a capacidade de interromper o que o processador estiver fazendo, pedindo atenção imediata.
 
As interrupções do sistema podem ser visualizadas no kernel com o comando cat /proc/interrupts. Abaixo um resumo do uso mais comum das 16 interrupções de hardware:
Linha 22:
Esta interrupção é usada como ponte para a IRQ 9 e vem dos
antigos processadores 8086/8088 que somente tinham 8 IRQs.
Assim, perapara tornar processadores 8088 e 80286 comunicáveis,
a IRQ 2 é usada como um redirecionador quando se utiliza uma
interrupção acima da 8.
|-
|'''03'''||Normalmente usado por /dev/ttyS1, mas seu uso depende dos
dispositivos instalados em seuno sistema (como fax-modem,
placas de rede 8 bits, etc).
|-
|'''04'''||Normalmente usado por /dev/ttyS0 e, quase sempre, usada pelo mouse
serial, a não ser que um mouse PS2 esteja instalado no sistema.
|-
|'''05'''||Normalmente a segunda porta paralela. Muitos micros não tem a segunda
porta paralela, assim é comum encontrarencontrarmos placas de som e outros
dispositivos usando esta IRQ.
|-
|'''06'''||Controlador de Disquete - Esta interrupção pode ser compartilhada
com placas aceleradoras de disquete, usadas em tapes (unidades de fita).
|-
|'''07'''||Primeira porta de impressora. Pessoas tiveram sucesso compartilhando
Linha 48:
|-
|'''09'''||Esta é uma ponte para IRQ2 e deve ser a última IRQ a ser
utilizada. No entanto, pode ser usada por dispositivos.
|-
|'''10'''||Interrupção normalmente livre para dispositivos. O controlador
Linha 69:
Dispositivos ISA, VESA, EISA, SCSI não permitem o compartilhamento de uma mesma IRQ, talvez isto ainda seja possí­vel caso não haja outras opções disponí­veis e/ou os dois dispositivos não acessem a IRQ ao mesmo tempo, mas isto é uma solução precária.
 
Conflitos de IRQ ocorriam nesse tipo de hardware acima, ocasionando a parada ou mal funcionamento de um dispositivo e/ou de todo o sistema. Para resolver um conflito de IRQs, deve-se conhecer quais IRQs estão sendo usadas e por quais dispositivos (usando cat /proc/interrupts) e configurar as interrupções de forma que uma não entre em conflito com outra. Isto normalmente é feito através dos jumpers de placas ou através de software (no caso de dispositivos jumperless ou plug-and-play).
 
Dispositivos PCI, PCI Express são projetados para permitir o compartilhamento de interrupções. Se for necessário usar uma interrupção normal, o chipset (ou BIOS) mapeará a interrupção para uma interrupção normal do sistema (normalmente usando alguma interrupção entre a IRQ 9 e IRQ 12) ou usando APIC (se estiver configurado).
 
==== Prioridade das Interrupções ====
Cada IRQ no sistema tem um número que identifica a prioridade que será atendida pelo processador. Nos antigos sistemas XT, as prioridades eram identificadas em sequência de acordo com as interrupções existentes:
{|{{prettytable}}
|'''IRQ'''||0||1||2||3||4||5||6||7||8
Linha 90:
 
=== DMA - Acesso Direto a Memória ===
A ''DMA'' é usada para permitir a transferência de dados entre dispositivos I/O e a memória sem precisar do processador fazefazê-lo. EleEla livra estadesta carga doo processador e resulta em uma rápida transferência de dados.
 
O PC padrão tem dois controladores de DMA. O primeiro controla os canais 0, 1, 2, 3 e o segundo os canais 4, 5, 6, 7, assim temos 8 canais. No entanto, o canal 4 é perdido porque é usado pelo ''controlador de acesso direto a memória''. Os canais 0-3 são chamados de canais baixos porque podem somente mover um byte (''8 bits'') por transferência enquanto canais altos movem 2 bytes (''16 bits'') por transferência.
 
Os dados movidos usando a DMA '''não''' são movidos através do controlador de DMA. Isto oferece uma limitação porque a DMA somente podempode mover dados entre os dispositivos (portas I/O) e a memória. Não é possí­vel mover dados entre as portas ou entre a memória.
 
Existem dois controladores de DMA nos computadores AT e superiores. Ao contrário do que acontece com os dois controladores de IRQ, o primeiro controlador é ligado ao segundo e não o segundo ao primeiro. Os canais de DMA altos (5 ao 7) somente podem ser acessados por dispositivos de 16 bits (aqueles que utilizam a segunda parte do slot AT). Como resultado temos 8 canais de DMA, de 0 a 7, sendo que a DMA 4 é usada como ligação entre eles.
 
Os canais de DMA em uso no sistema podem ser visualizados com cat /proc/dma. Abaixo uma listagem de usousos mais comumcomuns dos canais de DMA.
 
{|{{prettytable}}
Linha 128:
ou placa de rede.
|}
Somente dispositivos ISA e derivados deledeles, como o EISA e VESA, usam os canais de DMA padrão. Os atuais dispositivos de alta taxa de transferência (normalmente PCI) possuem seu próprio controlador de DMA embutido, muito mais rápido do que a DMA padrão. Este controlador de DMA é chamado de ''Bus Mastering'' e, muito usado nos discos rí­gidos atuais, e pode atingir taxas de 33,3MB/s (no modo 2) e 66MB/s (no modo 4 - requer um cabo IDE com aterramento para evitar interferências de ruí­dos externos).
 
==== Conflitos de DMA ====
Um canal de DMA não pode ser compartilhado entre dispositivos. Ainda é possí­vel configurar dois dispositivos para usarem um mesmo canal de DMA, desde que ele não seja usado ao mesmo tempo. Isto acontece com Scanners paralelos que compartilham a mesma porta paralela com a impressora. Se você for uma pessoa que explora os recursos de multitarefa de seu Linux e seu desempenho, evite estes tipos de dispositivos, prefira aqueles que utilizam seus próprios recursos.
 
Quando ocorre um conflito de DMA, os dados podem ser misturados e ocorrerem coisas estranhas até o travamento total do sistema. Este tipo de conflito é difí­cil de se diagnosticar, a não ser que o técnico seja experiente o bastante e tenha desconfiado dode que o problema se trata...
 
=== I/O - Porta de Entrada/Saí­da ===
Cada dispositivo possui um endereço de porta. O endereço é uma localização da memória, usada pelo computador para enviar dados ao dispositivo, e de onde o dispositivo envia dados ao computador. Ao contrários da IRQ e DMA, o dispositivo pode usar mais de uma porta de Entrada/Saí­da ou uma faixa de endereços. Por exemplo, uma placa de som padrão usa as portas 0x220, 0x330 e 0x388, respectivamente: audioáudio digital, midi e opl3.
 
As placas de rede normalmente transferem grandes quantidades de dados, assim ocupam uma faixa de endereços. Uma NE2000, por exemplo, ocupa a faixa de endereços 0x260 a 0x27F (0x260-0x27F). O tamanho da faixa de endereços varia de acordo com o tipo de dispositivo.
 
Os endereços de ''I/O'', em uso no sistema, podem ser visualizados com o comando cat /proc/ioports.
 
Endereços das portas de entrada/saí­da não podem ser compartilhados.
 
<noinclude>