<chapt id="hardw">Hardware
 <p>
Hardware é tudo que diz respeito a parte física do computador. Nesta 
seção serão abordados assuntos relacionados com a configuração de 
hardwares, escolha de bons hardwares, dispositivos for Windows, etc. 


<sect id="hardw-placas">Placa de expansão
 <p>
É um circuito eletrônico encaixado na placa mãe que tem por objetivo 
adicionar novas funcionalidades ao computador. Esta placa pode ser uma: 
<list>
 <item>
<tt>placa de som</tt> - para fazer o computador emitir sons, músicas, 
ligar um joystick, etc. 
 <item>
<tt>Placa de vídeo 3D</tt> - Para obter imagens mais rápidas para jogos
e ambientes de desktop 3 dimensões
 <item>
<tt>Placa de captura</tt> - Para assistir televisão/rádio e gravar 
a programação de TV em seu micro.
 <item>
<tt>fax-modem</tt> - para enviar/receber fax, conectar-se a internet, 
acesso remoto, bina, etc. 
 <item>
<tt>rede</tt> - para permitir a comunicação com outros computadores 
em uma rede interna
 <item>
<tt>controladora de periféricos</tt> - Para ligar discos rígidos, 
unidades de disquete, impressora, mouse, joystick, etc. 
 <item>
<tt>SCSI</tt> - Para ligar unidades de disco rígidos e periféricos de 
alto desempenho. 
 <item>
<tt>Controladora de Scanner</tt> - Para ligar um Scanner externo ao 
micro computador.
</list>
O encaixe da placa mãe que recebe as placas de expansão são chamados de 
<em>Slots</em>.


<sect id="hardw-nomesdisp">Nomes de dispositivos
 <p>
Seria terrível se ao configurar CADA programa que utilize o mouse 
ou o modem precisássemos nos se referir a ele pela IRQ, I/O, etc... 
para evitar isso são usados os <em>nomes de dispositivos</em>. 
 <p>
Os <em>nomes de dispositivos</em> no sistema <prgn>GNU/Linux</prgn> são 
acessados através do diretório <file>/dev</file>. Após configurar 
corretamente o modem, com sua porta I/O 0x2F8 e IRQ 3, ele é 
identificado automaticamente por <file>/dev/ttyS1</file> (equivalente 
a <file>COM2</file> no <prgn>DOS</prgn>). Daqui para frente basta se 
referir a <file>/dev/ttyS1</file> para fazer alguma coisa com o modem. 
 <p>
Você também pode fazer um link de <file>/dev/ttyS1</file> para um 
arquivo chamado <file>/dev/modem</file> usando: 
<tt>ln -s /dev/ttyS1 /dev/modem</tt>, faça a configuração dos 
seus programas usando <file>/dev/modem</file> ao invés de 
<file>/dev/ttyS1</file> e se precisar reconfigurar o seu modem e 
a porta serial mudar para <file>/dev/ttyS3</file>, será 
necessário somente apagar o link <file>/dev/modem</file> antigo e 
criar um novo apontando para a porta serial <file>/dev/ttyS3</file>. 
 <p>
Não será necessário reconfigurar os programas que usam o modem pois 
eles estão usando <file>/dev/modem</file> que está apontando para a 
localização correta. Isto é muito útil para um bom gerenciamento do 
sistema. 
 <p>
Abaixo uma tabela com o nome do dispositivo no <prgn>GNU/Linux</prgn>, 
portas I/O, IRQ, DMA e nome do dispositivo no <prgn>DOS</prgn> 
(os nomes de dispositivos estão localizados no diretório 
<file>/dev</file>): 
<example>
Dispos.   Dispos.
 Linux     DOS       IRQ     DMA     I/O

ttyS0      COM1       4       -      0x3F8
ttyS1      COM2       3       -      0x2F8
ttyS2      COM3       4       -      0x3E8
ttyS3      COM4       3       -      0x2E8
lp0        LPT1       7      3(ECP)  0x378
lp1        LPT2       5      3(ECP)  0x278
/dev/hda1  C:        14       -      0x1F0,0x3F6
/dev/hda2  D: *      14       -      0x1F0,0x3F6
/dev/hdb1  D: *      15       -      0x170,0x376
</example>
* A designação de letras de unidade do <prgn>DOS</prgn> não segue o 
padrão do <prgn>GNU/Linux</prgn> e depende da existência de outras unidades 
físicas/lógicas no computador. 


<sect id="hardw-cfg">Configuração de Hardware
 <p>
A configuração consiste em ajustar as opções de funcionamento dos 
dispositivos (periféricos) para comunicação com a placa mãe bem 
como a configuração do software correspondente para fazer 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. 
 <p>
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.
 <p>
Os parâmetros dos módulos do kernel usados para configurar dispositivos de 
hardware são a <em>IRQ</em>, <em>DMA</em> e <em>I/O</em>. Para dispositivos
plug and play, como hardwares PCI, basta carregar o módulo para ter o hardware
funcionando.


<sect1 id="hardw-cfg-irq">IRQ - Requisição de Interrupção
 <p>
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 <em>interrupções de software</em> são 
mais usadas por programas, incluindo o sistema operacional e 
<em>interrupções de hardware</em> mais usado por periféricos. 
Daqui para frente será explicado somente detalhes sobre 
interrupções de hardware. 
 <p>
Os antigos computadores 8086/8088 (XT) usavam somente <tt>8</tt> 
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 <tt>16</tt> interrupções de 
hardware numeradas de 0 a 15. No kernel 2.4 e superiores do Linux, 
a função APIC (<em>Advanced Programmable Interruption Controller</em>) 
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. 
 <p>
As interrupções do sistema podem ser visualizadas no kernel com o 
comando <tt>cat /proc/interrupts</tt>. Abaixo um resumo do uso mais 
comum das 16 interrupções de hardware: 
<example>
0     Timer do Sistema  - Fixa

01    Teclado - Fixa

02    Controlador de Interrupção Programável - Fixa. 
      Esta interrupção é usada como ponte para a IRQ 9 e vem dos 
      antigos processadores 8086/8088 que somente tinham 8 IRQs. 
      Assim, pera 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 seu 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 encontrar 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 
      esta porta de impressora com a segunda porta de impressora. 
      Muitas impressoras não usam IRQs. 

08    Relógio em tempo real do CMOS - Não pode ser usado por nenhum 
      outro dispositivo.

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
     USB utiliza essa interrupção quando presente, mas não é regra.

11   Interrupção livre para dispositivos

12   Interrupção normalmente livre para dispositivos. O mouse PS/2, 
     quando presente, utiliza esta interrupção. 

13   Processador de dados numéricos - Não pode ser usada ou compartilhada 

14  Esta interrupção é usada pela primeira controladora de discos 
    rígidos e não pode ser compartilhada. 

15  Esta é a interrupção usada pela segunda controladora de discos 
    e não pode ser compartilhada. Pode ser usada caso a segunda 
    controladora esteja desativada. 
</example>

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. 
 <p>
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 por quais dispositivos (usando <tt>cat /proc/interrupts</tt>) 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). 
 <p>
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).


<sect2>Prioridade das Interrupções
 <p>
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 seqüência de acordo com as interrupções existentes: 
<example>
IRQ 0 1 2 3 4 5 6 7 8 
PRI 1 2 3 4 5 6 7 8 9
</example>
Com o surgimento do barramento AT (16 bits), as interrupções passaram a 
ser identificadas da seguinte forma: 
<example>
IRQ 0  1  2  (9  10  11  12  13  14  15)  3  4  5  6  7  8 
PRI 1  2  3   4   5   6   7   8   9  10  11 12 13 14 15 16
</example>
Note que a prioridade segue em seqüência através da <tt>ponte</tt> 
da IRQ 2 para IRQ 9. Os dispositivos com prioridade mais baixa 
são atendidos primeiro, mas é uma diferença de desempenho 
praticamente imperceptível de ser notada nos sistemas atuais. 


<sect1 id="hardw-cfg-dma">DMA - Acesso Direto a Memória
 <p>
A <em>DMA</em> é usada para permitir a transferência de dados entre 
dispositivos I/O e a memória sem precisar do processador para fazê-lo. 
Ele livra esta carga do processador e resulta em uma rápida transferência 
de dados. 
 <p>
O PC padrão tem dois controladores de DMA. O primeiro controla os 
canais <tt>0, 1, 2, 3</tt> e o segundo os canais <tt>4, 5, 6, 7,</tt> 
assim temos <tt>8</tt> canais. No entanto, o canal <tt>4</tt> é perdido 
porque é usado pelo <em>controlador de acesso direto a memória</em>. Os 
canais 0-3 são chamados de canais baixos porque podem somente mover um 
byte (<em>8 bits</em>) por transferência enquanto canais altos movem 2 
bytes (<em>16 bits</em>) por transferência. 
 <p>
Os dados movidos usando a DMA <strong>não</strong> são movidos através 
do controlador de DMA. Isto oferece uma limitação porque a DMA somente 
podem 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. 
 <p>
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. 
 <p>
Os canais de DMA em uso no sistema podem ser visualizados com 
<tt>cat /proc/dma</tt>. Abaixo uma listagem de uso mais comum dos 
canais de DMA. 
<example>
DMA    Barram.    Uso
0        -        Usada pelo circuito de refresh da memória DRAM
1     8/16 bits   Normalmente usado por placas de som (canal 8 bits), 
                  porta paralela ECP, adaptadoras SCSI, placas de rede ou 
                  controladora de scanner. 
2     8/16 bits   Normalmente usado pela controladora de disquetes ou 
                  controladoras de tapes. 
