Z systemów typu Unix , procfs ( system plików proces , system plików proces w języku angielskim) jest systemem pseudo-file (pseudo ponieważ generowane dynamicznie przy starcie), stosowane do uzyskania dostępu do informacji rdzeń procesu. System plików jest często montowany w katalogu /proc .
Ponieważ nie /procjest to rzeczywista struktura drzewa , nie zajmuje miejsca na dysku, a jedynie ograniczoną ilość pamięci RAM . Powoduje to pozorny paradoks : niepusty plik ma wyświetlany rozmiar 0 (z ls ).
procfs jest obsługiwany na następujących systemach:
Wersja / proc w wersji 8 Unix (in) została zaimplementowana przez Toma J. Killiana, który przedstawił artykuł zatytułowany Processes as Files (proces reprezentowany jako pliki) USENIX wCzerwiec 1984. Ta pierwsza wersja została zaprojektowana w celu zastąpienia wywołania systemowego ptrace używanego do śledzenia procesów.
Roger Faulkner i Ron Gomes przenieśli / proc do SVR4 i opublikowali artykuł zatytułowany The Process File System and Process Model in UNIX System V w USENIX wStyczeń 1991. Wersja ta /proczostała zastosowana w celu dostarczenia odpowiednika polecenia ps , ale pliki były dostępne tylko przez funkcje read () , write()i ioctl ().
Plan 9 również implementuje system plików procesu, ale idzie dalej niż Unix w wersji 8: w poprzedniej wersji był tylko jeden plik na proces, podczas gdy w nowej wersji każdy proces ma wiele powiązanych plików (każdy plik odpowiada funkcji).
BSD 4.4 wykorzystuje klon procsys Plan 9.
Podobnie solaris używa klonu procsys z Planu 9.
Systemu / Proc jest pochodna o planie 9 procsys .
/proc/cpuinfoto pseudo-plik zawierający informacje o procesorach systemowych .
W przypadku systemu x86 wyświetla listę wszystkich rdzeni każdego procesora; zawiera następujące wiersze:
Rodzina procesorów | Model | Stepping | Rozmiar pamięci podręcznej | Nazwa modelu | Opis |
---|---|---|---|---|---|
3 | 0 | 0 | x | ? | Intel 386 DX |
3 | 2 | 0 | x | ? | Intel386 SX / CX / EX |
3 | 4 | 0/1 | x | ? | Intel386 SL |
4 | 0/1 | x | x | ? | Intel 486 DX |
4 | 2 | x | x | ? | Intel486 SX |
4 | 3 | x | x | ? | Intel487 / DX2 / DX2 OverDrive |
4 | 4 | x | x | ? | Intel486 SL |
4 | 5 | x | x | ? | IntelSX2 |
4 | 8 | x | x | ? | IntelDX4 / DX4 Overdrive |
5 | 1 | x | x | ? | Procesory Pentium / Pentium OverDrive (60,66) |
5 | 2 | x | x | ? | Procesory Pentium / Pentium OverDrive (75,90,100,120,133,150,166,200) |
5 | 3 | x | x | ? | Pentium OverDrive dla systemów opartych na 486 |
5 | 4 | x | x | ? | Procesor Pentium z technologią MMX (166200) i OverDrive z MMX dla Pentium (75,90,100,120,133) |
6 | 1 | x | x | ? | Pentium Pro |
6 | 3 | x | x | ? | Pentium II, model 3 i procesor Intel Pentium II OverDrive |
6 | 5 | x | 0 | ? | Intel Celeron model 5 |
6 | 5 | x | 1 / 2Mb | ? | Pentium II Xeon , model 5 |
6 | 5 | x | Inaczej | ? | Pentium II, model 5, Pentium II Xeon z pamięcią podręczną L2 512 kB |
6 | 6 | x | x | ? | Celeron model 6 |
6 | 7 | x | 1 / 2Mb | ? | Pentium III Xeon, model 7 |
6 | 7 | x | Inaczej | ? | Pentium III, model 7 lub Pentium III Xeon, model 7 z pamięcią podręczną L2 512 kB |
6 | 8 | x | x | ? | Pentium III, model 8, Pentium III Xeon, model 8 i Intel Celeron model 8 |
6 | 9 | x | x | ? | Procesor Pentium M i Intel Celeron model 9 |
6 | 10 | x | x | ? | Pentium III Xeon, model A |
6 | 11 | x | x | ? | Pentium III Xeon, model B |
6 | 13 | x | x | ? | Procesor Intel Pentium M, Intel Celeron M model D. Wszystkie procesory są produkowane w procesie 90 nm |
6 | 14 | x | x | ? | Procesor Intel Core Duo, Intel Core Solo model E. Wszystkie procesory są produkowane w procesie 65 nm |
6 | 15 | x | x | ? | Procesor Intel Core 2 Duo model F, Xeon 51xx i 53xx. Wszystkie procesory są produkowane w procesie 65 nm |
15 | 0 | x | x | ? | Procesor Pentium 4 i Intel Xeon. Wszystkie procesory to model 0 i wyprodukowane w procesie 0,18 mikrometra |
15 | 1 | x | x | ? | Pentium 4, procesor Xeon, procesor Intel Xeon MP i Intel Celeron. Wszystkie procesory to model 1 i wyprodukowane w procesie 0,18 mikrometra |
15 | 2 | x | x | ? | Pentium 4, Mobile Intel P4 - M, procesor Xeon, procesor Intel Xeon MP, Intel Celeron i Mobile Intel Celeron. Wszystkie procesory to model 2 i wyprodukowane w procesie 0,13 mikrometra |
15 | 3 | x | x | ? | Pentium 4, procesor Xeon, Intel Celeron D. Wszystkie procesory to model 3 i wyprodukowane w procesie 90 nm |
15 | 4 | x | x | ? | Pentium 4, P4 Extreme edition, Pentium D, procesor Xeon, Xeon MP i Celeton D. Wszystkie procesory to model 4 i wyprodukowane w procesie 90 nm |
15 | 6 | x | x | ? | Pentium 4, Pentium Extreme Edition, Pentium D, procesor Xeon, Xeon MP i Celeron D. Wszystkie procesory to model 6 i wyprodukowane w procesie 65 nm |
Oto przykład maszyny wirtualnej z /proc/cpuinfosystemem Linux włączającej z / VM (en) :
vendor_id : IBM/S390 # processors : 1 bogomips per cpu: 7668.00 features : esan3 zarch stfle msa ldisp eimm dfp processor 0: version = FF, identification = 080C92, machine = 2097/proc/kcoreto pseudo plik reprezentujący fizyczną pamięć systemu w postaci pliku podstawowego ELF. Używając tego pseudo-pliku i unstriped binary ( /usr/src/linux/vmlinux) jądra , gdb może być użyty do sprawdzenia stanu dowolnej struktury danych jądra.
W przeciwieństwie do większości innych plików /proc, polecenie lszgłasza niezerowy rozmiar tego pliku. W rzeczywistości rozmiar tego pliku jest równy rozmiarowi fizycznej pamięci RAM plus 4 KB.W przypadku jądra 64-bitowego rozmiar tego pliku to 128 terabajtów , co jest maksymalnym rozmiarem możliwym do adresowania przez taką architekturę .
Wielu początkujących jest uwięzionych przez rozmiar tego pseudopliku i próbują go wyeliminować, aby zaoszczędzić miejsce na dysku.
/proc/meminfojest pseudo-plikiem implementacji procfsw najnowszych jądrach Linuksa . Służy do dostarczania informacji o aktualnym stanie pamięci systemowej, w tym pamięci wirtualnej i pamięci podręcznej systemu. Jest to podstawowy sposób uzyskiwania dostępu do tych informacji dla programów w przestrzeni użytkownika i jest używany przez wiele narzędzi do monitorowania systemu .