Información sobre el hardware

Aparte de los directorios asociados a los diferentes procesos, /proc también contiene una miríada de información sobre el hardware presente en su máquina. Un listado de los archivos del directorio /proc da lo siguiente:

$ ls -d [a-z]*
apm      dma          interrupts  loadavg  mounts      rtc       swaps
bus/     fb           ioports     locks    mtrr        scsi/     sys/
cmdline  filesystems  kcore       meminfo  net/        self/     tty/
cpuinfo  fs/          kmsg        misc     partitions  slabinfo  uptime
devices  ide/         ksyms       modules  pci         stat      version
$

Por ejemplo, si observamos el contenido de /proc/interrupts, podemos ver la lista de las interrupciones que el sistema está usando en ese momento, junto con el periférico que las está ocupando. Similarmente, ioports contiene la lista de los rangos de direcciones de entrada/salida ocupados en ese momento, y finalmente, dma hace lo mismo para los canales DMA. Por lo tanto, si desea solucionar un conflicto, observe el contenido de estos tres archivos:

$ cat interrupts
         CPU0       
 0:   44326691          XT-PIC  timer
 1:     208243          XT-PIC  keyboard
 2:          0          XT-PIC  cascade
 4:          3          XT-PIC  serial
 8:          1          XT-PIC  rtc
11:    1829559          XT-PIC  usb-uhci, eth0, Texas Instruments PCI1225, Texas Instruments PCI1225 (#2), ESS Maestro 2E
12:    1937874          XT-PIC  PS/2 Mouse
14:    1517672          XT-PIC  ide0
NMI:          0 
LOC:          0 
ERR:          0
MIS:          0

$ cat ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
0378-037a : parport0
037b-037f : parport0
03c0-03df : vga+
03e8-03ef : serial(auto)
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0cf8-0cff : PCI conf1
2000-2fff : PCI Bus #01
2000-20ff : ATI Technologies Inc Rage Mobility P/M AGP 2x
3000-30ff : ESS Technology ES1978 Maestro 2E
3000-30ff : ESS Maestro 2E
3400-341f : Intel Corp. 82371AB PIIX4 USB
3400-341f : usb-uhci
3420-342f : Intel Corp. 82371AB PIIX4 IDE
3420-3427 : ide0
3430-3437 : Lucent Microelectronics LT WinModem
3440-347f : Intel Corp. 82557 [Ethernet Pro 100]
3440-347f : eepro100
4000-401f : Intel Corp. 82371AB PIIX4 ACPI
4400-44ff : PCI CardBus #02
4800-48ff : PCI CardBus #02
4c00-4cff : PCI CardBus #03
5000-503f : Intel Corp. 82371AB PIIX4 ACPI
5400-54ff : PCI CardBus #03

$ cat dma
4: cascade
$

O, más simplemente, use el comando lsdev el cual obtiene información de estos tres archivos y la ordena por periférico, lo cual es, indudablemente, más conveniente[28]:

$ lsdev
Device            DMA   IRQ  I/O Ports
------------------------------------------------
2E                       11 
ATI                            2000-20ff
cascade             4     2 
dma                          0080-008f
dma1                         0000-001f
dma2                         00c0-00df
eepro100                       3440-347f
ESS                          3000-30ff   3000-30ff
fpu                          00f0-00ff
ide0                     14  01f0-01f7 03f6-03f6   3420-3427
Intel                        3400-341f 3420-342f 3440-347f 4000-401f 5000-503f
keyboard                  1  0060-006f
Lucent                       3430-3437
Mouse                    12 
parport0                     0378-037a 037b-037f
PCI                          0cf8-0cff 2000-2fff 4400-44ff 4800-48ff 4c00-4cff 5400-54ff
pic1                         0020-003f
pic2                         00a0-00bf
rtc                       8  0070-007f
serial                    4  03e8-03ef 03f8-03ff
timer                     0  0040-005f
usb-uhci                       3400-341f
vga+                         03c0-03df
$

Una lista exhaustiva de los archivos presentes sería demasiado larga, sin embargo aquí tiene la descripción de algunos:



[28] lsdev es parte del paquete procinfo.