1.-A) Arquitectura del sistema Linux LPIC-1

Hotplug y Coldplug
Coldplug y Hotplug son dos formas de denominar dos tipos de periféricos según la forma de conexión a un equipo o PC.

Los periféricos coldplug (conexión en frío), no deben conectarse o desconectarse sin apagar el equipo. Por ejemplo: PCI-E, PATA, ISA …

Los dispositivos hotplug (conexión en caliente) pueden conectarse y desconectarse en funcionamiento sin tener que apagar el PC. Por ejemplo USB, SATA, Firewire …

Para ver las IRQ que se están utilizando hay que examinar el fichero /proc/interrupts
$cat /proc/interrupts
/proc es un fichero virtual que hace referencia al Kernel no a fichero que estén en el disco duro, por lo tanto en /proc tambien podremos ver procesos en ejecución.
#> ls /proc
1 2432 3340 3715 3762 5441 815 devices modules
129 2474 3358 3716 3764 5445 acpi diskstats mounts
1290 248 3413 3717 3812 5459 asound dma mtrr
133 2486 3435 3718 3813 5479 bus execdomains partitions
1420 2489 3439 3728 3814 557 dri fb self
165 276 3450 3731 39 5842 driver filesystems slabinfo
166 280 36 3733 3973 5854 fs interrupts splash
2 2812 3602 3734 4 6 ide iomem stat
2267 3 3603 3735 40 6381 irq ioports swaps
2268 326 3614 3737 4083 6558 net kallsyms sysrq-trigger
2282 327 3696 3739 4868 6561 scsi kcore timer_list
2285 3284 3697 3742 4873 6961 sys keys timer_stats
2295 329 3700 3744 4878 7206 sysvipc key-users uptime
2335 3295 3701 3745 5 7207 tty kmsg version
2400 330 3706 3747 5109 7222 buddyinfo loadavg vmcore
2401 3318 3709 3749 5112 7225 cmdline locks vmstat
2427 3329 3710 3751 541 7244 config.gz meminfo zoneinfo
2428 3336 3714 3753 5440 752 cpuinfo misc

Los directorios con números corresponden a cada proceso en ejecución; un autoenlace simbólico apunta al proceso actual. Algunos archivos virtuales proveen información sobre el hardware, tal como /proc/cpuinfo y /proc/interrupts. Otros proporcionan información relacionada a los archivos, tales como /proc/filesystems o /proc/partitions. Los archivos situados bajo /proc/sys son relacionados a la configuración de parámetros del kernel.

Los directorios con nombre numérico representan a los procesos en ejecución. Cuando un proceso termina, su directorio /proc desaparece automáticamente. Si examinas cualquiera de estos directorios mientras existen, encontrarás bastantes archivos:
attr cpuset fdinfo mountstats stat
auxv cwd loginuid oom_adj statm
clear_refs environ maps oom_score status
cmdline exe mem root task
coredump_filter fd mounts smaps wchan

Veamos más de cerca a los archivos principales:
cmdline: Contiene el comando que inicio el proceso, con todos sus parámetros.
cwd: Enlace simbólico al directorio actual de trabajo (current working directory cwd) del proceso; enlaces exe a los procesos ejecutables y enlaces root a su directorio superior.
environ: Muestras todas las variables de ambiente para el proceso.
fd: Contiene los descriptores de archivo para el proceso, mostrando cuáles archivos o dispositivos lo están usando.
maps, statm and mem: Trabaja con la memoria en uso por el proceso.
stat and status: Proveé información acerca del estatus del proceso, pero el segundo es mucho más claro que el primero.

Pero volvamos a las IRQ, al ver el cat/proc/interrupts en la salida podemos ver los drivers que utiliza cada IRQ, hacerlo y lo veréis, un claro ejemplo es floppy, otros son mas críticos como cx88 un driver de tarjetas de video capturadoras.
Hay que tener en cuenta que puede ser que no tengamos todas las IRQ instaladas, por ejemplo puede ser que hasta que no usemos un puerto paralelo no cargue la irq que le corresponde.
Por no estendernos para ver las direcciones E/S o tambien llamados puertos de entrada y salida sería en:
$cat /proc/ioports
Las direcciones DMA en $cat /proc/dma

Volviendo con las preguntas de la certificación, hay varias utilidades para administrar dispositivos de conexión en caliente:
Sysfs: Es un sistema de archivos virtual y se monta en /sys
/sys
A partir del kernel 2.6 se implementó el directorio /sys, utilizado para la configuración de PnP (plug and play). Como los archivos de /proc, los archivos de /sys representan información en la memoria del kernel y no están presentes en el disco duro. En su mayoría son archivos de texto plano ASCII con un valor por archivo.
El sistema de archivos sysfs se encarga de prestar la información de los dispositivos y controladores (disponible para el kernel) al espacio de usuario de manera que otras aplicaciones puedan también acceder a dicha información.
Esta información suele ser utilizada por HAL y udev para la monitorización y configuración dinámica de dispositivos.

Sysfs es un mecanismo para representar los objetos del kernel y sus relaciones.

Montaje de sysfs
sysfs puede montarse desde el espacio de usuario como cualquier otro filesystem de memoria:
mount -t sysfs sysfs /sys
También puede montarse automáticamente desde /etc/fstab:
sysfs   /sys   sysfs   noauto   0   0 

Directorios dentro de /sys
Los directorios que se encuentran dentro de /sys son creados al inicio del sistema, cuando los subsistemas se registran con el núcleo kobject.

Pueden encontrarse los siguientes directorios:
block:  Contiene un subdirectorio por cada dispositivo de bloque descubierto en el sistema. Dentro de cada uno hay un enlace simbólico al dispositivo físico en el arbol de dispositivos /dev.

bus:  Contiene subdirectorios por cada tipo de bus soportado por el kernel (ide, pci, scsi, usb). Cada tipo de bus representado tiene dos subdirectorios, devices y drivers.

classes:  Contiene representaciones de cada clase de dispositivo registrado en el kernel. Ejemplos de clases son graphics, input, net, printer, scsi_device, sound y tty.

devices:  Contiene la gerarquía global de dispositivos. Contiene cada dispositivo físico descubierto por los tipos de bus registrados en el kernel.

firmware:  Contiene interfaces para ver y manipular objetos y atributos específicos de firmware. Firmware se refiere al código específico de la plataforma que se ejecuta al inicio del sistema.

module:  Contiene subdirectorios por cada módulo que haya sido cargado en el kernel. Cada uno de estos subdirectorios contiene al menos un atributo: refcnt (reference count o número de usuarios), que equivale al valor mostrado en la cuarta columna de lsmod.

power:  El subsistema de alimentación o energía.

Publicado el noviembre 21, 2011 en Linux y etiquetado en , . Guarda el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: