Consultar los recursos de un dispositivo

16 06 2008

Al instalar un nuevo hardware podemos querer verificar que recursos está utilizando.

En una entrada anterior aquí, explicábamos cuales eran los recursos del sistema que se asignaban a un dispositivo y veíamos cual era la configuración tipo. Pero si tenemos algun problema, o simplemente queremos consultar aquellos recursos en uso, donde se encuentra esta información?

Los ficheros /proc/interrupts, /proc/dma y /proc/ioports contienen los recursos del systema que están siendo utilizados.

Este es un ejemplo de lo que obtenemos al hacer un cat /proc/interrupts:

           CPU0       CPU1
  0:        140          1   IO-APIC-edge      timer
  1:          0          2   IO-APIC-edge      i8042
  4:          0          2   IO-APIC-edge
  7:          1          0   IO-APIC-edge      parport0
  8:          0         44   IO-APIC-edge      rtc
  9:          0          0   IO-APIC-fasteoi   acpi
 12:          0          4   IO-APIC-edge      i8042
 14:          0          0   IO-APIC-edge      libata
 15:          0          0   IO-APIC-edge      libata
 16:         26      12277   IO-APIC-fasteoi   ohci_hcd:usb1, sata_nv
 17:         30      11443   IO-APIC-fasteoi   eth0
...

Nota: La primera columna nos da el IRQ. Luego para cada CPU tendremos una columna con su propio número de interrupciones atendidas por IRQ. A continuación nos indica el tipo de interrupción y el nombre del dispositivo asociado.





Instalando dispositivos SCSI

15 06 2008

La interfaz SCSI (Small Computer System Interface) es un tipo de bus al que se conectan múltiples dispositivos (discos duros, CD-ROMs, etc).

Se compone de una controladora SCSI o adaptador host, que es una tarjeta que se inserta en la placa base y de la que sale un cable al que se conectan el resto de dispositivos. Tanto la controladora como el resto de dispositivos tienen asignada una SCSI ID, que los identifica de manera única en el bus.

  • Tipos:
SCSI type Ancho del bus (bits) Ancho de banda (MBps)
SCSI-1 8 5
SCSI-2 8 5
Wide SCSI 16 10
Fast SCSI 8 10
Fast Wide SCSI 16 20
Ultra SCSI 8 20
Ultra Wide SCSI o SCSI-3 16 40
Ultra2 8 40
Wide Ultra2 16 80
Ultra 3 16 160
Ultra 4 16 320
Ultra 5 16 640
  • Configuración SCSI en Linux:

Los buses SCSI de 8 bits soportan hasta 7 dispositivos, y en el caso de 16 bits, admiten hasta 15 (sin incluir la controladora).

Algunos dispositivos, como las controladoras RAID, se muestran a la controladora SCSI como un drive con una sola dirección SCSI. Para poder acceder a varias unidades lógicas en estos casos, se usa el LUN (logical unit number) junto a la ID SCSI.

Como sabéis en Linux, los discos IDE se conocen como /dev/hda, /dev/hdb, etc. En el caso de SCSI, se usa /dev/sda, /dev/sdb… La asignación en Linux de SCSI IDs y LUNs se hace secuencialmente. Este sería un posible ejemplo de configuración para: dos discos duros, una unidad de cintas, una controladora RAID con dos LUNs y la controladora SCSI.

Dispositivo SCSI ID LUN Linux device
Disco 0 0 - /dev/sda
Disco 1 1 - /dev/sdb
Unidad cintas 5 - /dev/st0
controladora RAID device 0 6 0 /dev/sdc
controladora RAID device 1 6 1 /dev/sdd
controladora SCSI 7 - -

Nota: por defecto la SCSI ID 0 se espera que sea un disco bootable.

  • Terminación SCSI:

Un bus SCSI puede considerarse un cable con dispositivos conectados en su longitud, pero no en los extremos. En ellos es necesario colocar terminadores, que se tratan de dispositivos eléctricos que condicionan la señal y reducen el ruido en el bus. Pueden tratarse de jumpers, por BIOS, o físicos.





BIOS – default resource assignments

14 06 2008

En la configuración de la BIOS, es necesario en ocasiones asignar los recusos internos de un PC:

·IRQs: interrupciones enviadas enviadas al microprocesador para detener su actividad y responder a un evento asíncrono.

·I/O adresses: direcciones de memoria reservadas para input/output devices. De esta forma el procesador puede trabajar con ellos de la misma manera que trabaja con la memoria.

·DMA channels (direct memory access): permite a algunos dispositivos trabajar directamente con memoria, liberando al procesador para otras tareas.

Esta es la configuración típica:

Device I/O address IRQ DMA
ttyS0 (COM1) 3f8 4 -
ttyS1 (COM2) 2f8 3 -
ttyS2 (COM3) 3e8 4 -
ttyS3 (COM4) 2e8 3 -
lp0 (LPT1) 378-37f 7 -
lp1 (LPT2) 278-27f 5 -
fd0, fd1(floppies 1,2) 3f0-3f7 6 2
fd2, fd3 (floppies 3,4) 370-377 10 3

Nota: algunas tarjetas de sonido antiguas usaban IRQ 5, al igual que lp1, lo que podía provocar problemas.

En el caso de puertos serie COM1-COM3 comparten IRQ 4, y COM2-COM4 la IRQ 3, pero el sistema no permite que los puertos se usen a la vez.