proc

Cada sistema Linux tem um diretório /proc. Na realidade, este não é um sistema real de arquivos, por isso não existe um nome de dispositivo no primeiro campo na entrada /proc no arquivo /etc/fstab. Ao invés disso, é uma interface nas estruturas de dados do kernel que oferece informações sobre os processos que estão sendo executados.

É importante observar que o root (administrador de sistema) não trabalha diretamente com o diretório /proc.

Para visualiazar quais os processos que utilizam um determinado arquivo e/ou diretório, use o comando fuser.

São exemplos de arquivos armazenados neste diretório
/proc
  |-- cpuinfo
  |-- devices
  |-- filesystems
  |-- interrupts
  |-- meminfo
  |-- modules
  |-- mounts
  |-- pci
  |-- version

cpuinfo

Este arquivo possui as informações sobre o processador do sistema tais como modelo, capacidade, velocidade, fabricante, tamanho da cache, etc. Abaixo temos um exemplo deste arquivo para um Pentium-III 800.

processor :0
vendor_id :GenuineIntel
cpu family :6
model :8
model name :Pentium III (Coppermine)
stepping :6
cpu MHz :800.036
cache size :256 KB
fdiv_bug :no
hlt_bug :no
sep_bug :no
f00f_bug :no
coma_bug :no
fpu :yes
fpu_exception :yes
cpuid level :2
wp :yes
flags :fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr xmm
bogomips :1595.80

devices

Este arquivo possui a lista dos dispositivos E/S ativos no sistema.

Character devices:
1 mem
2 pty
3 ttyp
4 ttyS
5 cua
7 vcs
10 misc
14 sound
29 fb
36 netlink
128 ptm
36 pts

Block devices:
1 ramdisk
2 fd
3 ide0
9 md

filesystems

Este arquivo possui a lista dos sistemas de arquivos que o Linux suporta.

O exemplo abaixo mostra que o kernel suporta os sistemas de arquivos ext2, iso9660 e msdos. Isto significa que é possível montar um sistema de arquivos DOS ou Windows a partir do Linux (que tem sistema de arquivos ext2). Além disso, é também possível montar um CD-ROOM (o sistema de arquivos iso9660 é do tipo read-only).

          ext2
nodev proc
          iso9660
nodev devpts
          msdos

interrupts

Este arquivo possui uma lista com a contagem das interrupções processadas pelo sistema. Abaixo temos um exemplo deste arquivo onde temos o número da interrupção, a quantidade de interrupções detectadas pelo sistema e a descrição da interrupção.

 
CPU0
0:2171480XT-PIC timer
1:29000XT-PIC keyboard
2:0XT-PIC cascade
8:1XT-PIC rtc
9:0XT-PIC usb-uhci
11:55380XT-PIC eth0
12:277454XT-PIC PS/2 Mouse
13:1XT-PIC fpu
14:372350XT-PIC ide0
15:2XT-PIC ide1
NMI:0

meminfo

Este arquivo possui informações a respeito da memória do sistema.

 total:   used:  free:   shared:   buffers:  cached:  
Mem:12428902412096307233259520   863027254439936
Swap:65765376065765376
MemTotal: 121376 kB
MemFree: 3248 kB
MemShared:0 kB
Buffers: 8428 kB
Cached: 53164 kB
BigTotal: 0 kB
BigFree: 0 kB
SwapTotal:64224 kB
SwapFree: 64224 kB

modules

Este arquivo possui a lista dos módulos do kernel que estão carregados na memória.

Suponha o seguinte exemplo:

ModuleSizeUsedby
parport_pc56200(autoclean)
parport71240(autoclean) [parport_pc]
nfsd1490488(autoclean)
lockd308881(autoclean) [nfsd]
sunrpc525481(autoclean) [nfsd lockd]
aic7xxx1055845 

Temos as seguintes informações para cada módulo: nome, tamanho, contador de uso  e lista dos módulos que referenciam o módulo em questão.


mounts

Este arquivo possui a lista dos sistemas de arquivos montados (veja o comando mount).

O arquivo /proc/mounts normalmente possui mais informações, tais como opções de montagem usadas, do que o arquivo /etc/mtab. Embora estas informações não estejam necessariamente atualizadas.


pci

Este arquivo possui as informações sobre os dispositivos e capacidades do barramento PCI. Abaixo é mostrado um pequeno exemplo.

PCI devices found:
Bus 0, device 0, function 0:
Host bridge: VIA Technologies Unknown device (rev 1).
Vendor id=1106. Device id=605.
Medium devsel. Master Capable. No bursts.
Prefetchable 32 bit memory at 0xd8000000 [0xd8000008].
Bus 0, device 1, function 0:
PCI bridge: VIA Technologies Unknown device (rev 1).
Vendor id=1106. Device id=8605.
Medium devsel. Master Capable. No bursts. Min Gnt=12.
Bus 0, device 4, function 0:
ISA bridge: VIA Technologies Unknown device (rev 34).
Vendor id=1106. Device id=686.
Medium devsel. Master Capable. No bursts.

version

Este arquivo possui a versão, a data e a hora da compilação do kernel. Por exemplo,

Linux version 2.2.17-14cl ([email protected]) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 qui nov 2 00:24:54 EST 2000