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.290 ]

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


O diretório /proc/



O sistema de arquivos em /proc é um sistema virtual de arquivos também chamado de pseudo filesystem, já que ele não se refere a arquivos reais existentes no disco, mas são apenas dados convenientes para representar através de um sistema de arquivos. Todos os arquivos no diretório /proc fornecem informações sobre os dispositivos instalados no seu computador, processos em execução, etc.

Exemplo, suponhamos que tenhamos ao efetuarmos um ps:

# ps
  PID TTY          TIME CMD
 4822 pts/1    00:00:00 bash
 4848 pts/1    00:00:00 ps

Como o PID do bash é 4822 então deve haver um arquivo correspondente a ele no sistema em /proc, como podemos ver na seguinte saída parcial do comando cat.

$ cat /proc/4822/status
Name:   bash
State:  S (sleeping)
SleepAVG:       98%
Tgid:   4822

O proc é usado também para acessar as estruturas de dados do kernel, desta forma a grande maioria é apenas um sistema de leitura, contudo algumas variáveis podem ser escritas, por exemplo para bloquearmos nossa máquina de recebermos pacotes ICMP pelo ping podemos echoar um zero na seguinte variável de configuração de nosso protocolo Ipv4.

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Podemos ter acesso a todos os sistemas de arquivos suportados pelo nosso kernel facilmente através do proc.

# cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc

Para visualizar as configurações do kernel atual:

# zcat /proc/config.gz

Este arquivo exibe para você as configurações do kernel atual, porém ele só estará disponível se você habilitar CONFIG_IKCONFIG_PROC quando você compilar o seu kernel.

Alguns subdiretórios do arquivo /proc:



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

Atualização do Firmware da BIOS do Dell Inspiron via Linux

Fingerprint-GUI (solução para leitores biométricos) no Ubuntu

Som multicanal (surround) no Linux

Hardware Lister (lshw) - Relatório simples de seu hardware

Como instalar um display LCD em seu servidor 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



/proc/partitions

partiçoes existentes no sistema

/proc/cpuinfo

informações sobre a CPU

/proc/meminfo

Informações sobre a memória

/proc/kcore

memória do seu computador

/proc/devices

dispositivos de bloco e caracter

/proc/version

versão do kernel

/proc/ioports

endereços E/S

/proc/dma

endereços dma para ISA

/proc/interrupts

interrupções

/proc/mounts

dispositivos montados

/proc/sys/net/ipv4

configurações do protocolo ipv4

/proc/sys/net/ipv6

configurações do protocolo ipv6

/proc/iomem

mapeamento da memória RAM

/proc/fb

modo de vídeo usado pelo framebuffer