systemów jest określenie sposobu, w jaki systemy te będą eksploatowane.
Na przykład wersja systemu operacyjnego UMX pochodząca z Sun Micro-
W systemie, w którym dostęp jest najczęściej sekwencyjny, powinno się za-
systems została zmieniona w 1991 r. w celu poprawienia wydajności algorytmu stosować inną metodę niż w systemie, w którym przeważa dostęp swobodny.
przydziału w systemie plików. Pomiary wydajności wykazały, że praca dysku
Dla dowolnego typu dostępu w przydziale ciągłym do pobrania bloku dysko-
typowej stacji roboczej (komputer Sparcstation 1 o szybkości 12 MIPS) przy
wego wystarcza tylko jeden kontakt z dyskiem. Ponieważ adres początku
maksymalnej przepustowości zajmowała 50% czasu jednostki centralnej, co po-
pliku może być z łatwością przechowywany w pamięci, można natychmiast
wodowało, że szerokość pasma w przypadku dysku wynosiła zaledwie 1,5 MB/s.
obliczyć adres dyskowy bloku o numerze i (lub bloku następnego) i przeczy-
Aby polepszyć wydajność, firma Sun dokonała zmian polegających na przy-
tać blok bezpośrednio.
dzielaniu obszarów gronami o rozmiarze 56 KB, gdy tylko było to możliwe. Ten Przy przydziale listowym adres następnego bloku również można przecho-rodzaj przydziału umożliwił zmniejszenie fragmentacji zewnętrznej, a co za tym wywać w pamięci i czytać blok bezpośrednio. Metoda ta jest dobra dla dostępu idzie - również czasu przeszukiwania dysku i wykrywania sektorów. Ponadto
sekwencyjnego, jednak sięgnięcie po blok o numerze i może wymagać / operacji procedury czytania dysku poddano optymalizacji pod kątem pobierania informa-czytania z dysku. Ta niedogodność przesądza o tym, że przydział listowy nie cji z tych wielkich gron. Strukturę i-węzła pozostawiono bez zmian. Te zmiany, powinien być stosowany tam, gdzie jest potrzebny dostęp bezpośredni.
wraz z zastosowaniem czytania z wyprzedzeniem i wczesnego zwalniania (meto-
W efekcie, w pewnych systemach dostęp bezpośredni jest uzyskiwany za
dy te są omówione w p. 11.5.2), spowodowały istotne polepszenie przepustowo-pomocą przydziału ciągłego, sekwencyjny zaś - za pomocą przydziału listowe-
ści, zmniejszając zapotrzebowanie na jednostkę centralną o 25%.
go. W takich systemach typ dostępu musi być deklarowany przy tworzeniu
pliku. Plik utworzony w celu dostępu sekwencyjnego będzie miał strukturę
Można wymyślić wiele innych optymalizacji i stosuje się wiele rozma-
listową i dostęp bezpośredni do niego nie będzie możliwy. Plik utworzony
itych ich odmian. Uwzględniając dysproporcję między szybkościami proceso-
w celu dostępu bezpośredniego będzie ciągły i umożliwi zarówno dostęp bez-
ra i dysku, dodanie do systemu operacyjnego tysięcy dodatkowych instrukcji
pośredni, jak i sekwencyjny, ale jego maksymalna długość będzie musiała być w celu zaoszczędzenia kilku ruchów głowicy może okazać się nie pozbawione
zadeklarowana w chwili tworzenia. Zauważmy, że w tym przypadku system
sensu. Co więcej, ta dysproporcja powiększa się z upływem czasu, osiągając
operacyjny musi mieć odpowiednie struktury danych i algorytmy umożliwiają-
stopień, przy którym daje się uzasadnić użycie setek tysięcy rozkazów w celu ce obie metody przydziału. Konwersji typów plików można dokonywać przez
optymalizacji ruchu głowic.
utworzenie nowego pliku o żądanym typie i przekopiowanie do niego zawarto-
ści starego pliku. Stary plik można wtedy usunąć, a nowy przemianować.
Przydział indeksowy jest bardziej złożony. Jeśli blok indeksowy jest już
11.3 • Zarządzanie wolną przestrzenią
w pamięci operacyjnej, to dostęp może się odbywać bezpośrednio. Jednak blok Ponieważ obszar dysku jest ograniczony, więc w miarę możliwości należy ko-indeksowy wymaga sporo miejsca w pamięci. Jeżeli brak jest miejsca w pamię-
niecznie dbać o wtórne zagospodarowywanie dla nowych plików przestrzeni po
ci, to można najpierw czytać blok indeksowy, a potem potrzebny blok danych.
plikach usuniętych. (Dyski optyczne zapisywalne jednorazowo pozwalają tylko
jednokrotnie zapisać dowolny sektor, w związku z czym tego rodzaju wtórne (liczba bitów w słowie) x (liczba wyzerowanych słów) +
ich użycie jest fizycznie niemożliwe). Aby mieć bieżące informacje o wolnych
+ pozycja pierwszego bitu 1
obszarach dyskowych, system utrzymuje listę wolnych obszarów (ang. jree-space list). Na liście wolnych obszarów są odnotowane wszystkie bloki, które I znów widzimy, jak właściwości sprzętu wpływają na funkcjonalność oprosą wolne, czyli nie przydzielone do żadnego pliku ani katalogu. W celu utwogramowania. Niestety, zastosowanie wektorów bitowych jest mało wydaj-
rzenia pliku sprawdza się, czy lista wolnych obszarów wykazuje wymaganą
ne, jeśli nie można przechowywać całego wektora w pamięci operacyjnej
ilość wolnego miejsca, po czym przydziela się to miejsce nowemu plikowi.
(z której zapisuje się go od czasu do czasu na dysku na wypadek odzyski-
Przydzielone miejsce zostaje wtedy usunięte z listy wolnych obszarów. Podczas wania). Przechowywanie wektora bitowego w pamięci operacyjnej jest
usuwania pliku zajmowany przez niego obszar na dysku jest dodawany do listy możliwe dla mniejszych dysków, takich jak stosowane w mikrokompute-wolnych obszarów. Wbrew nazwie lista wolnych obszarów nie musi być zaim-
|