dodatkowych kontaktów z dyskiem...

Pokaż mi serce nie opętane zwodniczymi marzeniami, a pokażę ci człowieka szczęśliwego.

Fragmentacja zewnętrzna może znacznie
wymiany jest umożliwienie najlepszej przepustowości systemowej pamięci
wydłużyć czas wymiany, powodując konieczność wielokrotnych przeszukan
wirtualnej. W tym punkcie omawiamy sposób użycia obszaru wymiany, jego
podczas czytania lub zapisywania obrazu procesu. Wydajność można popra-
umiejscowienie na dysku oraz sposób, w jaki się nim zarządza.
wić, przechowując podręcznie w pamięci operacyjnej informacje o położeniu
bloków oraz stosując specjalne narzędzia do przydzielania obszaru wymiany
jako fizycznie ciągłych grup bloków. Jednak wciąż będzie pozostawał koszt
13.4.1 Wykorzystanie obszaru wymiany przechodzenia przez struktury danych systemu plików.
Obszar wymiany jest używany na wiele sposobów przez różne systemy ope-
Znacznie częściej obszar wymiany jest tworzony w osobnej strefie dys-
racyjne, zależnie od zrealizowanych algorytmów zarządzania pamięcią. Na
kowej. Nie lokalizuje się w niej żadnego systemu plików ani nie buduje
przykład systemy implementujące wymianę mogą korzystać z obszaru wy-
struktury katalogowej. Zamiast tego do przydzielania i zwalniania bloków
stosuje się zarządcę pamięci obszaru wymiany. Nic optymalizuje on zużycia
* Dosłownie: prześlizgiwania się sektora. ~ Przyp. tłum.
pamięci, lecz korzysta z algorytmów optymalizowanych ze względu na szyb-
524 Rozdział 13 Struktura pamięci pomocniczej
13.4 ZarzÄ…dzanie obszarem wymiany 525
kość. Wewnętrzna fragmentacja może rosnąć, lecz jest to kompromis do
przyjęcia, ponieważ w obszarze wymiany dane pozostają przez znacznie krót-
sze okresy niż pliki w systemie plików, natomiast dostęp do obszaru wymiany może być znacznie częstszy. Niestety, takie podejście powoduje utworzenie
podczas dzielenia dysku na strefy obszaru wymiany o stałej wielkości. Zwiększenie ilości miejsca w obszarze wymiany wymaga więc powtórnego podziału
dysku na strefy (co pociąga za sobą przemieszczanie lub zniszczenie i odtwarzanie innych stref z systemami plików z kopii rezerwowych). Nowy obszar
Rys. 13.7 Mapa wymiany segmentu tekstu w systemie 4.3BSD
wymiany można też dodać gdziekolwiek do systemu.
Niektóre systemy operacyjne są elastyczne i mogą dokonywać wymian
JÄ…dro korzysta z dwu procesowych map wymiany (ang. swap mops)
zarówno w strefach surowych, jak i w przestrzeni systemu plików. Przykła-
w celu doglądania użytkowania obszaru wymiany. Segment tekstu ma ustalo-
dem jest system Solaris. KwestiÄ™ polityki oddzielono w nim od implementa-
ny rozmiar, więc jego obszar wymiany jest przydzielany kawałkami po
cji, co umożliwia administratorowi maszyny decydować o wyborze rodzaju
512 KB, z wyjątkiem ostatniego kawałka, wymierzanego w przyrostach 1 K,
obszaru wymiany. Kompromis zawiera się między wygodą przydzielania
w którym przechowuje się resztę stron (rys. 13.7).
miejsca i zarządzania systemem plików a wydajnością wymian w surowych
Mapa wymiany segmentu danych jest bardziej skomplikowana, ponieważ
strefach.
segment danych może rosnąć z upływem czasu. Mapa ma ustalony rozmiar,
ale zawiera adresy bloków wymiany o zmiennych rozmiarach. Blok wskazy-
13.4.3 ZarzÄ…dzanie obszarem wymiany
wany przez wpis w mapie wymiany z pozycji / ma rozmiar 2' xl6 KB, przy
czym jego maksymalna wielkość może wynieść 2 MB. Ta struktura danych
Aby zilustrować metody stosowane do zarządzania obszarem wymiany, przy-
jest zilustrowana na rys. 13.8. (Minimalne wartości bloków są określone przez patrzymy się rozwojowi metod wymiany i stronicowania w systemie UNIX.
zmienne, których wartości można zmienić przy wznawianiu pracy systemu).
W systemie UNIX (omawiamy go w pełni w rozdz. 21) implementowanie
Jeśli proces próbuje powiększyć segment danych poza ostatnio przydzielony
wymiany rozpoczęto od kopiowania całych procesów z pamięcią operacyjną
blok w obszarze wymiany, to system operacyjny przydziela mu nowy blok -
do ciągłych obszarów dysku i z powrotem. Wraz z pojawieniem się sprzętu
dwa razy większy niż blok przydzielony poprzednio. Dzięki takiemu postę-
stronicującego system UNIX wyewoluował w kierunku kombinacji wymiany
powaniu małe procesy używają małych bloków. Zmniejsza się również frag-
i stronicowania.
mentacja. Bloki wielkich procesów można szybko odnajdywać, a mapa wy-
W systemie 4.3BSD uruchamianemu procesowi przydziela siÄ™ obszar
miany pozostaje mała.
wymiany. W pamięci pomocniczej rezerwuje się miejsce w ilości wystarcza-
Konstruktorzy systemu Solaris 1 (SunOS 4) wprowadzili do standardo-
jÄ…cej na pomieszczenie programu (ten obszar nazywa siÄ™ stronami tekstu (ang.
wych metod uniksowych modyfikacje mające polepszyć wydajność i uwzględ-
text pages) lub segmentem tekstu (ang. text segment)) i segmentu danych pro-nić zmiany technologiczne. Podczas wykonywania procesu strony segmentu
cesu. Dzięki wstępnemu przydziałowi całej potrzebnej przestrzeni z reguły
tekstu są sprowadzane z systemu plików do pamięci operacyjnej, w której sieje chroni się proces przed brakiem obszaru wymiany podczas działania. Gdy
udostępnia i z której są usuwane, jeśli zostaną do tego zakwalifikowane. Po-rozpoczyna się wykonywanie procesu, wówczas strony jego tekstu zostają
sprowadzone z systemu plików. Te strony są w razie potrzeby wysyłane do
obszaru wymiany i są z niego czytane z powrotem, więc kontakt z systemem
plików przypada tylko po razie na każdą stronę tekstu. Strony z segmentu
Copyright (c) 2009 Pokaż mi serce nie opętane zwodniczymi marzeniami, a pokażę ci człowieka szczęśliwego. | Powered by Wordpress. Fresh News Theme by WooThemes - Premium Wordpress Themes.