3     8/6 bits    Usado pela porta paralela ECP, placa de som, 
                  controladoras de tapes, controladoras SCSI ou 
                  controladora de scanner antiga. 
4        -        Usada como ponte para a outra controladora de DMA (0-3)
5     16 bits     Normalmente usada pela placa de som (canal 16 bits), 
                  placas controladoras SCSI, placas de rede ou 
                  controladora de scanner. 
6     16 bits     Placa de som (canal 16 bits), controladora de scanner  
                  ou placa de rede. 
7     16 bits     Placa de som (canal 16 bits), controladora de scanner 
                  ou placa de rede. 

</example> 
Somente dispositivos ISA e derivados dele, 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 <em>Bus Mastering</em> 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). 


<sect2>Conflitos de DMA
 <p>
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. 
 <p>
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 do que o problema se trata... 


<sect1 id="hardw-cfg-io">I/O - Porta de Entrada/Saída
 <p>
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 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 <tt>audio digital</tt>, <tt>midi</tt> e <tt>opl3</tt>. 
 <p>
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. 
 <p>
Os endereços de <em>I/O</em> em uso no sistema podem ser visualizados 
com o comando <tt>cat /proc/ioports</tt>. 
 <p>
Endereços das portas de entrada/saída não podem ser compartilhados
 

<sect id="hardw-metodoscfg">Hardwares configuráveis por jumpers, 
dip-switches, jumperless e Plug-and-Play. 


<sect1 id="hardw-metodoscfg-jumpers">Jumpers
 <p>
Hardwares configuráveis por <em>jumpers</em> (pinos metálicos 
protegidos por uma capa plástica) tem sua configuração alterada 
através da colocação, retirada ou mudança de posição física do
pino. Este tipo de hardware, antigamente presente em placas ISA e VESA, não é 
mais usado atualmente devido a configuração Plug and Play de 
dispositivos PCI, PCI express, etc.
 <p>
As disposição dos jumpers são normalmente definidas em 
<em>fechado/aberto</em> e <em>multi-posição</em>. Na disposição 
<em>fechado/aberto</em>, o jumper pode ou não ser colocado, definindo 
a configuração do dispositivo:
<example>
::|::
</example>
Esta disposição é facilmente encontrada na seleção de IRQ e 
I/O em placas de fax-modem.
 <p>
Na disposição <em>multi-posição</em>, os pinos de encaixe são numerados 
de 1 a 3 (ou 1 a 4, 1 a 5, etc) e os pinos podem ou não ser colocados 
na placa e a posição que são colocados também influencia os valores 
escolhidos para o funcionamento do dispositivo (a posição 1-2 
especificam um valor enquanto 2-3 especificam outro). A associação 
entre a posição dos jumpers e a configuração desejada é feita 
consultando o mapa desenhado no circuito impresso da placa ou o 
manual de instruções da placa. 
 <p>
A configuração de jumper através de multi-posição é normalmente 
usada em placas mãe para definir a <em>freqüência de operação do 
barramento</em>, a <em>freqüência de multiplicação</em> ou o <em>tipo 
do processador</em>.
 <p>
Se não possuir o mapa de configuração de sua placa e/ou o manual 
de instruções, será necessário fazer um mapeamento manual da placa, 
mas para isto você precisará conhecer detalhadamente a configuração 
de portas I/O, DMA, IRQ usadas na máquina que será usada e anotar as 
diferenças obtidas através da modificação da pinagem do dispositivo. 
Isto não é fácil, mas técnicos de informática experientes conhecerão 
as <tt>armadilhas</tt> encontradas pelo mapeamento manual de placas e 
farão o esquema de configuração completo do dispositivo, obtendo 
um excelente manual de instruções. Nesta hora a experiência conta mais 
que o uso de programas de diagnóstico. 
 <p>
Outra característica de hardwares configurados através de jumpers 
é que raramente apresentam problemas de funcionamento, a não ser 
que seus parâmetros como IRQ, DMA, ou I/O estejam em conflitos com 
outro dispositivo, mas isso não é culpa do fabricante e nem mesmo 
do dispositivo...


<sect1 id="hardw-metodoscfg-dipswitche">Dip-Switches
 <p>
É a mesma coisa que os hardwares configuráveis por jumpers exceto 
que são usados <em>dip-switches</em> no lugar de jumpers. O 
<em>dip-switches</em> é um conjunto de chaves numeradas que podem 
ser colocadas para cima ou para baixo (como um disjuntor ou vários 
interruptores <em>LIGA/DESLIGA</em> colocados um ao lado do outro) 
para se modificar a configuração do dispositivo. 


<sect1 id="hardw-metodoscfg-jumperless">Jumperless (sem jumper)
 <p>
Os hardwares <em>jumperless</em> não possuem jumpers e são configurados 
através de um programa que acompanha a própria placa. Neste programa é 
escolhida a IRQ, DMA, I/O e a configuração é salva na própria placa 
ou restaurada após cada inicialização por um programa carregado na 
memória. Devido a configuração via software, se obtém uma configuração 
fixa com muito mais facilidade do que via jumpers (por não haver a 
necessidade de se retirar a placa). 
 <p>
A maioria das placas jumperless podem funcionar também como Plug-and-Play. 
Existem muitas placas de rede, fax-modem, scanner jumperless no mercado. 


<sect1 id="hardw-metodoscfg-plug-and-play">Plug-and-Play
 <p>
O <em>Plug-and-Play</em> é um protocolo que lê os valores de operação 
disponíveis para a placa e permitem que o usuário possa especificar 
facilmente qual será sua IRQ, DMA, I/O. Hardwares PCI possuem configuração
Plug-and-Play nativa, registrando suas interrupções, portas e dma na 
tabela de hardwares PCI do sistema. 
 <p>
A diferença em relação ao modo jumperless é que toda a configuração
do hardware (IRQ, DMA e I/O) é feita pelo kernel do <prgn>Linux</prgn>,
onde ele passa a configuração detectada durante a inicialização do 
sistema para os módulos carregados, garantindo o perfeito funcionamento
do dispositivos e evitando conflitos. Na época de hardwares ISA e VESA, o
programa <prgn>isapnp</prgn> era a preferencia para a configuração de 
placas ISA Plug and Play.
 <p>
Veja a próxima seção para entender como funciona o arquivo de 
configuração <file>isapnp.conf</file> e assim poder ativar seu 
dispositivo Plug-and-Play. 


<sect id="hardw-findhw">Listando as placas e outros hardwares em um computador
 <p>
Administradores e técnicos ao configurar uma máquina precisarão
saber quais os hardwares ela possui, periféricos e até mesmo a 
revisão de dispositivos e clock para configurar as coisas e 
ver a necessidade de atualizações de dispositivos atuais.
 <p>
Dispositivos PCI/AMR/CNR podem ser listados executando o comando
<tt>cat /proc/pci</tt>. Outra forma de listar tais dispositivos
é usando o <prgn>lspci</prgn>, se você precisa de mais detalhes
como o mapeamento de memória, use <tt>lspci -vv</tt>.
 <p>
O mapeamento de memória de dispositivos podem ser mostrados 
com o comando <tt>cat /proc/ioports</tt>, ou usando o 
comando <prgn>lsdev</prgn>. 
 <p>
O barramento USB e dispositivos conectados a ele podem ser 
listados com o comando <prgn>lsusb</prgn> ou com 
<tt>cat /proc/bus/usb/devices</tt>.
 <p>
Hardwares disponíveis na máquina, como placa mãe, clock 
multiplicador, discos, placas diversas, versões e números seriais 
de dispositivos podem ser mostrados através do comando
<prgn>lshw</prgn>. Use <tt>lshw -html</tt> para produzir a 
listagem em formato HTML, bem interessante para relatórios :-)


<sect id="hardw-conflitos">Conflitos de hardware
 <p>
Ocorre quando um ou mais dispositivos usam a mesma <em>IRQ</em>, 
<em>I/O</em> ou <em>DMA</em>. 
Um sistema com configurações de hardware em conflito tem seu 
funcionamento instável, travamentos constantes, mal funcionamento 
de um ou mais dispositivos e até mesmo, em casos mais graves, a perda 
de dados. Conflitos geralmente ocorriam em placas ISA, VESA onde era
necessário conhecer e usar uma tabela de valores padrões para a
configuração de periféricos (como a mostrada no inicio desse 
capítulo).
 <p>
Para resolver conflitos de hardware é necessário conhecer a 
configuração de cada dispositivo em seu sistema. Os comandos 
<tt>cat /proc/interrupts</tt>, <tt>cat /proc/dma</tt> e 
<tt>cat /proc/ioports</tt> podem ser úteis para se verificar as 
configurações usadas. 


<sect id="hard-barramento">Barramento
 <p>
O tipo de <em>slot</em> varia de acordo com o 
barramento usado no sistema, que pode ser um(s) do(s) seguinte(s): 
<taglist compact>
 <tag>ISA 8 Bits</tag>
 <item> 
<tt>Industry Standard Architecture</tt> - É o padrão mais antigo, 
encontrado em computadores PC/XT. 

 <tag>ISA 16 Bits</tag>
 <item>
Evolução do padrão ISA 8 Bits, possui um conector maior e permite a 
conexão de placas de 8 bits. Sua taxa de transferência chega a 
2MB/s. 

 <tag>VESA</tag>
 <item> 
<tt>Video Electronics Standard Association</tt> - É uma interface 
feita inicialmente para placas de vídeo rápidas. O barramento VESA 
é basicamente um ISA com um encaixe extra no final. Sua taxa de 
transferência pode chegar a 132MB/s. 

 <tag>EISA</tag>
 <item>
