- Przyp. Iłum.
u plików 437
436 Rozdział 11 Implementacja systemu plików
W niektórych systemach schemat ten komplikuje się jeszcze bardziej
się jako plik. spet-ialny, to logiczny system plików może wywoływać moduł
wskutek zastosowania w pamięci operacyjnej tablic wielopoziomowych. Na
organizacji pliku w celu odwzorowywania katalogowych operacji wejścia-
przykład w systemie plików UNIX BSD każdy proces ma tablicę otwartych
-wyjścia na numery bloków dyskowych, które są przekazywane do podstawo-
plików, która zawiera wykaz wskaźników indeksowanych za pomocą de-
wego systemu plików i systemu sterowania wejściem-wyjściem.
skryptorów. Wskaźniki prowadzą do ogólnosystemowej tablicy otwartych
Po utworzeniu pliku można go używać do operacji wejścia-wyjścia.
plików. W tej tablicy są zawarte informacje o otwartych obiektach. W przy-
Przed każdą operacją wejścia-wyjścia można by odnajdywać plik w strukturze
padku plików jest wskazywana tablica aktywnych i-węzlów (ang. inodes).
katalogowej, sprawdzać jego parametry, lokalizować jego bloki danych, aby
W przypadku innych obiektów, takich jak przyłącza sieciowe lub urządzenia,
na koniec wykonać na tych blokach operację. Każda operacja wymagałaby
są wskazywane podobne informacje służące do ich udostępniania. Tablica
dużego zachodu. Zamiast tego plik przed udostępnieniem go procedurom
aktywnych i-węzłów jest organizowanym w pamięci operacyjnej podręcznym
wejścia-wyjścia należy otworzyć. Podczas otwierania pliku następuje odnale-zbiorem bieżąco używanych i-węzłów. Zawiera ona pola indeksowe i-węzłów
zienie odpowiedniego wpisu pliku w strukturze katalogowej. Fragmenty
wskazujące na dyskowe bloki danych. W ten sposób po otwarciu pliku
struktury katalogowej są zazwyczaj przechowywane podręcznie w pamięci
wszystko, z wyjątkiem samych bloków danych, znajduje się w pamięci opera-
operacyjnej, aby przyspieszyć działania na katalogach. Po znalezieniu pliku cyjnej do natychmiastowego użytku przez dowolny proces sięgający do pliku.
związane z nim informacje, takie jak rozmiar, właściciel, prawa dostępu
W rzeczywistości operacja open przeszukuje najpierw tablicę otwartych pli-i umiejscowienie bloków danych są z reguły kopiowane do tablicy nazywanej
ków, aby sprawdzić, czy plik nie jest już używany przez inny proces. Jeśli tak tablicą otwartych plików, znajdującej się w pamięci operacyjnej, i zawierają-
się właśnie dzieje, to następuje utworzenie procesowego wpisu w tablicy
cej informacje o wszystkich bieżąco otwartych plikach (rys. 11.2).
otwartych plików, prowadzącego do ogólnosystemowej tablicy otwartych
Pierwsze odwołanie do pliku (zazwyczaj operacja jego otwarcia - open)
plików. W przeciwnym razie następuje przekopiowanie i-węzła do tablicy
powoduje przeszukanie katalogu i przekopiowanie wpisu katalogowego doty-
aktywnych i-węzłów, utworzenie nowego wpisu w tablicy ogólnosystemowej
czącego danego pliku do tablicy otwartych plików. Do programu użytkownika
oraz nowego wpisu związanego z konkretnym procesem.
zostaje przekazany indeks do tej tablicy, wszystkie dalsze odwołania są więc wykonywane za pomocą tego indeksu, a nie nazwy symbolicznej. Indeks ten
System UNIX BSD ze stosowanym w nim podręcznym przechowywa-
bywa rozmaicie określany. W systemach uniksowych nazywa się go de-
niem danych w celu oszczędzania operacji dyskowych należy uznać za typo-
skryptorem pliku (ang. file descriptor), w systemie Windows NT nosi on na-wy. Średni współczynnik trafień dla pamięci podręcznej wynosi tu 85%, co
zwę uchwytu plikowego (ang. file handle), a w innych systemach jest nazywa-dowodzi, że metody takie są zdecydowanie warte implementowania. Pełny
ny blokiem kontrolnym pliku (ang. file control błock). Tak więc dopóki nie opis systemu UNIX BSD zawiera rozdz. 21. Tablica otwartych plików jest
nastąpi zamknięcie pliku, dopóty wszystkie operacje plikowe są wykonywane
szczegółowo omówiona w p. 10.1.2.
z użyciem tablicy otwartych plików. Po zamknięciu pliku przez wszystkich
korzystających z niego użytkowników uaktualnione informacje o nim są
11.1.2 Montowanie systemu plików
z powrotem kopiowane do dyskowej struktury katalogowej.
Na podobieństwo tego, że plik przed użyciem wymaga otwarcia, system plików
musi być zamontowany, zanim stanie się dostępny dla procesów w systemie operacyjnym. Procedura montażu jest prosta. Systemowi operacyjnemu podaje się
nazwę urządzenia oraz określa miejsce w strukturze plików, do którego należy przyłączyć system plików (nazywane punktem montażu - ang. mount point). Na przykład w systemie UNIX system plików zawierający prywatny katalog użytkownika można by zamontować pod nazwą fhome. Wówczas w celu dostępu do struktury katalogowej w obrębie tego systemu plików nazwy katalogów można
by poprzedzać przedrostkiem /home, jak w nazwie /home/jane. Zamontowanie tego systemu plików w punkcie /users spowodowałoby, że ścieżka prowadząca do tego samego katalogu przybrałaby postać /users/jane.
4 3 8 Rozdział 11 Implementacja systemu plików
System operacyjny sprawdza następnie, czy urządzenie zawiera właściwy
system plików. W tym celu prosi moduł obsługi urządzenia o przeczytanie
katalogu urządzenia i sprawdza, czy katalog ma oczekiwany format. Na ko-
niec system operacyjny zaznacza w swojej strukturze katalogowej zamonto-