Sistema de archivos SYSFS de Linux

Sistema de archivos SYSFS de Linux
En Linux, cada directorio tiene su propio propósito para su existencia. Lo mismo es cierto para el sysfs directorio. El sysfs Las entradas son utilizadas por el núcleo para exportar la información a procesos en el dominio del usuario y obtener información del usuario. Estas entradas viajan a través del sistema de archivos para encontrar el programa y las funciones de la tienda registradas para ello.

Entradas en sysfs se puede ordenar en función del tipo de bus, el tipo de objeto, el tipo de dispositivo, las relaciones entre padres/niños, etc. Los enlaces simbólicos ayudan a reducir los despidos.

¿Qué cubriremos??

En este artículo, exploraremos el sysfs sistema de archivos en Linux. Comencemos con una descripción general del sysfs.

Descripción general del sysfs Sistema de archivos

SYSFS se introdujo en Linux por primera vez en Kernel versión 2.6.0.

El sysfs es un sistema de archivos virtual en Linux. Significa que los archivos en sysfs No reside en un disco ni en ningún medio físico. Sin embargo, el contenido de los sistemas de archivos se almacena en la memoria. Originalmente, sysfs se basó en RAMFS y se llamaba DDFS (sistema de archivos de controlador de dispositivos).

SYSFS envía datos al espacio de usuario utilizando archivos virtuales. Estos datos comprenden datos sobre varios subsistemas de núcleos, dispositivos de hardware y controladores de dispositivos asociados.

Generalmente, sysfs está montado en el /SYS Partición y el sistema monta automáticamente. Además, se puede montar manualmente en el arranque utilizando el fstab archivo:

$ MONTE -T SYSFS SYSFS /SYS

Del comando anterior, notamos que el sysfs está montado en /sys. Esta es la ubicación estándar donde el sysfs está montado en.

La jerarquía de sysfs

SYSFS es un clúster de archivos, carpetas y enlaces simbólicos. La mayoría de los archivos dentro /SYS son de solo lectura. Algunos archivos también son escritos, lo que ayuda a modificar las variables del kernel. Los enlaces simbólicos se usan ampliamente para vincular entradas en todo el árbol del sistema de archivos.

Recomendamos usar el comando "Árbol" para ver una vista completa de este directorio. En nuestro sistema, el comando "Árbol" muestra un total de directorios 9480 y 38635 archivos que es una extensa colección de archivos y directorios.

En el nivel superior, se crean 11 subdirectorios principales en el arranque del sistema. Estos subdirectorios son representaciones de los principales subsistemas registrados con el sysfs. En el arranque, estos subsistemas están registrados con el núcleo de Kobject. Una vez que se realiza la inicialización, comienzan a encontrar objetos registrados en sus directorios correspondientes.

Archivos y subdirectorios del sistema de archivos /SYS

Veamos ahora algunos archivos y subdirectorios del /SYS sistema de archivos y discutir su propósito básico. Los subdirectorios virtuales más importantes en el nivel superior de /SYS son bloque, bus, hipervisor, clase, dispositivos, kernel, firmware, módulo y energía.

1. /SYS/BLOCK: Tiene un enlace simbólico y directorios para cada dispositivo de bloque descubierto en el sistema. Estos enlaces simbólicos apuntan a sus respectivos directorios en el directorio /Sys/dispositivos. Aquí hay muchos subdirectorios dentro:

Estos dispositivos de bloque, que se muestran en color cian, tienen atributos que contienen información sobre las particiones. Ejemplos de estos subdirectorios son SDA, SDB, etc.

2. /Sys/Bus: Un bus es un medio/canal entre un procesador y un dispositivo o dispositivos. Los ejemplos de tipos de bus incluyen PCI, PCMCIA, SCSI o USB. Para cada tipo de bus en el núcleo, hay un subdirectorio que reside en el /Sys/Bus directorio. Cada uno de estos subdirectorio tiene más dos subdirectorios más: dispositivos y controladores.

i) Dispositivos: contiene enlaces simbólicos a las entradas en /sys /dispositivos (el árbol de dispositivos global) para cada dispositivo descubierto en el bus.

ii) Conductor: contiene un subdirectorio para cada controlador de dispositivo cargado en el bus. Estos subdirectorios contienen atributos para administrar parámetros y enlaces simbólicos.

3. /sys/clase: Una clase es una vista de alto nivel de un dispositivo. Este directorio contiene además un nivel más de subdirectorios para cada clase de dispositivo registrada en el sistema. Estas clases pueden ser terminales, dispositivos de red, dispositivos de sonido, etc. Estos subdirectorios contienen enlaces simbólicos para cada dispositivo en una clase. Estos enlaces simbólicos apuntan a las entradas en el /Sys/dispositivos directorio.

4. /sys/class/net: Cada enlace simbólico en este directorio representa uno de los dispositivos de redes reales o virtuales, que son visibles en el espacio de nombres de red del proceso que accede al directorio. Cada uno de esos enlaces simbólicos apunta a las entradas en el /Sys/dispositivos directorio.

5. /Sys/dispositivos: El /Sys/dispositivo El directorio contiene todo el árbol del dispositivo del núcleo en la vista del sistema de archivos. Incluye cada dispositivo físico encontrado por los tipos de bus registrados con el kernel.

6. /SYS/Firmware: Contiene interfaces para administrar objetos y atributos que son específicos del firmware. Aquí, el firmware es un código que se ejecuta en el arranque del sistema. Por ejemplo, la plataforma puede ser X86 BIOS, OpenFirmware e IA64. Hay muchos archivos en la carpeta EFI como ejemplo.

Salida de muestra:

$ LS Firmware/EFI/
config_table esrt fw_vendor runtime systab
efivars fw_platform_size mok-variables runtime-map vars

Cada uno de estos archivos contiene algún valor para un parámetro.

7. /sys/kernel: Hay muchos archivos y carpetas en este subdirectorio que dan datos sobre el núcleo activo.

8. /sys/módulo: Para cada módulo cargado en el núcleo, hay un subdirectorio que reside en este directorio. El nombramiento de estos subdirectorios se basa en el nombre del núcleo correspondiente. Dentro de cada directorio del módulo, hay un subdirectorio llamado secciones que contienen atributos sobre las secciones del módulo. Muchos archivos son como CoreSize, Initsize, InitState, Srcversion, etc. Del mismo modo, hay muchos subdirectorios como controladores, titulares, notas, parámetros, etc.

9. /SYS/PODER: Representa el subsistema de potencia y tiene solo dos atributos: disco y estado. El método por el cual el sistema irá a dormir/suspender el estado está controlado por el "disco". "Estado" permite que una potencia obtenga un estado de baja potencia.

Conclusión

En esta guía, aprendimos sobre los sistemas de archivos SYSFS en Linux y también vimos varios subdirectorios y sus propósitos. El SYSFS contiene una gran cantidad de datos. Se puede encontrar más información en las páginas del hombre y también en esta página, que está alojada en el núcleo.organizar