2. 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         devices      interrupts  loadavg  partitions  sysrq-trigger
asound/     diskstats    iomem       locks    pci         sysvipc/
bluetooth/  dma          ioports     mdstat   scsi/       tty/
buddyinfo   driver/      irq/        meminfo  self@       uptime
bus/        execdomains  kallsyms    misc     slabinfo    version
cmdline     fb           kcore       modules  splash      vmstat
cpufreq     filesystems  keys        mounts@  stat
cpuinfo     fs/          key-users   mtrr     swaps
crypto      ide/         kmsg        net/     sys/

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:   73751906    IO-APIC-edge  timer
  2:          0          XT-PIC  cascade
  3:      44301    IO-APIC-edge  NVidia CK8
  9:     115618    IO-APIC-edge  ohci_hcd
 10:    7758240    IO-APIC-edge  ohci_hcd, eth0
 11:     218753    IO-APIC-edge  libata, ehci_hcd
 12:    1153980    IO-APIC-edge  i8042
 15:       3419    IO-APIC-edge  ide1
NMI:          0 
LOC:   73749577 
ERR:          0
MIS:          0

$ cat ioports 
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vesafb
03f8-03ff : serial
0970-0977 : 0000:00:0b.0
  0970-0977 : sata_nv
09f0-09f7 : 0000:00:0b.0
  09f0-09f7 : sata_nv
0b70-0b73 : 0000:00:0b.0
  0b70-0b73 : sata_nv
0bf0-0bf3 : 0000:00:0b.0
  0bf0-0bf3 : sata_nv
0cf8-0cff : PCI conf1
d000-d00f : 0000:00:0b.0
  d000-d00f : sata_nv
d400-d47f : 0000:00:0b.0
  d400-d47f : sata_nv
d800-d8ff : 0000:00:06.0
  d800-d8ff : NVidia CK8
dc00-dc7f : 0000:00:06.0
  dc00-dc7f : NVidia CK8
e000-e007 : 0000:00:04.0
  e000-e007 : forcedeth
e400-e41f : 0000:00:01.1
f000-f00f : 0000:00:09.0
  f000-f007 : ide0
  f008-f00f : ide1

$ 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[31]:

lsdev 
Device            DMA   IRQ  I/O Ports
------------------------------------------------
0000:00:01.1                 e400-e41f
0000:00:04.0                 e000-e007
0000:00:06.0                 d800-d8ff dc00-dc7f
0000:00:09.0                 f000-f00f
0000:00:0b.0                 0970-0977 09f0-09f7 0b70-0b73 0bf0-0bf3 d000-d00f d400-d47f
cascade             4     2 
CK8                       3 
dma                          0080-008f
dma1                         0000-001f
dma2                         00c0-00df
ehci_hcd                 11 
eth0                     10 
forcedeth                      e000-e007
fpu                          00f0-00ff
i8042                    12 
ide0                           f000-f007
ide1                     15  0170-0177 0376-0376   f008-f00f
keyboard                     0060-006f
NVidia                         d800-d8ff   dc00-dc7f
ohci_hcd                  9 
parport0                     0378-037a 037b-037f
PCI                          0cf8-0cff
pic1                         0020-0021
pic2                         00a0-00a1
sata_nv                        0970-0977   09f0-09f7   0b70-0b73   0bf0-0bf3   d000-d00f   d400-d47f
serial                       03f8-03ff
timer                     0 
timer0                       0040-0043
timer1                       0050-0053
vesafb                       03c0-03df

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



[31] lsdev es parte del paquete procinfo.