<tt>Enhanced Industry Standard Architecture</tt> - É um barramento 
mais encontrado em servidores. Tem a capacidade de bus mastering, 
que possibilita a comunicação das placas sem a interferência da CPU. 

 <tag>MCA</tag>
 <item>
<tt>Micro Channel Architecture</tt> - Barramento 32 bits proprietário 
da IBM. Você não pode usar placas ISA nele, possui a característica 
de bus mastering, mas pode procurar por dispositivos conectados a ele, 
procurando configuração automática. 
 <p>
Este barramento estava presente no PS/1 e PS/2, hoje não é mais usado. 

 <tag>PCI</tag>
 <item>
<tt>Peripheral Component Interconnect</tt> - É outro barramento rápido 
produzido pela Intel com a mesma velocidade que o VESA. O barramento 
possui um chipset de controle que faz a comunicação entre os slots PCI 
e o processador. O barramento se configura automaticamente (através do 
Plug-and-Play). O PCI é o barramento mais usado por Pentiums e está se 
tornando uma padrão no PC. 

 <tag>PCI Express</tag>
 <item>
<tt>Peripheral Component Interconnect Express</tt> - Identico ao barramento
PCI, funcionando nativamente no clock de 64 bits.


 <tag>AGP</tag>
 <item>
<tt>Accelerated Graphics Port</tt> - É um novo barramento criado 
exclusivamente para a ligação de placas de video. É um slot 
marrom (em sua maioria) que fica mais separado do ponto de 
fixação das placas no chassis (comparado ao PCI). Estas placas
permitem obter um desempenho elevado de vídeo se comparado as 
placas onboards com memória compartilhada e mesmo PCI externas. O 
consumo de potência em placas AGP x4 podem chegar até a 100W, 
portanto é importante dimensionar bem o sistema e ter certeza 
que a fonte de alimentação pode trabalhar com folga. 

 <tag>PCMCIA</tag>
 <item>
<tt>Personal Computer Memory Card International Association</tt> - É 
um slot especial usado para conexões de placas externas (normalmente 
revestivas de plástico) e chamadas de <em>cartões PCMCIA</em>. 
Estes cartões podem adicionar mais memória ao sistema, 
conter um fax-modem, placa de rede, disco rígido, etc. 
 <p>
Os cartões PCMCIA são divididos em 3 tipos: 
<taglist compact>
 <tag><tt>Tipo 1</tt></tag>
 <item>
Tem a espessura de 3.3 milímetros, e podem conter mais memória RAM ou 
memória Flash. 
 
 <tag><tt>Tipo 2</tt></tag>
 <item>
Tem a espessura de 5 milímetros e capacidade de operações I/O. É um 
tipo usado para placas de fax-modem, rede, som. Computadores que 
aceitam cartões PCMCIA do tipo 2, mantém a compatibilidade com o 
tipo 1. 

 <tag><tt>Tipo 3</tt></tag>
 <item>
Tem a espessura de 10.5 milímetros e normalmente usado para discos 
rígidos PCMCIA. Slots PCMCIA do tipo 3 mantém a compatibilidade com o 
tipo 2 e 1. 
</taglist>

 <tag>AMR</tag>
 <item>
