2012-12-27 14 views
11

S_IRUSR jest stałą makr w sys/stat.h of posix. oznacza bit uprawnień do odczytu przez użytkownika.co oznacza "I" w S_IRUSR

prefiks S_ może oznaczać "status" RUSR może być odczytany przez użytkownika. , ale jakie jest znaczenie "ja"?

Odpowiedz

16

Nazewnictwo jest historyczne ... sięgające najwcześniejszych dni UNIX. "S" jest dla STAT, "I" dla INODE (termin nie jest tak naprawdę używany w samym POSIX poza uzasadnieniem), "R" dla READ i "USR" dla USER.

I-węzły otrzymują kilka wzmianek, a struktura statystyk zawiera również "st_ino", które standard opisuje jako "Numer seryjny pliku". W wielu implementacjach POSIX, i-węzeł jest strukturą danych zawierającą wszystkie meta-dane dla pliku (z których znaczna część jest odczytywana przez wywołanie stat()).

(Z Wikipedii :) Przyczyna oznaczenia ich jako "i" jest nieznana. Zapytany, pionier Unix Dennis Ritchie odpowiedział:

Tak naprawdę też nie wiem. To był tylko termin, który zaczęliśmy używać. "Indeks" jest moim zdaniem najlepszym ze względu na nieco nietypową strukturę systemu, przechowującą informacje o dostępie do plików w postaci płaskiej tablicy na dysku, z wszystkimi hierarchicznymi informacjami o katalogu. Tak więc i-liczba jest indeksem w tej tablicy, i-węzeł jest wybranym elementem tablicy.

(The "i-" notacja użyto w 1. Podręcznik Wydanie;. Jego łącznik stopniowo spadła)