Linux: proc / sys / kernel vs / sys / kernel

11

Eu sei que em um sistema Linux típico, /proc e /sys são estruturas de arquivos virtuais com pseudo-arquivos, usados para se comunicar com o kernel, mas qual é a diferença entre /proc/sys/kernel e /sys/kernel ?

Por exemplo, leve /sys/kernel/uevent_seqnum . Tenho certeza de que esta é uma opção altamente esotérica que ninguém deveria mudar, mas, mesmo assim, o que é, e o que ela faz?

Se houver uma página man oficial ou centralizada para o material em /sys/kernel , (como man 5 proc para proc , por exemplo), as citações dessas fontes serão apreciadas e preferidas.

    
por Evan Carroll 14.09.2009 / 19:54

1 resposta

16

Essencialmente / proc e / sys são os mesmos.

O sysfs foi adicionado no kernel 2.5 ou 2.6 devido à desordem no procfs

O procfs foi usado apenas para armazenar informações do processo. Eventualmente, tudo começou a ficar misturado em proc e criou um labirinto sinuoso com dados de dispositivo presos em diferentes pontos em todo o lugar. Enquanto isso, o sysfs foi implementado com o objetivo de segmentar dados de dispositivos do procfs.

Especificamente, / sys mantém informações de processo mais detalhadas (a posição dos nós realmente representa a hierarquia de dispositivos por subsistema). Para cada objeto no modelo de driver, um diretório é criado. A estrutura do arquivo do dispositivo sendo:

/sys/devices  - devices by physical layout
/sys/bus      - symbolic links to devices
/sys/block    - devices by block
/sys/class    - devices by class

Em seu sistema local, você pode encontrar man page em man sysfs e informações sobre como modificar parâmetros do kernel em / proc / sys com man sysctl

Se você quiser ainda mais informações sobre / sys, você pode querer ver o whitepaper do sistema de arquivos Linux sysfs em kernel.org [pdf] e Documentação /sysfs.txt na fonte do kernel.

    
por 14.09.2009 / 20:27

Tags