<tt>Audio Modem Raise</tt> - Pequeno barramento criado pela Intel 
para a conexão de placas de som e modem. Placas de som e modem AMR usam 
o HSP (host signal processor) e são como as Placas on-board e todo o 
processamento é feito pela CPU do computador (veja detalhes em 
<ref id="hard-onoffboard"> e <ref id="hard-forwindows">. 
 <p>
Sua vantagem é o preço: um modem ou placa de som AMR custa em 
torno de R$ 25,00. 

 <tag>CNR</tag>
 <item>
<tt>Communication and Networking Rise</tt> - Pequeno barramento criado 
pela Intel para a conexão de placas de som, modens e placas de rede. Este 
é um pequenino slot marrom que é localizado no ponto de fixação das placas 
no chassis do gabinete. Elas são como as Placas on-board e todo o 
processamento é feito pela CPU do computador (veja detalhes em 
<ref id="hard-onoffboard"> e <ref id="hard-forwindows">. 

</taglist>


<sect id="hard-onoffboard">Placas on-board / off-board
 <p>
Placas <em>on-board</em> são embutidas na placa mãe (<em>motherboard</em>). 
Placas <em>off-board</em> são placas externas encaixadas nos slots de 
expansão da placa mãe. 
 <p>
No inicio da era do PC/XT todos as placas eram 
embutidas na placa mãe (na época eram somente a placa de vídeo e 
controladora). Com o surgimento do padrão AT, diversas empresas de 
informática desenvolveram dispositivos concorrentes e assim o usuário tinha 
a liberdade de escolha de qual dispositivo colocar em sua placa mãe 
(ou o mais barato ou o de melhor qualidade e desempenho), isto permitiu a 
adição de periféricos de qualidade sem romper com seu orçamento pessoal 
(comprando uma placa de som, depois uma de fax-modem, placa de vídeo 
melhor, etc). 
 <p>
Atualmente parece que voltamos ao ponto de partida e tudo vem 
embutido na placa mãe (<em>on-board</em>) e o usuário não tem 
como escolher qual dispositivo usar em seu computador. É muito difícil 
(praticamente impossível) encontrar uma placa mãe que satisfaça 
completamente as necessidades do usuário ou recomendações de um 
bom técnico de informática (a não ser que seja um técnico 
experiente e encontre alguma alternativa). 
 <p>
Certamente o único dispositivo que funciona melhor se 
embutido na placa mãe é a <em>placa controladora de periféricos</em>. Esta 
placa é usada para se conectar unidades de disquete, discos 
rígidos, CD-ROM, portas seriais, paralelas, joystick ao computador. Os 
HDs conectados em uma controladora embutida conseguem ter um 
desempenho muito maior do que em placas conectadas externamente, 
sem causar nenhum tipo de problema. 
 <p>
Hardwares embutidos na placa mãe (como fax-modem, vídeo, som) são em 
média 30% mais baratos que os vendidos separadamente mas quase sempre 
são usados dispositivos de baixo desempenho e qualidade para reduzir o 
preço da placa mãe e quase sempre usados hardwares <tt>For Windows</tt>. 
 <p>
Hoje em dia por causa do preço da placa mãe, é comum 
encontrar pessoas que verificam somente o preço e sequer procuram 
saber ou conhecem a qualidade das placas embutidas na placa mãe. Pior 
ainda é encontrar vendedores despreparados que sequer sabem explicar 
o porque que uma placa de som Sound Blaster 128 é mais cara que uma 
de modelo genérico...
 <p>
Geralmente dispositivos on-board trazem problemas caso tal dispositivo
queime e geralmente é colocado um hardware de baixa qualidade para 
baratear o custo de placas mãe, que na maioria das vezes também
oferece grande dificuldade para ser configurada no <prgn>Linux</prgn>.
 <p>
Outro periférico que traz problemas e carga para o processador é o 
fax-modem for Windows, HSP, AMR, micromodem, etc. utilizando o processador
do sistema para realizar seu trabalho e algumas vezes não trazem nem mesmo
o chip UART. Isso resulta em perda de qualidade na conexão e maior consumo
telefônico.
 <p>
Se você estiver em uma situação destas, certamente os computadores de 
menor potência e com hardwares inteligentes (que possuem seus próprios 
chips de controle e processamento) não terão o desempenho comprometido. 
O preço pode ser maior mas você estará pagando por um dispositivo de melhor 
qualidade e que certamente trará benefícios a você e ao seu sistema. 
 <p>
Consulte um técnico em informática experiente para te indicar uma 
placa mãe de bom preço e de qualidade. É muito comum encontrar 
falta de profissionalismo em pessoas que não sabem distinguir as 
características, funções e vantagens entre uma placa de boa qualidade 
e um hardware for Windows a não ser o preço mais barato. 


<sect id="hard-forwindows">Hardwares específicos ou "For Windows"
 <p>
Esta seção foi retirada do manual de instalação da Debian GNU/Linux. 
Uma tendência que perturba é a proliferação de Modens e impressoras 
específicos para Windows. Em muitos casos estes são especialmente 
fabricados para operar com o Sistema Operacional Microsoft Windows e 
costumam ter a legenda <tt>WinModem</tt>, <tt>for Windows</tt>, ou <tt>Feito 
especialmente para computadores baseados no Windows</tt>. 
 <p>
Geralmente estes dispositivos são feitos retirando os processadores 
embutidos daquele hardware e o trabalho deles são feitos por drivers 
do Windows que são executados pelo processador principal do computador. 
Esta estratégia torna o hardware menos caro, mas o que é poupado 
não é passado para o usuário e este hardware pode até mesmo ser mais 
caro quanto dispositivos equivalentes que possuem inteligência embutida. 
 <p>
Você deve evitar o hardware baseado no Windows por duas razões: 
<enumlist>
 <item>
O primeiro é que aqueles fabricantes não tornam os recursos 
disponíveis para criar um driver para Linux. Geralmente, o hardware e 
a interface de software para o dispositivo é proprietária, e a 
documentação não é disponível sem o acordo de não revelação, se ele 
estiver disponível. Isto impede seu uso como software livre, desde  
que os escritores de software grátis descubram o código fonte destes  
programas. 

 <item>
A segunda razão é que quando estes dispositivos tem os processadores 
embutidos removidos, o sistema operacional deve fazer o trabalho dos 
processadores embutidos, freqüentemente em prioridade de tempo real, e  
assim a CPU não esta disponível para executar programas enquanto ela 
esta controlando estes dispositivos. 
 <p>
Assim o usuário típico do Windows não obtém um multi-processamento tão 
intensivo como um usuário do Linux, o fabricante espera que aquele 
usuário do Windows simplesmente não note a carga de trabalho que este 
hardware põe naquela CPU. No entanto, qualquer sistema operacional de 
multi-processamento, até mesmo Windows 9X, XP e Vista, são prejudicados 
quando fabricantes de periféricos retiram o processador embutido de 
suas placas e colocam o processamento do hardware na CPU. 
</enumlist>
Você pode ajudar a reverter esta situação encorajando estes 
fabricantes a lançarem a documentação e outros recursos necessários 
para nós desenvolvermos drivers para estes hardwares, mas a melhor 
estratégia é simplesmente evitar estes tipos de hardwares até que 
ele esteja listado no HOWTO de hardwares compatíveis com Linux. 
<![ %OBS [
 <p>
Note que hoje já existem muitos drivers para WinModems e outros 
hardwares for Windows para o Linux. Veja a lista de hardwares 
compatíveis no HARDWARE-HOWTO ou procure o driver no site do 
fabricante de seu dispositivo. Mesmo assim a dica é evitar 
hardwares for Windows e comprar hardwares inteligentes onde 
cada um faz sua função sem carregar a CPU. ]]> 


<sect>Dispositivos específicos para GNU/Linux
 <p>
Esta seção foi retirada do manual de instalação da Debian GNU/Linux. 
Existem diversos vendedores, agora, que vendem sistemas com a 
<prgn>Debian</prgn> ou outra distribuição do GNU/Linux pré-instaladas. 
Você pode pagar mais para ter este privilégio, mas compra um nível de 
paz de mente, desde então você pode ter certeza que seu hardware é bem 
compatível com GNU/Linux. Praticamente todas as placas que possuem 
processadores próprios funcionam sem nenhum problema no Linux (algumas 
placas da <tt>Turtle Beach</tt> e <tt>mwave</tt> tem suporte de som 
limitado). 
 <p>
Se você tiver que comprar uma máquina com Windows instalado, leia 
cuidadosamente a licença que acompanha o Windows; você pode rejeitar 
a licença e obter um desconto de seu vendedor. 
 <p>
Se não estiver comprando um computador com <prgn>GNU/Linux</prgn> 
instalado, ou até mesmo um computador usado, é importante verificar 
se os hardwares existentes são suportados pelo kernel do 
<prgn>GNU/Linux</prgn>. Verifique se seu hardware é listado no 
<em>Hardware Compatibility HOWTO</em>, na documentação do código 
fonte do kernel no diretório <file>Documentation/sound</file> ou 
consulte um técnico de <prgn>GNU/Linux</prgn> experiente. 
 <p>
Deixe seu vendedor (se conhecer) saber que o que está comprando é 
para um sistema <prgn>GNU/Linux</prgn>. Desta forma isto servirá de 
experiência para que ele poderá recomendar o mesmo dispositivo a 
outras pessoas que procuram bons dispositivos para sistemas 
<prgn>GNU/Linux</prgn>. Apóie vendedores de hardwares amigos 
do <prgn>GNU/Linux</prgn>. 


<sect id="hardw-cfgdisp">Configurações de Dispositivos
 <p>
As seções abaixo explicam como fazer configurações em dispositivos diversos no
sistema <prgn>Linux</prgn> como placas de rede, som, gravador de CD entre outras. 


<sect1 id="hardw-cfgdisp-rede">Configurando uma placa de rede
 <p>
Para configurar sua placa de rede no <prgn>Linux</prgn> siga os passos
a seguir: 
<enumlist compact>
 <item>
Identifique se sua placa de rede é ISA ou PCI. Caso seja ISA, pode 
ser preciso alterar a configuração de jumpers ou plug-and-play, evitando 
conflitos de hardware ou o não funcionamento da placa (veja como 
configura-la em <ref id="hardw-metodoscfg">.

 <item>
Identifique a marca/modelo de sua placa. O programa <prgn>lshw</prgn> é 
útil para isto. Caso sua placa seja PCI ou CNR, execute o comando
<prgn>lspci</prgn> e veja a linha "Ethernet".
 <p>
Em último caso, abra a máquina e procure a marca na própria placa. Quase 
todos os fabricantes colocam a marca da placa no próprio circuito impresso
ou no CI principal da placa (normalmente é o maior).

 <item>
Depois de identificar a placa, será preciso carregar o módulo 
correspondente para ser usada no <prgn>Linux</prgn>. Em algumas
instalações padrões o suporte já pode estar embutido no kernel, 
neste caso, você poderá pular este passo.
 <p>
Para carregar um módulo, digite o comando <tt>modprobe modulo</tt>
<![ %INTERMEDIARIO [ (Veja <ref id="kern-modprobe">) ]]>. Em placas ISA, geralmente é 
preciso passar a IRQ e porta de I/O como argumentos para alocar os 
recursos corretamente. O <prgn>modprobe</prgn> tentará auto-detectar 
a configuração em placas ISA, mas ela poderá falhar por algum motivo. 
Por exemplo, para uma NE 2000: <tt>modprobe ne io=0x300 irq=10</tt>.
 <p>
Para evitar a digitação destes parâmetros toda vez que a máquina
for iniciada é recomendável coloca-lo no arquivo 
<file>/etc/modules.conf</file> da seguinte forma:
<example>
options ne io=0x300 irq=10

</example>
A partir de agora, você pode carregar o módulo de sua placa 
NE 2000 apenas com o comando <tt>modprobe ne</tt>. O parâmetro
<tt>io=0x300 irq=10</tt> será automaticamente adicionado.
<![ %DEBIAN [ 
Em sistemas <prgn>Debian</prgn>, o local correto para colocar
as opções de um módulo é em arquivos separados localizados 
dentro de <file>/etc/modutils</file>. Crie um arquivo chamado
<file>/etc/modutils/ne</file> e coloque a linha:
<example>
options ne io=0x300 irq=10

</example>
Depois disso, execute o comando <tt>update-modules</tt> para o 
sistema gerar um novo arquivo <file>/etc/modules.conf</file> com
todos os módulos de <file>/etc/modutils</file> e substituir o anterior.
]]>

 <item>
Após carregar o módulo de sua placa de rede, resta apenas
configurar seus parâmetros de rede para coloca-la em rede.
Veja <ref id="rede-interfaces-c">.

</enumlist>


<sect1 id="hardw-cfgdisp-som">Configurando uma placa de SOM no Linux
 <p>
A configuração de dispositivos de audio no Linux é simples, bastando
carregar o módulo da placa e ajustar o mixer. Atualmente existem 2 padrões 
de som no sistema Linux: OSS (Open Sound System) e ALSA (Advanced Linux 
Sound Architecture).
 <p>
O OSS foi o primeiro padrão adotado em sistemas <prgn>Linux</prgn>, que 
tinha como grande limitação a dificuldade em usar diversas placas e a impossibilidade
dos programas utilizaram ao mesmo tempo a placa de som. O ALSA é mais novo, suporta 
full duplex e outros recursos adicionais, além de manter a compatibilidade com OSS. 
O ALSA é um padrão mais moderno e garante mais performance para a CPU da máquina, 
principalmente para a exibição de vídeos, etc.


<sect2 id="hardw-cfgdisp-som-oss">Configurando uma placa de som usando o padrão OSS
 <p>
OSS é o presente por padrão desde que o suporte a som foi 
incluído no kernel. Para configurar uma placa de som para usar este 
sistema de som, primeiro compile seu kernel com o suporte ao módulo
de sua placa de som. Caso seja uma placa ISA, você provavelmente terá 
que habilitar a seção "Open Sound System" para ver as opções disponíveis
(entre elas, a Sound Blaster e compatíveis). Uma olhada na ajuda de 
cada módulo deve ajuda-lo a identificar quais placas cada opção do 
kernel suporta.
 <p>
Caso seu kernel seja o padrão de uma distribuição <prgn>Linux</prgn>, 
provavelmente terá o suporte a todas as placas de som possíveis. Siga
o passo a passo abaixo para configurar sua placa de som no sistema:
<enumlist compact>

 <item>
Primeiro descubra se sua placa de som é ISA. Caso seja, verifique 
se os seus recursos estão alocados corretamente (veja <ref id="hardw-conflitos">). 
Caso seja PCI, AMR, execute o comando <prgn>lspci</prgn>, procure 
pela linha "Multimedia" e veja o nome da placa. Você também poderá
executar o comando <prgn>lshw</prgn> para descobrir qual placa
você possui (veja <ref id="hardw-findhw">) para detalhes.

 <item>
Carregue o módulo da placa de som com o comando <tt>modprobe módulo</tt>
<![ %INTERMEDIARIO [ (veja <ref id="kern-modprobe">)]]>. 
Na <prgn>Debian</prgn>, você pode executar o comando <prgn>modconf</prgn>
para navegar visualmente entre os módulos disponíveis e carregar os 
módulos necessários. 
 <p>
Algumas placas (principalmente ISA) requerem que seja especificado o recurso 
de hardware sejam passados para seu módulo, ou simplesmente você quer 
especificar isto para manter o uso de hardware sobre seu controle. Alguns 
dos parâmetros mais usados em placas Sound Blaster são os seguintes: 
<example>
modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330

</example>
Para evitar ter que passar estes parâmetros todas as vezes para o módulo,
você poderá coloca-los no arquivo <file>/etc/modules.conf</file> da 
seguinte forma:
<example>
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330

</example>
Assim, quando der o comando <prgn>modprobe sb</prgn> ele será carregado
com as opções acima. <![ %DEBIAN [ Na distribuição <prgn>Debian</prgn>, você 
deverá criar um arquivo chamado <file>/etc/modutils/sb</file> contendo a 
linha acima, depois execute o <prgn>update-modules</prgn> para 
"juntar" todos os arquivos do <file>/etc/modutils</file> e criar o 
<file>/etc/modules.conf</file>. ]]>

 <item>
Após carregar o módulo correto de sua placa de som, seu sistema de 
som deverá estar funcionando. Se você utiliza uma distribuição 
<prgn>Linux</prgn>, os dispositivos de som como 
<file>/dev/audio</file>, <file>/dev/dsp</file>, <file>/dev/mixer</file>
estarão criados e então poderá passar para o próximo passo. Caso
não existam, entre no diretório <file>/dev</file> e execute o 
comando <tt>MAKEDEV audio</tt>. 

 <item>
O próximo passo consiste em instalar um programa para controle de volume, 
tonalidade e outros recursos de sua placa de som. O recomendado é o 
<prgn>aumix</prgn> por ser simples, pequeno e funcional, e permitindo 
restaurar os valores dos níveis de volumes na inicialização (isso 
evita que tenha que ajustar o volume toda vez que iniciar o sistema).
 <p>
Caso o <prgn>aumix</prgn> apareça na tela, sua placa de som já está 
funcionando! 
<![ %DEBIAN [ Caso acesse o sistema como usuário, não se esqueça 
de adicionar seu usuário ao grupo audio para ter permissão de usar
os dispositivos de som: <tt>adduser usuario audio</tt> ]]>. 
</enumlist>


<sect1 id="hardw-cfgdisp-cdwritter">Configurando um gravador de CD/DVD no Linux
 <p>
Caso seu gravador seja IDE, veja <ref id="hardw-cfgdisp-cdwritter-ide"> caso 
seja um autêntico gravador com barramento SCSI, vá até <ref id="hardw-cfgdisp-cdwritter-scsi">.


<sect2 id="hardw-cfgdisp-cdwritter-ide">Configurando o suporte a um gravador IDE
 <p>
Caso tenha um gravador IDE e use um kernel 2.6 ou superior, não é 
necessário fazer qualquer configuração, pois seu gravador já está 
pronto para ser usado, sendo acessado através de seu dispositivo 
tradicional (<file>/dev/hdc</file>, <file>/dev/hdd</file>, etc). De qualquer forma, 
você poderá realizar a configuração da unidade IDE com emulação SCSI, assim como 
utilizava no kernel 2.4 e inferiores seguindo as instruções abaixo.
 <p>
Para configurar seu gravador de CD/DVD IDE para ser usado no <prgn>Linux</prgn> usando o 
método para o kernel 2.4 e inferiores, siga os seguintes passos:
<enumlist compact>
 <item>
Tenha certeza que compilou o suporte as seguintes características no 
kernel:
<example>
Em "ATA/IDE/MFM/RLL support" marque as opções:
* Include IDE/ATAPI CDROM support
* SCSI emulation support

Depois em "SCSI support" marque as opções:
* SCSI support
M SCSI CD-ROM Support
M SCSI Generic Support

</example>
As opções marcadas como "*" serão embutidas no kernel e as "M" como módulos.
Note que ambas as opções "IDE/ATAPI CDROM" e "SCSI Emulation" foram 
marcadas como embutidas. Isto faz com que o driver ATAPI tenha prioridade
em cima do SCSI, mas vou explicar mais adiante como dizer para o 
kernel para carregar o suporte a SCSI para determinada unidade. Isto é 
útil quando temos mais de 1 unidade de CD IDE no sistema e queremos configurar 
somente o gravador para SCSI, pois alguns aplicativos antigos não se 
comunicam direito tanto com gravadores SCSI como emulados.
 <p>
Você também pode marcar somente a opção "SCSI Emulation" para que 
sua(s) unidade(s) seja(m) automaticamente emulada(s) como SCSI. 
Caso tenha usado esta técnica, vá até a seção 
<ref id="hardw-cfgdisp-cdwritter-teste">.

 <item>
O próximo passo é identificar o dispositivo de CD/DVD. Isto é 
feito através do comando <tt>dmesg</tt>. Supondo que sua unidade de 
CD é "hdc" (primeiro disco na segunda controladora IDE) e que 
compilou ambos o suporte a "IDE ATAPI" e "SCSI emulation" no kernel, 
adicione o argumento "hdc=ide-scsi" no <file>/etc/lilo.conf</file> ou 
no <prgn>grub</prgn>:
<example>
# Lilo
vmlinuz=/vmlinuz
append="hdc=ide-scsi"

</example>
</enumlist>
Isto diz para o kernel que a unidade "hdc" usará emulação "ide-scsi". 
Caso tenha outras unidades de CD no sistema, estas ainda utilização
ATAPI como protocolo de comunicação padrão. Execute o <prgn>lilo</prgn> 
para gerar novamente o setor de inicialização com as modificações e 
reinicie o computador. 
<![ %OBS [
 <p>
<strong>OBS: </strong> Cuidado ao colocar um disco rígido IDE como 
<file>hdc</file>! A linha <tt>hdc=ide-scsi</tt> deverá ser retirada, 
caso contrário, seu disco rígido não será detectado.
]]>
 <p>
Agora, siga até <ref id="hardw-cfgdisp-cdwritter-teste">.


<sect2 id="hardw-cfgdisp-cdwritter-scsi">Configurando o suporte a um gravador SCSI
 <p>
Caso tenha um autentico gravador SCSI, não será preciso fazer 
qualquer configuração de emulação, a unidade estará pronta 
para ser usada, desde que seu suporte esteja no kernel. As seguintes 
opções do kernel são necessárias para funcionamento de gravadores 
SCSI:
<example>
Depois em "SCSI support" marque as opções:
* SCSI support
M SCSI CD-ROM Support
M SCSI Generic Support

</example>
Além disso, deve ser adicionado o suporte EMBUTIDO no kernel a sua 
controladora SCSI. Se o seu disco rígido também é SCSI, e seu CD
está ligado na mesma controladora SCSI, ela já está funcionando e 
você poderá seguir para o passo <ref id="hardw-cfgdisp-cdwritter-teste">. 
Caso contrário carregue o suporte da sua placa adaptadora SCSI antes de 
seguir para este passo.


<sect2 id="hardw-cfgdisp-cdwritter-teste">Testando o funcionamento
 <p>
Para testar se o seu gravador, instale o pacote <package>wodim</package>
e execute o comando: <tt>wodim -scanbus</tt> para verificar se sua 
unidade de CD-ROM é detectada.
 <p>
Você deverá ver uma linha como:
<example>
scsibus0:
    0,0,0     0) 'CREATIVE' 'CD-RW RWXXXX   ' '1.00' Removable CD-ROM
    0,1,0     1) *
    0,2,0     2) *

