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[26]:

   $ 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:



[26] lsdev es parte del paquete procinfo.