Unified Device Model jest odpowiedzialny między innymi za:
- jakie urządzenia mamy w systemie, w jakim są stanie, do której szyny podłączone
- struktura szyn w systemie, które są połaczone z którymi, jakie urządzenia może wspierać ta szyna oraz które z
nich są dostępne
- sterowniki urządzeń w systemie, jakie urządzenia dany sterownik może obsługiwac i z jakimi szynami współpracować
- jakie klasy urządzeń istnieją i jakie w nich istnieją urządzenia
Ten system plików jest zawsze wkompilowany i może być montowany jak każdy inny wirtualny system plików. Nie potrzeba żadnych narzędzi przestrzeni użytkownika poza cat i echo. Narzędzie tree jest także dobre do oglądania ogólnej struktury.
mount -t sysfs none /sysDzięki sysfs możemy zobaczyć informacje dotyczące skomplikowanej struktury sprzętu w systemie. Kilka wystąpień tego samego sprzętu (pogrubione na przykładzie pierwszy dysk IDE).
Przykład:
/sys |-- block | |-- fd0 | | |-- dev | | |-- iosched | | | |-- fifo_batch | | | |-- front_merges | | | |-- read_expire | | | |-- write_expire | | | `-- writes_starved | | |-- range | | |-- size | | `-- stat | `-- hda | |-- dev | |-- device -> ../../devices/pci0/00:11.1/ide0/0.0 | |-- hda1 | | |-- dev | | |-- size | | |-- start | | `-- stat | |-- hda2 | | |-- dev | | |-- size | | |-- start | | `-- stat | |-- hda3 | | |-- dev | | |-- size | | |-- start | | `-- stat | |-- iosched | | |-- fifo_batch | | |-- front_merges | | |-- read_expire | | |-- write_expire | | `-- writes_starved | |-- range | |-- size | `-- stat |-- bus | |-- ide | | |-- devices | | | |-- 0.0 -> ../../../devices/pci0/00:11.1/ide0/0.0 | | | `-- 1.0 -> ../../../devices/pci0/00:11.1/ide1/1.0 | | `-- drivers | | `-- ide-disk | |-- pci | | |-- devices | | | |-- 00:00.0 -> ../../../devices/pci0/00:00.0 | | | |-- 00:01.0 -> ../../../devices/pci0/00:01.0 | | | |-- 00:05.0 -> ../../../devices/pci0/00:05.0 | | | |-- 00:09.0 -> ../../../devices/pci0/00:09.0 | | | |-- 00:09.1 -> ../../../devices/pci0/00:09.1 | | | |-- 00:09.2 -> ../../../devices/pci0/00:09.2 | | | |-- 00:0c.0 -> ../../../devices/pci0/00:0c.0 | | | |-- 00:11.0 -> ../../../devices/pci0/00:11.0 | | | |-- 00:11.1 -> ../../../devices/pci0/00:11.1 | | | |-- 00:11.2 -> ../../../devices/pci0/00:11.2 | | | |-- 00:11.3 -> ../../../devices/pci0/00:11.3 | | | `-- 01:00.0 -> ../../../devices/pci0/00:01.0/01:00.0 | | `-- drivers | | |-- AEC62xx IDE | | |-- ALI15x3 IDE | | |-- AMD IDE | | |-- CMD64x IDE | | |-- Cypress IDE | | |-- HPT34x IDE | | |-- HPT366 IDE | | |-- PIIX IDE | | |-- RZ1000 IDE | | |-- SIS IDE | | |-- SLC90e66 IDE | | |-- Serverworks IDE | | |-- VIA IDE | | | `-- 00:11.1 -> ../../../../devices/pci0/00:11.1 | | |-- eepro100 | | | `-- 00:0c.0 -> ../../../../devices/pci0/00:0c.0 | | `-- parport_pc | |-- platform | | |-- devices | | | `-- floppy0 -> ../../../devices/legacy/floppy0 | | `-- drivers | |-- pnp | | |-- devices | | `-- drivers | | |-- parport_pc | | `-- system | |-- system | | |-- devices | | | |-- cpu0 -> ../../../devices/sys/cpu0 | | | |-- pic0 -> ../../../devices/sys/pic0 | | | |-- rtc0 -> ../../../devices/sys/rtc0 | | | `-- timer0 -> ../../../devices/sys/timer0 | | `-- drivers | | |-- cpu | | | `-- cpu0 -> ../../../../devices/sys/cpu0 | | |-- pic | | | `-- pic0 -> ../../../../devices/sys/pic0 | | `-- timer | | `-- timer0 -> ../../../../devices/sys/timer0 | `-- usb | |-- devices | `-- drivers | |-- hub | |-- usb | `-- usbfs |-- class | |-- cpu | | `-- cpu0 | | `-- device -> ../../../devices/sys/cpu0 | |-- input | `-- tty |-- devices | |-- legacy | | |-- floppy0 | | | |-- name | | | `-- power | | |-- name | | `-- power | |-- pci0 | | |-- 00:00.0 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:01.0 | | | |-- 01:00.0 | | | | |-- class | | | | |-- device | | | | |-- irq | | | | |-- name | | | | |-- power | | | | |-- resource | | | | |-- subsystem_device | | | | |-- subsystem_vendor | | | | `-- vendor | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:05.0 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:09.0 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:09.1 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:09.2 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:0c.0 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:11.0 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:11.1 | | | |-- class | | | |-- device | | | |-- ide0 | | | | |-- 0.0 | | | | | |-- block -> ../../../../../block/hda | | | | | |-- name | | | | | `-- power | | | | |-- name | | | | `-- power | | | |-- ide1 | | | | |-- 1.0 | | | | | |-- name | | | | | `-- power | | | | |-- name | | | | `-- power | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:11.2 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- 00:11.3 | | | |-- class | | | |-- device | | | |-- irq | | | |-- name | | | |-- power | | | |-- resource | | | |-- subsystem_device | | | |-- subsystem_vendor | | | `-- vendor | | |-- name | | `-- power | `-- sys | |-- cpu0 | | |-- name | | `-- power | |-- name | |-- pic0 | | |-- name | | `-- power | |-- power | |-- rtc0 | | |-- name | | `-- power | `-- timer0 | |-- name | `-- power |-- firmware | `-- acpi | `-- namespace | `-- ACPI | |-- CPU0 | |-- PWRF | `-- _SB | |-- LNKA | |-- LNKB | |-- LNKC | |-- LNKD | |-- LNKE | |-- MEM1 | |-- PCI0 | | |-- IDE0 | | | |-- CHN0 | | | | |-- DRV0 | | | | `-- DRV1 | | | `-- CHN1 | | | |-- DRV0 | | | `-- DRV1 | | |-- PCI1 | | |-- PX40 | | | |-- COPR | | | |-- DMA1 | | | |-- ECP | | | |-- FDC0 | | | |-- IRDA | | | |-- LPT | | | |-- MSRD | | | |-- PIC | | | |-- PS2K | | | |-- PS2M | | | |-- PSMR | | | |-- RTC | | | |-- SBIO | | | |-- SDRD | | | |-- SPKR | | | |-- SYS1 | | | |-- SYS2 | | | |-- SYS3 | | | |-- TMR | | | |-- UAR1 | | | `-- UAR2 | | |-- USB0 | | `-- USB1 | `-- PWRB |-- fs | |-- autofs | |-- bdev | |-- binfmt_misc | |-- devpts | |-- eventpollfs | |-- ext2 | |-- ext3 | |-- futexfs | |-- iso9660 | |-- nfs | |-- nfs4 | |-- nfsd | |-- pipefs | |-- proc | |-- ramfs | |-- rootfs | |-- rpc_pipefs | |-- sockfs | |-- sysfs | |-- tmpfs | |-- usbdevfs | `-- usbfs `-- net `-- eth0 180 directories, 162 files