</example>
O que significa que sua unidade foi reconhecida perfeitamente pelo 
sistema e já pode ser usada para gravação. <![ %INTERMEDIARIO [ Vá até a seção
<ref id="tasks-cdwriting"> para aprender como gravar CDs no <prgn>Linux</prgn>.]]>
Note que gravadores IDE nativos, não são listados com esse comando.


<sect1 id="hardw-cfgdisp-apm">Configurando o gerenciamento de energia usando o APM
 <p>
O APM (<em>Advanced Power Management</em> - <em>Gerenciamento Avançado 
de Energia</em>) permite que sistemas gerenciem características relacionadas
com o uso e consumo de energia do computador. Ele opera a nível de BIOS
e tenta reduzir o consumo de energia de várias formas quando o sistema
não estiver em uso (como reduzindo o clock da CPU, desligar o HD, desligar 
o monitor, etc.). 
 <p>
O uso de advanced power management também permite que computadores com 
fonte de alimentação ATX sejam desligados automaticamente quando 
você executa o comando <prgn>halt</prgn>. Caso sua máquina tenha suporte
a <em>ACPI</em>, este deverá ser usado como preferência ao invés do 
APM por ter recursos mais sofisticados  (veja <ref id="hardw-cfgdisp-acpi">).
 <p>
Para ativar o suporte a APM no <prgn>Linux</prgn>, compile seu kernel
com o suporte embutido a APM e também a "Advanced Power Management" 
(senão sua máquina não desligará sozinha no halt). Caso deseje 
compilar como módulo, basta depois carregar o módulo <file>apm</file>
adicionando no arquivo <file>/etc/modules</file>. Depois disso 
instale o daemon <prgn>apmd</prgn> para gerenciar as características
deste recurso no sistema.
 <p>
Você pode desativar o uso de APM de 3 formas: removendo seu suporte do
kernel, passando o argumento <tt>apm=off</tt> (quando compilado 
estaticamente no kernel) ou removendo o nome do módulo do arquivo
<file>/etc/modules</file> (quando compilado como módulo). Depois disso
remova o daemon <prgn>apmd</prgn>.


<sect1 id="hardw-cfgdisp-acpi">Configurando o gerenciamento de energia usando ACPI
 <p>
O ACPI (<em>Advanced Configuration and Power Interface</em> - <em>
Interface de Configuração e Gerenciamento de Energia Avançado</em>) é 
uma camada de gerenciamento de energia que opera a nível de sistema 
operacional. Apresenta os mesmos recursos que o APM, e outros como 
o desligamento da máquina por teclas especiais de teclado, controle 
de brilho e contraste de notebooks, suspend para RAM, suspend para 
disco, redução de velocidade de CPU manualmente, monitoramento de 
periféricos, temperatura, hardwares, etc.
 <p>
