stringtranslate.com

sistemas

sysfs es un pseudosistema de archivos proporcionado por el kernel de Linux que exporta información sobre varios subsistemas del kernel, dispositivos de hardware y controladores de dispositivos asociados desde el modelo de dispositivo del kernel al espacio del usuario a través de archivos virtuales . [1] Además de proporcionar información sobre varios dispositivos y subsistemas del kernel, los archivos virtuales exportados también se utilizan para su configuración.

sysfs proporciona una funcionalidad similar al mecanismo sysctl que se encuentra en los sistemas operativos BSD , con la diferencia de que sysfs se implementa como un sistema de archivos virtual en lugar de ser un mecanismo de kernel especialmente diseñado y que, en Linux, los parámetros de configuración de sysctl están disponibles en / proc/sys/ como parte de procfs , no sysfs que está montado en /sys/ . [2]

Historia

Durante el ciclo de desarrollo 2.5, se introdujo el modelo de controlador de Linux para corregir las siguientes deficiencias de la versión 2.4:

Sysfs fue diseñado para exportar la información presente en el árbol de dispositivos que luego ya no saturaría los procesos. Fue escrito por Patrick Mochel. [3] [4] Maneesh Soni escribió más tarde el parche del almacén de respaldo sysfs para reducir el uso de memoria en sistemas grandes.

Durante el siguiente año de desarrollo de 2.5, las capacidades de infraestructura del modelo de controlador y los controladores comenzaron a resultar útiles para otros subsistemas. [5] [6] kobjects se desarrollaron para proporcionar un mecanismo central de gestión de objetos y se cambió el nombre de driverfs a sysfs para representar el agnosticismo del subsistema.

Sysfs se monta debajo del punto de montaje /sys . Si no se monta automáticamente durante la inicialización, se puede montar manualmente usando el mountcomando: mount -t sysfs sysfs /sys. [1]

Autobuses soportados

ACPI
Exporta información sobre dispositivos ACPI .
PCI
Exporta información sobre dispositivos PCI y PCI Express .
PCI-Express
Exporta información sobre dispositivos PCI Express .
USB
Exporta información sobre dispositivos USB .
SCSI
Exporta información sobre dispositivos de almacenamiento masivo , incluidas interfaces USB , SATA y NVMe . [7]
autobuses S/390
Como la arquitectura S/390 contiene dispositivos que no se encuentran en ningún otro lugar, se han creado buses especiales:
  • css : contiene subcanales (actualmente el único controlador proporcionado es para subcanales de E/S).
  • ccw : Contiene dispositivos conectados al canal (controlados por CCW ).
  • ccwgroup : Dispositivos artificiales, creados por el usuario y formados por dispositivos ccw. Reemplaza algunas de las funciones de 2.4 Chandev.
  • iucv : Dispositivos artificiales como los dispositivos netiucv que utilizan la interfaz IUCV de VM .

Sysfs y espacio de usuario

Sysfs es utilizado por varias utilidades para acceder a información sobre el hardware y su controlador ( módulos del kernel ), como udev o HAL . Se han escrito scripts para acceder a información obtenida previamente a través de procfs , y algunos scripts configuran controladores de dispositivos y dispositivos a través de sus atributos.

Ver también

Referencias

  1. ^ ab Patrick Mochel y Mike Murphy. "sysfs: _El_ sistema de archivos para exportar objetos del kernel". kernel.org .
  2. ^ SUSE. "página de manual de sysctl". FreeBSD. sysctl se utiliza para modificar los parámetros del kernel en tiempo de ejecución. Los parámetros disponibles son los enumerados en /proc/sys/. Se requiere Procfs para la compatibilidad con sysctl en Linux. Puede utilizar sysctl para leer y escribir datos de sysctl.
  3. ^ Torvalds, Linus (18 de octubre de 2002). "Linux v2.5.44 - y sin conexión durante una semana".
  4. ^ Torvalds, Linus (4 de noviembre de 2002). "Linux v2.5.46".
  5. ^ Mochel, Patrick (17 de octubre de 2001). "[RFC] Nuevo modelo de controlador para 2,5".
  6. ^ Jansen, Tim (1 de noviembre de 2001). "Re: [PARCHE] PROPUESTA 2.5: Reemplazo del /proc actual de mierda".
  7. ^ "Guía de interfaces SCSI: documentación del kernel de Linux". www.kernel.org . Consultado el 13 de noviembre de 2020 .

enlaces externos