[ Pobierz całość w formacie PDF ]
.Projekt zadania laboratoryjnegoZadanie laboratoryjne "Szybkie wyszukiwanie procesu"Spis tre¶cillllllllWprowadzeniePamiêæ operacyjna dzisiejszych komputerów osobisych jest bardzo czêstodu¿o mniejsza ni¿ zapotrzebowanie procesów.Dlatego w systemach procesnajczêsciej nie posiada wszystkich potrzebnych do poprawnego dzia³aniadanych w pamieci RAM.W tym celu powsta³ model pamieci wirtualneji stronicowanie.Najpro¶ciej mówi±c polega on na tym, ¿e proces posiadaw pamiêci RAM tylko pewien zbiór stron, a w momencie kiedy odwo³uje siêpoza niego strona ta jest sprowadzana z dysku do pamiêci.W sytemie Linux aby pamiêæ mog³a byæ przydzielana dla procesów i ichstron system co jaki¶ czas wywoluje funkcjê swap_out która próbujeusun±æ jak±¶ stronê z pamiêci RAM.Postawienie zadaniaW momencie kiedy wybieramy proces (w funkcji swap_out z plikuvmscan.c) któremu chcemy usun±æ z pamiêci stronê przegl±damy sekwencyjnietablicê zawieraj±c± wska¼niki na procesy.Tablica ta zawiera wiele pólo warto¶ciach NULL.Ponadto zawsze zaczynamy od procesu na którym ostatniozakoñczyli¶my przeszukiwanie - zmienna statyczna 'swap_task '.Zadanie polega na nastepujacej zmianie:Chcemy aby zamiast przeszukiwania tablicy (o wielu polach równych NULL)przeszukiwaæ procesy za pomoca listy.Testy, obserwacje i wnioskiW celu przetestowania proponujê przetestowaæ zmianê w sytuacji kiedyw systemie bêdzie diametralnie zmienia³a siê liczba procesów i bêdziedu¿o ¿±dañ udostêpnienia strony.Wtedy w³a¶nie powstanie du¿o pól wtablicy o warto¶ciach NULL i optymalizacja mo¿e byæ widoczna.Bibliografial Pliki ¼ród³owe Linuxa : ll linux/mm/vmscan.c ll linux/kernel/fork.c ll linux/include/sched.h llProjekt LabLinux lAutor: Rados³aw Szymaszek
[ Pobierz całość w formacie PDF ]