Desta forma, o ACPI varia de sistema para sistema em questões relacionadas
com suporte a recursos especiais, estes dados são armazenados em 
tabelas chamadas DSDT. O <prgn>Linux</prgn> inclui suporte a 
recursos ACPI genéricos entre placas mãe, recursos específicos devem
ser extraídos diretamente da BIOS e disassemblados manualmente 
para a construção de um kernel com suporte específico a tabela DSDT 
do hardware (não falarei das formas de se fazer disso aqui, somente do 
suporte genérico).
 <p>
Quanto mais nova a versão do kernel, maiores as chances do seu hardware 
ser suportado plenamente pelo ACPI, principalmente no caso de notebooks. 
Para compilar estaticamente, marque com <tt>Y</tt> a opção ACPI, depois
marque os módulos que você quer que ele monitore: <tt>button</tt> 
(botão power), <tt>fan</tt> (ventoinhas), etc. Se compilou como módulo, 
adicione o nome do módulo <tt>acpi</tt> no arquivo <file>/etc/modules</file>.
Não há problema em compilar também o suporte a APM, pois não causará problemas
com um kernel com ACPI também compilado.
 <p>
Caso não saiba quais módulos ACPI seu sistema aceita, marque o suporte 
a todos e carregue-os. Após isto, entre no diretório <file>/proc/acpi</file>
e de um <tt>ls</tt> entrando nos diretórios e vendo se existem arquivos
dentro deles. Remova o módulo correspondente daqueles que não tiver 
conteúdo. 
 <p>
Após isto, instale o daemon <prgn>acpid</prgn> e configure-o para monitorar
algumas características do seu sistema. Por padrão o <prgn>acpid</prgn> 
monitora o botão POWER, assim se você pressionar o power, seu sistema 
entrará automaticamente em run-level 0, fechando todos os processos e 
desligando sua máquina.
 <p>
