Sysfs - Sysfs

sysfs Бұл жалған файлдық жүйе ұсынған Linux ядросы ядроның әр түрлі ішкі жүйелері, аппараттық құрылғылар және онымен байланысты ақпаратты экспорттайтын құрылғы драйверлері ядро құрылғысының моделінен пайдаланушы кеңістігі арқылы виртуалды файлдар.[1] Әр түрлі құрылғылар мен ядроның ішкі жүйелері туралы ақпарат берумен қатар, оларды конфигурациялау үшін экспортталған виртуалды файлдар да қолданылады.

sysfs функционалдығын қамтамасыз етеді sysctl механизмі табылды BSD операциялық жүйелер, sysfs мақсатты түрде жасалған ядро ​​механизмі болудың орнына виртуалды файлдық жүйе ретінде жүзеге асырылатындығымен және Linux-те sysctl конфигурация параметрлері мына жерде қол жетімді / proc / sys / бөлігі ретінде procfs, орнатылған sysfs емес / sys /.[2]

Тарих

2.5 даму циклі кезінде Linux драйверінің моделі 2.4 нұсқасының келесі кемшіліктерін түзету үшін енгізілді:

  • Драйвер мен құрылғы байланыстарын ұсынудың бірыңғай әдісі болған жоқ.
  • Жалпы сөз болған жоқ ыстық розетка механизм.
  • procfs процедуралық емес ақпараттарға толы болды.

Sysfs ішіндегі ақпаратты экспорттауға арналған құрылғы ағашы бұл бұдан әрі прокфтерді ретке келтірмейді. Оны Патрик Мошель жазған.[3][4] Кейінірек Манеш Сони sysfs қолдау жүйесіне үлкен жүйелерде жадты пайдалануды азайту үшін патч жазды.

Келесі 2.5 даму жылында драйвер моделі мен driverfs инфрақұрылымдық мүмкіндіктері, бұрын ddfs деп аталған, басқа ішкі жүйелер үшін пайдалы бола бастады.[5][6] объектілер объектілерді басқарудың орталық механизмін қамтамасыз ету үшін әзірленді және драйверлер агностицизмнің ішкі жүйесін ұсыну үшін sysfs болып өзгертілді.

Sysfs астына орнатылған / sys бекіту нүктесі. Егер ол инициализация кезінде орнатылмаған болса, оны әрқашан: «mount -t sysfs sysfs / sys» пәрмені арқылы орнатуға болады.

Қолдау көрсетілетін автобустар

ACPI
Туралы ақпаратты экспорттайды ACPI құрылғылар.
PCI
Туралы ақпаратты экспорттайды PCI және PCI Express құрылғылар.
PCI Express
Туралы ақпаратты экспорттайды PCI Express құрылғылар.
USB флеш
Туралы ақпаратты экспорттайды USB флеш құрылғылар.
SCSI
Туралы ақпаратты экспорттайды жаппай сақтау құрылғылар, оның ішінде USB флеш, PATA, SATA, SCSI, SAS және NVMe интерфейстер.[7]
S / 390 автобустар
Ретінде S / 390 архитектурада басқа жерде табылмаған құрылғылар бар, арнайы автобустар жасалды:
  • CSS: Ішкі арналардан тұрады (қазіргі уақытта драйвер тек енгізу-шығару ішкі арналарына арналған).
  • ccw: Арнаға бекітілген құрылғылар бар (жетекші ОКЖ ).
  • ccwgroup: Пайдаланушы жасаған және ccw құрылғыларынан тұратын жасанды құрылғылар. 2.4 chandev функционалдығының кейбірін ауыстырады.
  • iucv: VM құрылғыларын қолданатын netiucv құрылғылары сияқты жасанды құрылғылар IUCV интерфейс.

Sysfs және пайдаланушылар кеңістігі

Sysfs-ті бірнеше утилиталар аппараттық құрал және оның драйвері туралы ақпаратқа қол жеткізу үшін қолданады (ядро модульдері ) сияқты удев немесе ХАЛ. Бұрын арқылы алынған ақпаратқа қол жеткізу үшін сценарийлер жазылған procfs, және кейбір сценарийлер құрылғы драйверлері мен құрылғыларын олардың атрибуттары арқылы теңшейді.

Сондай-ақ қараңыз

  • procfs
  • configfs
  • tmpfs
  • sysctl, BSD жүйелерінде қолданылатын конфигурацияны экспорттаудың балама тәсілі

Әдебиеттер тізімі

  1. ^ Патрик Мочел және Майк Мерфи. «sysfs - _ ядро ​​объектілерін экспорттауға арналған _ файлдық жүйе». kernel.org.
  2. ^ SUSE. «sysctl адам парағы». FreeBSD. sysctl жұмыс уақытында ядро ​​параметрлерін өзгерту үшін қолданылады. Қол жетімді параметрлер / proc / sys / астында берілгендер. Procfs Linux-та sysctl қолдауы үшін қажет. Sysctl деректерін оқу үшін де, жазу үшін де sysctl қолдана аласыз.
  3. ^ Торвалдс, Линус (18 қазан 2002). «Linux v2.5.44 - және оффлайн режимінде бір аптаға».
  4. ^ Torvalds, Linus (4 қараша 2002). «Linux v2.5.46».
  5. ^ Мочел, Патрик (17 қазан 2001). «[RFC] 2,5-ке арналған жаңа драйвер моделі».
  6. ^ Янсен, Тим (1 қараша 2001). «Re: [PATCH] 2.5 ҰСЫНЫС: Ағымдағы / проктың орнына ауыстыру».
  7. ^ «SCSI интерфейстерінің нұсқаулығы - Linux ядросы туралы құжаттама». www.kernel.org. Алынған 2020-11-13.

Сыртқы сілтемелер