Sysfs

sysfs é um pseudo sistema de arquivos fornecido pelo núcleo do Linux que exporta informações sobre vários subsistemas do núcleo, dispositivos de hardware e controladores de dispositivos associados a partir do modelo de dispositivos do núcleo para o espaço do usuário, por meio de arquivos virtuais.[1] Além disso para fornecer informações sobre vários dispositivos e subsistemas do núcleo, os arquivos virtuais exportados também são utilizados para sua configuração.

O sysfs fornece funcionalidade similar ao mecanismo do sysctl encontrado em sistemas operacionais BSD, com a diferença que o sysfs é implementado como um sistema de arquivos virtual em vez de ser apenas um mecanismo embutido no núcleo do sistema par essa finalidade, e assim, no Linux, os parâmetros de configuração do sysctl são disponibilizados em /proc/sys/ como parte do procfs, não do sysfs que é montado em /sys/.[2]

História

Durante o ciclo de desenvolvimento 2.5, o modelo de driver do Linux foi introduzido para corrigir várias deficiências da versão 2.4:

  • Nenhum método unificado de representação de relacionamentos de driver de dispositivo existia;
  • Não havia nenhum mecanismo de hotplug genérico;
  • procfs era confuso com muitas informações não-processo.

O sysfs é projetado para exportar as informações presentes na árvore de dispositivos que então não amontoariam mais o procfs. Ele foi escrito por Patrick Mochel.[3][4] Maneesh Soni mais tarde escreveu o patch de armazenamento anterior do sysfs para reduzir o uso de memória em sistemas grandes.

Durante ano seguinte do desenvolvimento 2.5, as capacidades de infra-estrutura do modelo de driver e do driverfs, anteriormente chamados ddfs, começaram a revelar-se útil para outros subsistemas.[5][6] kobjects foram desenvolvidos para fornecer um mecanismo central de gestão de objetos e o driverfs foi renomeado para sysfs para representar o seu agnosticismo de subsistema.

Sysfs é montado sob o ponto de montagem /sys.

Barramentos suportados

PCI
Exporta informações sobre dispositivos PCI.
USB
Contém dispositivos USB e hosts USB.
Barramentos S/390
Como a arquitetura do S/390 contém dispositivos não encontrados em outros lugares, 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 a interface IUCV da VM.

Sysfs e o espaço de usuário

O Sysfs é usado por vários utilitários para acessar informações sobre o hardware e o seu driver (módulos do núcleo), como o udev ou o HAL. Scripts foram escritos para acessar informações previamente obtidas via procfs, e alguns scripts configuram drivers de dispositivos e os dispositivos através de seus atributos.

Ver também

  • Portal do Linux
  • procfs
  • configfs
  • tmpfs
  • sysctl, maneira alternativa de exportar configurações usada em sistemas BSD

Referências

  1. Patrick Mochel and Mike Murphy. «sysfs - _The_ filesystem for exporting kernel objects». kernel.org 
  2. SUSE. «sysctl man page». FreeBSD. sysctl is used to modify kernel parameters at runtime. The parameters available are those listed under /proc/sys/. Procfs is required for sysctl support in Linux. You can use sysctl to both read and write sysctl data. 
  3. Torvalds, Linus (18 de outubro de 2002). «Linux v2.5.44 - and offline for a week» 
  4. Torvalds, Linus (4 de novembro de 2002). «Linux v2.5.46» 
  5. Mochel, Patrick (17 de outubro de 2001). «[RFC] New Driver Model for 2.5» 
  6. Jansen, Tim (1 de novembro de 2001). «Re: [PATCH] 2.5 PROPOSAL: Replacement for current /proc of shit.» 

Ligações externas

  • «Linux kernel documentation for sysfs» (em inglês) 
  • v
  • d
  • e
Sistema de ficheiros / Sistema de arquivos
Disco
Disco óptico
Memória flash e SSD
Distribuído
  • CXFS
  • GFS2
  • GlusterFS
  • Google File System
  • OCFS2
  • OrangeFS
  • PVFS
  • QFS
  • Xsan
NAS
Especializado
Pseudo e virtual
Criptográfico
  • eCryptfs
  • EncFS
  • EFS
  • Rubberhose
  • SSHFS
  • ZFS
Tipos
Características
  • Preservação de caixa
  • Cópia em gravação
  • Desduplicação de dados
  • Limpeza de dados
  • Executar no local
  • Extent
  • Atributo de arquivo
    • Atributos de arquivo estendidos
  • Registro de mudança de arquivos
  • Fork
  • Links
Controle de acesso
Interfaces