O suporte a ACPI pode ser desativado de 3 formas: Removendo seu suporte do
kernel, passando o argumento <tt>acpi=off</tt> ao kernel (caso esteja
compilado estaticamente) ou removendo o módulo de <file>/etc/modules</file>
(caso tenha compilado como módulo. Após isto, remova o daemon 
<prgn>acpid</prgn> do seu sistema.


<sect1 id="hardw-cfgdisp-wol">Ativando WakeUP on Lan
 <p>
Algumas placas mãe ATX possuem suporte a este interessante recurso, que 
permite sua máquina ser ligada através de uma rede. Isto é feito enviando-se 
uma seqüência especial de pacotes diretamente para o MAC (endereço físico) da 
placa de rede usando um programa especial.
 <p>
Para usar este recurso, seu sistema deverá ter as seguintes características:
<list compact>
 <item>
Placa mãe ATX
 <item>
Fonte de alimentação ATX compatível com o padrão 2.0, com fornecimento de 
pelo menos 720ma de corrente na saída +3v.
 <item>
Placa de rede com suporte a WakeUP-on-Lan (WOL), você poderá confirmar isto 
vendo um conector branco de 3 terminais instalado na placa que é o local 
onde o cabo wake-up é conectado. 
 <item>
Suporte na BIOS também deverá ter a opção para WakeUP-on-Lan.
</list>
Com todos esses ítens existentes, instale em uma máquina da rede o 
pacote <package>etherwake</package>. Depois disso, pegue o MAC 
address a placa de rede da máquina que tem o wakeup on lan e na máquina
da rede onde instalou o pacote execute o seguinte comando:
<example>
ether-wake AA:BB:CC:DD:EE:FF

</example>
Onde <tt>AA:BB:CC:DD:EE:FF</tt> é o endereço MAC da placa de rede. A 
máquina deverá ligar e realizar o procedimento padrão de POST normalmente.
 <p>
Algumas das situações onde o WOL não funciona é quando sua rede é 
controlada por Switches (devido a natureza de funcionamento deste 
equipamentos) ou caso esteja atrás de um roteador que não faz proxy arp.


    <![ %AVANCADO [

<sect id="hard-aterram">Aterramento
 <p>
O aterramento correto da instalação elétrica é <em>essencial</em> para garantir a 
proteção de seu microcomputador (e outros aparelhos que requerem isto). 
Muitos usuários simplesmente removem o pino central da tomada de seu computador, 
ou ligam o terra junto ao neutro da rede elétrica, isto é errado e pode trazer 
sérias conseqüências. O computador possui componentes sensíveis que geram descargas 
estáticas durante seu funcionamento (fonte, discos, placas, etc), estas descargas e 
ruídos são absorvidas pelo sistema de aterramento (que é ligado no gabinete do 
computador e outros componentes internos). Sem aterramento o seu gabinete passará 
a dar choques elétricos (teste com uma chave de testes, ela acenderá indicando 
a circulação de corrente elétrica) e a corrente acumulada poderá queimar 
componentes internos sensíveis (placa mãe, HD, memórias, placas expansoras).
 <p>
A ligação do terra ao neutro da rede é menos perigosa em condições normais, mas 
se um raio cair na rede elétrica as conseqüências poderão ser piores. Mesmo 
a rede de iluminação pública tendo aterramento em cada poste isto pode não 
ser o suficiente para reduzir a carga de um raio que caia nas proximidades. 
 <p>
O sistema de aterramento residencial para PC deve ser feito com uma estaca 
de cobre com no mínimo 2 metros de altura. O cobre é um ótimo condutor de 
eletricidade, perdendo somente para a prata (veja <ref id="hard-aterram-condut">). 
Cave um buraco no solo com a ajuda de uma cavadeira (hehe, nunca ouviu falar 
nisso? :-), se estiver com dificuldades para cavar por causa de solo ressecado, 
molhe a terra para facilitar as coisas. Com a estaca enterrada, prenda um cabo 
elétrico em sua extremidade. 
 <p>
O ideal para testar este sistema de aterramento seria ter um equipamento 
chamado <tt>terrômetro</tt> (medidor de aterramento), mas utilizaremos 
2 alternativas mais acessíveis: 
<list compact>
 <item>Ligue uma lâmpada incandescente de 100W em um bocal com uma 
 ponta ligada na extremidade positiva da rede elétrica (fase) e a outra ponta 
 no fio da barra de cobre. O aterramento está bem feito quando a lâmpada 
 acender quase em sua potência total. Ligue o fio do aterramento no 
 pino central da tomada de seu computador. 
<![ %OBS [
 <p>
<strong>OBS:</strong> Cuidado para não tomar um baita choque durante esta operação 
em alguns casos pode ser fatal. Utilize sandalhas ou sapatos de borracha (materiais 
isolantes) isto evitará tomar o choque caso aconteça. ]]>
 
 <item>Ligue a outra extremidade do fio que vem da barra de cobre no 
 pino central da tomada de seu computador e ligue-o. Consiga um multímetro 
 (analógico ou digital) e coloque para medir em escala DC 10V. Coloque a ponta 
 negativa (preta) no <em>neutro</em> da rede elétrica e encoste a ponta positiva 
 (vermelha) no gabinete de seu computador. O aterramento estará aprovado caso o 
 valor medido seja de no máximo 2.5 volts. 
 
</list>
Caso algo ocorra errado, cheque novamente os passos acima. Se desconfiar das 
condições do solo, use uma barra maior ou ligue 2 barras de cobre juntas. 


<sect1 id="hard-aterram-condut">Condutores de eletricidade
 <p>
A tabela abaixo está classificada em ordem do material que possui melhor 
condução de eletricidade (elétrons com circulaçãos livres) baseada no 
fator mm2/m. (da mais condutora para a menos condutora). 
<enumlist compact>
 <item>Prata - 0,0164
 <item>Cobre - 0,0172
 <item>Ouro - 0,0230
 <item>Alumínio - 0,0283
 <item>Zinco - 0,0600
 <item>Platina - 0,0950
 <item>Ferro - 0,1200
 <item>Chumbo - 0,2100
 <item>mercúrio - 0,9680
</enumlist>


<sect id="hard-tomadas">Tomadas
 <p>
As tomadas elétricas de 127V ou 220V AC 60Hz de três pinos, pelas normas 
técnicas da ABNT, no. ABNT 6147 devem ficar distantes no máximo a 1,5 
metro dos equipamentos e com terceiro pino ligado à terra. É interessante 
que a tensão das tomadas esteja identificada nas mesmas, em caso de mais de 
uma voltagem fornecida no local, evitando a queima de equipamentos. 
 <p>
Segue abaixo um exemplo de tomada fêmea e a recomendação para sua montagem. 
Note que a entrada para o pino terra é voltado para cima, pois o caimento dos 
fios da maioria dos equipamentos fabricados estarão desta forma voltados para 
baixo.

<example>
               127v                              220v
           +-----------+                     +-----------+
 Terra  ---+----(_)    |           Terra  ---+----(_)    |
           |   _   _   |                     |   _   _   |
           | _| | | |_ |                     | _| | | |_ |
 Fase   ---+(_  | |  _)+--- Neutro   Fase ---+(_  | |  _)+--- Fase
           |  |_| |_|  |                     |  |_| |_|  |
           |     _     |                     |     _     |
           +-----------+                     +-----------+
</example>								  
Como comentando anteriormente, não utilize como ponto de terra os 
sistemas de aterramento das companhias de eletricidade, telefonia, ar 
condicionado e sistema de pára-raios.


<sect id="hard-descestat">Descargas estáticas
 <p>
É a energia que se acumula durante o choque das moléculas de ar seco ou 
atrito com outros objetos. Pode acontecer de em dias secos você tomar 
um "choque" ao abrir seu carro ou tocar em algum objeto metálico, 
isto é uma descarga estática. Na realidade você não tomou um choque, 
ao tocar em um objeto metálico esta energia é descarregada violentamente. 
Esta energia pode chegar na ordem de 5 mil volts quando acumulada 
(assustador não?). 
 <p>
É por este motivo que caminhões que transportam combustível <tt>arrastam</tt> 
uma corrente no chão, esta corrente funciona como um aterramento 
(veja <ref id="hard-aterram">) eliminando descargas estáticas que possam gerar 
faíscas e causar um desastre. Pulseiras, cordões, objetos metálicos podem ser 
usados para eliminar descargas estáticas de pessoas. O contato freqüente com o 
solo é um método muito útil. Existem casos em que um colar salvou a vida 
de pessoas atingidas por raio, justamente pelas explicações acima. O 
colar derrete com a drenagem da eletricidade do raio mas a pessoa tem mais 
chances de sair viva. 
 <p>
Em indivíduos realmente sensíveis, uma chapinha de metal pode ser colocada no 
sapato fazendo contato com o calcanhar drenando constantemente estas descargas, 
isto é eficaz e bem melhor que sair arrastando correntes por ai :-)
 <p>
Se você trabalha com hardwares ou é apenas mais um fuçador de PCs, agora você 
entenderá porque é recomendável sempre tocar em partes metálicas do computador 
antes de mexer em qualquer placa e porque aquele seu amigo disse que a placa 
dele queimou depois que resolveu limpar seus contatos. 


<sect id="hard-perf">Melhoria de performance

<sect1 id="hard-perf-part">Particionamento
 <p>
Para um melhor desempenho, os dados que são solicitados constantemente deverão 
ser armazenados em uma partição no inicio do disco rígido. Esta área é a mais 
rápida e checa a ser 60% mais rápida que o final do HD (em alguns modelos). 
Em especial, a partição de boot, swap e binários do sistema poderão ser 
armazenados nesta partição para aumentar a velocidade da carga de programas 
e não prejudicar a performance do sistema quando o uso da partição de 
troca (swap) for necessária. 
 <p>
Em discos rígidos grandes (6GB ou maiores) é recomendável criar no mínimo 
uma partição pequena para <file>/boot</file>, outra para <file>/</file>, 
outra para <tt>swap</tt> e outra para <file>/usr</file>. Ficando distribuídas 
da seguinte maneira no disco rígido:
<example>
BBRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRR
SSSSSSSSSSUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUU

B - /boot
R - Raíz /
S - Swap
U - /usr

</example>
Mas a swap não ficaria ainda mais rápida sendo a primeira partição no disco? 
Sim e não: Realmente fica rápida (na teoria conforme explicado acima), mas levando 
em consideração que o deslocamento das cabeças de leitura/gravação do disco 
rígido leva certo tempo, é mais vantajoso mantê-la entre as 2 partições mais 
acessadas, isto diminui o tempo de acesso caso um programa esteja fazendo 
uso constante de <file>/</file> ou <file>/usr</file> e precisar trocar dados 
na partição <tt>swap</tt>. 
 <p>
Além do mais, a partição <file>/</file> geralmente é pequena (no máximo 800M) 
deixando a swap em uma área muito próxima do inicio do disco rígido. Com 
base nisto, você poderá ter uma melhor visão técnica para a construção 
de suas partições dependendo da função do sistema. 


<sect1 id="hard-perf-spindles">Spindles
 <p>
Em sistemas que utilizam um disco rígido dedicado para fazer <tt>swap</tt>, 
a ligação deste em uma placa controladora independente aumentará bastante 
a performance do sistema, pois enquanto o disco principal ligado em sua 
controladora estiver fazendo uma operação de leitura, o outro poderá 
estar fazendo sua operação de swap simultaneamente. O mesmo não acontece 
quando dois discos rígidos IDE estão ligados no mesmo cabo (isto não 
acontece no SCSI). 


<sect1 id="hard-perf-hdparm">Fazendo ajustes finos de performance do disco
 <p>
O <prgn>hdparm</prgn> é um programa que permite modificar características 
diversas da unidade de disco rígido e de CD como modo de transferência de 
dados, leitura adiante, dma, cache, leitura simultânea de setores, hibernação, 
etc.
 <p>
Por padrão as transferências de dados entre a controladora do HD (a plaquinha 
que fica embaixo dele) e a controladora de periféricos é feita em 16 bits. 
Para exibir a configuração atual do disco rígido <file>/dev/hda</file> 
(por exemplo), digite o seguinte comando: <tt>hdparm /dev/hda</tt>
<example>
/dev/hdb:
 multcount    =  0 (off)
 I/O support  =  0 (16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (off)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)

</example>
Imediatamente podemos modificar os seguintes campos para melhorar sensivelmente o 
desempenho do disco rígido:
<taglist compact>
 <tag>multcount</tag> 
  <item>
Pode ser modificada com <em>-m[num]</em> e especifica o número máximo de setores 
que serão acessados de uma só vez na operação de leitura da unidade. O valor 
máximo recomendado é igual a capacidade máxima suportada pelo seu disco 
rígido, que pode ser obtida com o comando: <tt>hdparm -i /dev/hda</tt>
<example>
 Model=TS6324A2, FwRev=.340    , SerialNo=A99B99JA
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=13228/15/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=256kB, MaxMultSect=16, MultSect=16
 CurCHS=13228/15/63, CurSects=12500460, LBA=yes, LBAsects=12500460
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes: pio0 pio1 pio2 pio3 pio4 
 DMA modes: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5
 
</example>
O campo <em>MaxMultSect=16</em> indica o valor de 16 como máximo suportado 
em uma única operação pela unidade. Valores maiores poderão ser especificados
mas não trarão ganho de performance. Para discos rígidos <em>Western 
Digital</em> é recomendável deixar este valor como <tt>0</tt>, porque eles 
possuem um mecanismo embutido para leitura de setores. Para experimentar 
valores fora dos padrões, coloque seu sistema de arquivos como somente 
leitura para não perder dados caso algo saia errado. 
 <p>
Note que o comando <tt>hdparm -i</tt> mostra alguns detalhes interessantes sobre 
a configuração do disco rígido e modos de operação suportados. 

 <tag>I/O support</tag>
  <item>
Modificado com <em>-c[num]</em>. O número especificado pode ser <tt>0</tt> 
para transferência de dados em 16 bits, <tt>1</tt> para 32 bits e <tt>3</tt> 
para 32 bits com uma seqüencia especial de sincronismo (alguns chips requerem 
esta ao invés da <tt>1</tt>). 

 <tag>using_dma</tag>
  <item>
Modificado com <em>-d[num]</em>. Habilita ou não o uso de DMA para a transferência 
de dados do HD, ativando o controle de algumas operações pelo chipset livrando a 
CPU para processamento. <tt>0</tt> desativa DMA e <tt>1</tt> ativa. Note que 
nem todos os chipsets aceitam esta operação. Esta usada em conjunto com a 
opção <tt>-X</tt> oferece um excelente ganho de performance pelo uso correto
de sua controladora.
 <p>
A ativação de dma também pode ser feita automaticamente na recompilação do 
kernel ou especificando o parâmetro <em>ideX=dma</em> (<tt>X</tt> é o número 
da controladora IDE) na linha de comando de <tt>boot:</tt> ou no arquivo 
<file>/etc/lilo.conf</file>. 

 <tag>xfermode</tag>
  <item>
Modificado pela opção <em>-X[num]</em>. Permite selecionar o melhor modo 
de transferência de dados do seu disco rígido, é nesta parte onde você 
seleciona o modo UltraDMA para transferência de dados, caso seu HD/CD-ROM
suporte. Os seguintes valores são válidos:
<example>
32 - PIO Mode 0
33 - PIO Mode 1
34 - PIO Mode 2
35 - PIO Mode 3
36 - PIO Mode 4
64 - Ultra DMA Mode 0
65 - Ultra DMA Mode 1
66 - Ultra DMA Mode 2
67 - Ultra DMA Mode 3
68 - Ultra DMA Mode 4
69 - Ultra DMA Mode 5
70 - Ultra DMA Mode 6

</example>
Para descobrir os modos PIO e UltraDMA do seu HD, utilize o comando
<tt>hdparm -I /dev/hd?</tt>. NÃO UTILIZE UM MODO PIO/ULTRA DMA NÃO
SUPORTADO PELA SUA CONTROLADORA. CASO SUA PLACA CONTROLADORA DO HD 
SUPORTE UM MODO ALTO PIO/ULTRADMA MAS SUA CONTROLADORA IDE NÃO SUPORTA,
VOCÊ DEVERÁ UTILIZAR O VALOR MAIS ADEQUADO PARA AMBAS. FAÇA TESTES SEMPRE 
QUE ALTERAR O MODO DE FUNCIONAMENTO E ESTEJA ATENTO A MENSAGENS DE 
ERROS PARA QUE NÃO TENHA PERDA DE DADOS!!!	

 <tag>unmaskirq</tag>
  <item>
Modificado com <em>-u[num]</em>. Habilita ou não o controlador de disco mascarar 
as interrupções de processador durante o processamento das interrupções de 
disco. <tt>0</tt> desativa esta função e <tt>1</tt> ativa. Use esta opção 
com cuidado e sob seu próprio risco: algumas placas controladores de HD e 
controladoras de periféricos não trabalham bem com a taxa de transferência 
aumentada, podem ocorrer perda de dados. Coloque o sistema de arquivos 
como somente leitura antes de testar esta característica. 

 <tag>readonly</tag>
  <item>
Modificado com <em>-r[num]</em>. Coloca o disco em modo somente leitura. 
A montagem da partição com a opção <em>ro</em> no <file>/etc/fstab</file> 
é preferida. 

 <tag>readahead</tag>
  <item>
Modificado com <em>-a[num]</em>. Configura o número de blocos que serão lidos 
antecipadamente no sistema de arquivos (por padrão é usado 8 blocos -  4 Kb). 
Este número poderá ser modificado para se adequar a utilização do computador. 
Em sistemas com muita procura de arquivos pequenos (servidores web), um 
valor pequeno (como o padrão) é recomendável. Se a máquina é um servidor de 
arquivos dedicado, um valor maior trará maiores benefícios.  
  
</taglist>
Veja mais detalhes sobre o comando <prgn>hdparm</prgn> em sua página de manual. 
Depois de selecionado o melhor valor de performance, você deverá salvar 
em um arquivo que será lido na inicialização para ativação destes valores. 
Para fazer teste de performance de leitura bruta utilize o comando 
<tt>hdparm -t /dev/hd?</tt>, para fazer testes com o uso de cache, use
o comando <tt>hdparm -T /dev/hd?</tt>.

<![ %OBS [ 
 <p>
<strong>OBS:</strong> Se o <prgn>Linux</prgn> resetar o disco rígido, a 
maioria das configurações retornarão ao seu valor padrão. Isto ocorre 
devido a opções mau utilizadas no <prgn>hdparm</prgn>, não suportadas 
pelo disco rígido ou por problemas no HD/controladora. ]]>
<example>
Exemplos:

# Ajusta o número de setores simultâneos para 16 e o modo de transferência para 
# 32 bits no disco rígido /dev/hda
hdparm -c1 -m16 /dev/hda

# Programa a leitura adiante do HD para 64 blocos (32Kb), o modo de transferência 
# para 32 bits, usar DMA, e 16 setores simultâneos.
hdparm -c1 -d1 -m16 -a64 /dev/hda

#Mostra os valores de configuração atuais do disco rígido
hdparm /dev/hda

</example>


<sect1 id="hard-perf-atime">Data de acesso a arquivos/diretórios
 <p>
Toda vez que acessamos um arquivo ou diretório da máquina <prgn>Linux</prgn> a 
data/hora é atualizada. Em máquinas normais isto é OK mas em servidores onde o 
acesso a arquivos é constante (como no diretório <file>/var/spool</file> em 
servidores de e-mail ou <file>/usr/</file> em servidores diskless) é recomendável 
desativar esta característica. Isto reduzirá a quantidade de buscas das cabeças do 
disco rígido para a atualização deste atributo e conseqüentemente aumentará a 
performance na gravação de arquivos (o disco rígido usa o sistema mecânico para 
ler/gravar dados, muito mais lento que a memória RAM eletrônica). 
<example>
chattr -R +A /var/spool

</example>
O atributo <tt>+A</tt> desativa a gravação da "data de acesso" dos arquivos 
e sub-diretórios dentro de <file>/var/spool</file>. Para desativar a 
atualização da "data de acesso" para toda a partição, você pode incluir a 
opção de montagem <tt>noatime</tt> no seu <file>/etc/fstab</file>:
<example>
/dev/hda1     /var/spool    ext2   defaults,noatime   0   1

</example>

<![ %OBS [
 <p>
<strong>OBS:</strong> O <prgn>Linux</prgn> utiliza três atributos de data 
para controle de arquivos: 
<list compact>
 <item><tt>atime</tt> - Data/Hora de acesso: é atualizado toda vez que o 
 arquivo é lido ou executado. 
 <item><tt>mtime</tt> - Data/Hora da modificação, atualizado sempre que 
 alguma modificação ocorre no arquivo ou no conteúdo do diretório. Esta é 
 mais interessante que a <tt>ctime</tt> principalmente quando temos 
 hardlinks. 
 <item><tt>ctime</tt> - Data/Hora da última modificação do inodo do arquivo. 
</list> 
Em partições onde a gravação é freqüente (como na própria 
<file>/var/spool</file>) a desativação do atributo <tt>atime</tt> 
além de melhorar o desempenho do disco, não fará muita falta. ]]>


<sect id="hard-perf-SATA">Periféricos SATA
 <p> 
Hardwares SATA (Serial ATA) representam a próxima geração em tecnologia usada
para a transferência de dados em alta velocidade a baixo custo. Hoje está se tornando
o padrão de indústria a utilização de dispositivos SATA em micros em substituição
a dispositivos IDE. Dispositivos IDE tradicionais são chamados de PATA (parallel
ATA, ou ATA paralelo).
 <p>
Estes dispositivos são classificados em 2 tipos:
<list compact>
 <item>
<tt>SATA I</tt> - Esta se tornando alternativa a discos IDE (PATA). Possui taxa de 
transferência de até 150Mb/s

 <item>
<tt>SATA II</tt> - Esta se tornando alternativa a discos IDE (PATA). Possui taxa 
de transferência de até 300Mb/s

</list>
Um cabo SATA tende a ter o mesmo comprimento de um cabo IDE, raramente excedendo
50 centimetros. 


<sect id="hard-perf-SCSI">Periféricos SCSI
 <p>
Hardwares SCSI (Small Computer System Interfaces) representam a 
tecnologia ideal para a transferência de dados em alta velocidade e ligação de vários 
periféricos. A taxa de transferência especificada para dispositivos SCSI é sempre a 
padrão se comparada a dispositivos IDE (quando uma taxa de 66Mb/s quase nunca é atingida). 
 <p>
Estes dispositivos são classificados em 3 categorias:
<list compact>
 <item>
<tt>SCSI I</tt> - Usa um cabo de 25 condutores para a ligação de periféricos. 
Normalmente usado em scanners, impressoras e outros dispositivos. A taxa de 
transferência não é muito alta se comparado aos outros tipos SCSI. 

 <item>
<tt>SCSI II</tt> - Também chamado de <em>Fast SCSI</em>. Usa um cabo de 50 
condutores para a ligação de periféricos. Permite que sejam ligados até 7 
periféricos em uma mesma controladora (veja <ref id="hard-perf-SCSI-IDcfg">). 
É o mais comum encontrado hoje em dia, mas vem perdendo espaço aos poucos 
para a tecnologia <tt>SCSI III</tt>. 

 <item>
<tt>SCSI III</tt> - Também chamado de <em>Fast SCSI SE</em> ou <em>LVD</em>. Usa 
um cabo de 68 condutores para ligação de periféricos 
(veja <ref id="hard-perf-SCSI-IDcfg">). Permite que sejam ligados 
até 16 periféricos em uma mesma controladora. 

 <item>
<tt>SATA I</tt> - Esta se tornando alternativa a discos IDE (PATA). Possui taxa de 
transferência de até 150Mb/s

 <item>
<tt>SATA II</tt> - Esta se tornando alternativa a discos IDE (PATA). Possui taxa 
de transferência de até 300Mb/s

</list>
Um cabo SCSI pode ter o comprimento de até 5 metros de extensão. 
Os periféricos SCSI são identificados através de números chamados de identificador 
SCSI ou SCSI ID. Estes números vão de 0 a 6 para o padrão <em>SCSI 2</em> e de 0 a 15 
para o padrão <em>SCSI 3</em>. 
 <p>
Placas SCSI como a <em>Adaptec UV 19160</em> permitem a ligação de periféricos 
SCSI 2 e SCSI 3 na mesma placa com a taxa de transmissão de 160 MB/s 
por periférico, além de possuir um "setup" próprio para configurar as opções 
dos dispositivos da placa e a operação da própria. A tecnologia SCSI é algo 
realmente rápido para a transferência de dados e cara também, seu uso é 
muito recomendado em servidores críticos. Os próprios dispositivos SCSI como 
discos rígidos, gravadores de CD, cd-rom, etc. são construídos 
de tal forma que tem a durabilidade maior que periféricos comuns, garantindo 
a máxima confiança para operação/armazenamento de dados em longos 
períodos de operação. 


<sect1 id="hard-perf-SCSI-IDcfg">Configurando uma SCSI ID e terminação
 <p>
Uma SCSI ID é configurada independentemente por dispositivo e consiste em 
3 jumpers (ou dip switches) que possuem os valores <tt>1</tt>, <tt>2</tt> e 
<tt>4</tt>. Veja o exemplo abaixo de uma unidade de CD SCSI 2: 
<example>
+--------------------------------------------
|
|
|
|SCSI ID
|   |
| _____ TERM
| | | | |
| o o o o o o 
| o o o o o o
| 1 2 4 T
|
+---------------------------------------------

</example>
Se você deixar os 3 jumpers da SCSI ID abertos, o dispositivo usará a 
SCSI ID 0. Colocando o jumper na posição 1, a unidade terá a SCSI ID 1. 
Se você colocar um jumper na posição 1 e outro na 4, a unidade será 
identificada pela SCSI ID 5 (quando mais de um jumper é ligado, os números 
serão somados). 
 <p>
A terminação SCSI funciona de forma semelhante a de uma rede BNC, o último 
periférico do cabo SCSI deve ter o jumper de terminação colocado para 
indicar que é o último periférico do cabo e evitar deflexão de dados. Algumas 
placas SCSI modernas ajustam automaticamente a terminação de periféricos sem 
necessidade de ajustar manualmente. 

    ]]>
