[ Pobierz całość w formacie PDF ]
.Projekt zadania laboratoryjnegoZadanie laboratoryjne "Inteligentny wybór urz±dzeniawymiany"Spis tre¶ci:llllllllWprowadzenieW systemach komputerowych dzisiejszych czasów ilo¶æ pamiêci RAM jestznacznie mniejsza, ni¿ zapotrzebowanie programów uruchamianych nakomputerach.W celu umo¿liwienia uruchamiania i wykonywania takich programówstosuje siê tzw.pamiêæ wirtualn±.Pamiêæ wirtualna nie jest ograniczonailo¶ci± pamiêci RAM komputera.Oczywistym jest, ¿e gdzie¶ tu musi istnieæjakie¶ oszustwo - dane lub kod procesów musz± siê gdzie¶ podziaæ.Wsystemie Linux, tak jak i w wielu innych systemach u¿ywa siê dysku, abyprzechowywaæ te dane/kod.Pomaga tutaj wspomagane sprzêtowo stronicowanie na¿±danie.Pamiêæ procesu podzielona jest na bloki nazywane stronami, któresystem operacyjny niekoniecznie musi trzymaæ w pamiêci.Niektóre znieu¿ywanych stron zapisywane s± na dysk, aby nie u¿ywa³y pamiêci RAMkomputera i dopiero przy odwo³aniu do nich generowany jest b³±d brakustrony, którego obs³uga polega miêdzy innymi na wczytaniu strony zurz±dzenia do pamiêci.Oczywistym jest, ¿e chcemy zminimalizowaæ czaspotrzebny na wczytanie strony.W systemie Linux istnieje mo¿liwo¶æ u¿ywaniawielu urz±dzeñ wymiany, które mog± ró¿niæ siê szybko¶ci± dzia³ania.Gdychcemy wymie¶æ jak±¶ stronê na dysk, to algorytm wyboru urz±dzenia w systemieLinux w wersji j±dra 2.32 przegl±da urz±dzenia wymiany od najszybszego donajwolniejszego i je¿eli na którym¶ z nich jest jeszcze wolny blok, to goprzydziela.Postawienie zadaniaTematem zadania jest uzale¿nienie wyboru urz±dzenia od priorytetu wymiatanegoprocesu - oczywistym jest bowiem, ¿e procesy o wy¿szym priorytecie powinnymieæ pierwszeñstwo w dostêpie do szybszych urz±dzeñ wymiany.Mo¿liwe jestzastosowanie tutaj wielu algorytmów.Oczywi¶cie, ze wzglêdu na elastyczno¶æsystemu, nie ma sensu przydzielanie konkretnych urz±dzeñ jakiemu¶ zakresowipriorytetów procesów, poniewa¿ nie ma sensu, aby szybkie urz±dzenie wymianynie by³o u¿ywane tylko dlatego, ¿e w systemie nie ma wielu procesów owysokim priorytecie.Uzale¿nienie od priorytetów nale¿y rozumieæ jakou³atwienie procesom o wysokim priorytecie zabierania bloków na szybkichurz±dzeniach wymiany, gdy zaczyna ich brakowaæ.Nale¿y ustaliæ jak±¶granicê (np.80%), po przekroczeniu której proces o ma³ym prioryteciemo¿e dostaæ blok na szybkim urz±dzeniu wymiany tylko wtedy, gdy brakujewolnych bloków na wolniejszych urz±dzeniach wymiany.Testy, obserwacje i wnioskiW celu przetestowania wy¿ej zaproponowanego usprawnienia nale¿y zainstalowaæw systemie co najmniej dwa urz±dzenia wymiany, ró¿ni±ce siê znacznieszybko¶ci±.Ma to miejsce gdy jedno z urz±dzeñ wymiany operuje bezpo¶redniona partycji dysku, a drugie na pliku.Priorytety urz±dzeñ nie s±automatycznie wyliczane przez system, zatem nale¿y je podaæ przy pod³±czaniuurz±dzenia do systemu.Po obci±¿eniu systemu procesami o ró¿nychpriorytetach powinno siê daæ zauwa¿yæ wzrost szybko¶ci dzia³ania procesów owy¿szych priorytetach, kosztem szybko¶ci dzia³ania procesów o ni¿szympriorytecie.Je¶li natomiast obci±zymy system tylko procesami o niskimpriorytecie, to po wykonaniu komendy free mo¿na bêdzie zauwa¿yæniepe³ne wykorzystanie szybszego urz±dzenia wymiany.BibliografialPliki ¼ród³owe Linuxa:lllinux/mm/vmscan.clllinux/mm/swapfile.clllinux/include/swap.hllProjekt LabLinuxlAutor: Andrzej Kuczyñski
[ Pobierz całość w formacie PDF ]