sysfs - sysfs


sysfs é um pseudo sistema de arquivos fornecido pelo kernel Linux que exporta informações sobre vários subsistemas do kernel, dispositivos de hardware e drivers de dispositivo associados do modelo de dispositivo do kernel para o espaço do usuário por meio de arquivos virtuais . Além de fornecer informações sobre vários dispositivos e subsistemas do kernel, arquivos virtuais exportados também são usados ​​para sua configuração.

O sysfs fornece funcionalidade semelhante ao mecanismo sysctl encontrado nos sistemas operacionais BSD , com a diferença de que o sysfs é implementado como um sistema de arquivo virtual em vez de ser um mecanismo de kernel construído para um propósito, e que, no Linux, os parâmetros de configuração sysctl estão disponíveis em / proc / sys / como parte de procfs , não sysfs que é montado em / sys / .

História

Durante o ciclo de desenvolvimento 2.5, o modelo de driver Linux foi introduzido para corrigir as seguintes deficiências da versão 2.4:

  • Não existia nenhum método unificado de representar as relações driver-dispositivo.
  • Não havia mecanismo de hotplug genérico .
  • procfs estava abarrotado de informações não relacionadas ao processo.

O Sysfs foi projetado para exportar as informações presentes na árvore de dispositivos que, então, não sobrecarregariam mais o procfs. Foi escrito por Patrick Mochel. Maneesh Soni escreveu mais tarde o patch sysfs backing store para reduzir o uso de memória em sistemas grandes.

Durante o próximo ano de desenvolvimento 2.5, os recursos de infraestrutura do modelo de driver e driverfs começaram a se mostrar úteis para outros subsistemas. Os kobjects foram desenvolvidos para fornecer um mecanismo central de gerenciamento de objetos e o driverfs foi renomeado para sysfs para representar o agnosticismo de seu subsistema.

O Sysfs é montado no ponto de montagem / sys . Se não for montado durante a inicialização, você sempre pode montá-lo usando o comando: "mount -t sysfs sysfs / sys"

Ônibus suportados

ACPI
Exporta informações sobre dispositivos ACPI .
PCI
Exporta informações sobre dispositivos PCI e PCI Express .
PCI Express
Exporta informações sobre dispositivos PCI Express .
USB
Exporta informações sobre dispositivos USB .
SCSI
Exporta informações sobre dispositivos de armazenamento em massa , incluindo interfaces USB , PATA , SATA , SCSI , SAS e NVMe .
Ônibus S / 390
Como a arquitetura S / 390 contém dispositivos não encontrados em nenhum outro lugar, foram criados barramentos especiais:
  • css : Contém subcanais (atualmente o único driver fornecido é para subcanais de E / S).
  • ccw : Contém dispositivos conectados ao canal (acionados por CCWs ).
  • ccwgroup : Dispositivos artificiais, criados pelo usuário e consistindo em dispositivos ccw. Substitui algumas das funcionalidades do chandev 2.4.
  • iucv : dispositivos artificiais como dispositivos netiucv que usam da VM IUCV interface.

Sysfs e espaço do usuário

Sysfs é usado por vários utilitários para acessar informações sobre hardware e seu driver ( módulos do kernel ), como udev ou HAL . Scripts foram escritos para acessar informações obtidas anteriormente por meio de procfs , e alguns scripts configuram drivers de dispositivos e dispositivos por meio de seus atributos.

Veja também

Referências

links externos