O Sistema de Arquivo sysfs
Autor: Felipe Santos | Publicado: 2011-10-18T03:53:00-07:00

O kernel 2.6 do Linux apresenta o sistema de arquivo sysfs. O sistema de arquivo sysfs é descrito como a união dos sistemas de arquivo proc, devfs e devpty. O sistema de arquivosysfsenumera os dispositivos e canais conectados ao sistema numa hierarquia de sistema de arquivo que pode ser acessada pelo espaço do usuário. É desenvolvido para lidar com as opções específicas do driver e do dispositivo, que antes estavam localizadas no /proc/, e incluir a adição dinâmica de dispositivos previamente oferecida pelo devfs. Neste ponto inicial da implementação do sysfs, há muitos drivers e utilitários que ainda referenciam as entradas antigas do proc. No entanto, sabe-se que o sysfs é o caminho do futuro.O sistema de arquivo sysfs é montado em /sys/ e contém diretórios que organizam os dispositivos conectados ao sistema de diversas maneiras diferentes. Os sudiretórios de/sysfs/incluem:O diretório /devices/Este diretório contém o diretório /css0/. Seus sub-diretórios representam todos os sub-canais detectados pelo kernel do Linux. Os diretórios dos sub-canais são nomeados no formato0.0.nnnn onde nnnn é o número do sub-canal em hexadecimal entre 0 e ffff. Os diretórios do sub-canal, por sua vez, contêm arquivos de status e um outro sub-diretório que representa o dispositivo. O diretório do dispositivo é nomeado 0.0.xxxx onde xxxxé o endereço da unidade do dispositivo. O diretório /devices/ também contém informações de status e opções de configuração do dispositivo.O diretório /bus/Este contém os sub-diretórios /ccw/ e /ccwgroup/. Os dispositivos CCW são acessados através de palavras de comando do canal. Os dispositivos do diretório /ccw/ usam somente um sub-canal no sub-sistema do canal do mainframe. Os dispositicos de grupo CCW também são acessados com palavras de comando do canal, mas utilizam mais de um sub-canal por dipositivo. Por exemplo: um dispositivo 3390-3 DASD usa um sub-canal, enquanto uma conexão de rede QDIO para um adaptador OSA usa três sub-canais. Ambos os diretórios /ccw/ e /ccwgroup/ contêm diretórios chamados devices (dispositivos) e drivers:O diretório /devices/ contém uma ligação simbólica para os diretórios do dispositivo no diretório /sys/devices/css0/.O diretório /drivers/ contém diretórios para cada driver de dispositivo correntemente carregado no sistema. O driver zFCP tem um diretório aqui. O diretório /driver/contém configurações do driver do dispositivo, assim como uma ligação simbólica para os dispositivos que está usando (no diretório /sys/devices/css0/).O diretório /class/Este contém diretórios que agrupam dispositivos similares, como ttys, drives de fita SCSI, dispositivos de rede e outros dispositivos diversos.O diretório /block/Este diretório contém diretórios para cada dispositivo de bloco do sistema. São, na maioria, dispositivos tipo disco, como DASD reais, dispositivos loopback e dispositivos de bloco de raid de software. A diferença notada entre sistemas Linux mais antigos e aqueles que usamsysfsé a necessidade de referenciar os dispositivos pelos seus nomes sysfs. Numa imagem do Kernel 2.4, o driver zFCP era passado como endereços de seus dispositivos. No sistema da imagem do Kernel 2.6, o driver é passado como 0.0.1600.Fonte:http://web.mit.edu