procfs

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:

Historyczny

Wersja Unix 8

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.

SVR4

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

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).

4.4 BSD

BSD 4.4 wykorzystuje klon procsys Plan 9.

Solaris

Podobnie solaris używa klonu procsys z Planu 9.

Linux

Systemu / Proc jest pochodna o planie 9 procsys .

/ proc / cpuinfo

/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 / kcore

/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 / meminfo

/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 .

Bibliografia

Zobacz też

Powiązane artykuły

Odniesienia zewnętrzne

Uwagi

  1. zobacz proces uruchamiania Linuksa  (en)
  2. (en) http://softwarecommunity.intel.com/isn/community/en-us/forums/thread/980608.aspx