Index Foster Alan Dean Tran ky ky 01 Lodowy Kliper Chalker Jack L Swiaty Rombu 01 Lilith Waz w trawie Zelazny Roger Amber 01 Dziewieciu Ksiazat Amberu abc.com.pl 6 Bertin Joanne Ostatni Lord Smok Zlecenie Jansona 41 1 (3) Chalker Jack L Swiaty Rombu 02 Cerber Wilk w owczarni Verne Juliusz Rozbitek z Cynthii ENTER.1996 2001 |
[ Pobierz caÅ‚ość w formacie PDF ] .Systemy operacyjne: Zadanie.System plikówZadanie dla studentów Modu³ do obs³ugi podrêcznej pamiêci buforowejw systemie Linux korzysta z tych samych stron pamiêci, co pozosta³eprocesy.Zasadnicz± jego cech± jest to, ¿e na buforowaniebloków dyskowych pobiera tyle pamiêci, ile jest aktualniedostêpne (z drobnym tylko ograniczeniem). Dok³adniej: je¶li zajdzie potrzeba na buforowanie bloku dyskowego,którego nie ma jeszcze w pamiêci buforowej, a lista buforów,,wolnych'' bêdzie pusta, to pierwszym krokiem systemu bêdziepróba zarezerwowania nowej strony pamiêci (funkcjarefill_freelist). Strategia taka prowadzi do zajêcia bardzo du¿ej czê¶cipamiêci przez pamiêæ buforow±.Je¶li inne procesyzg³osz± zapotrzebowanie na pamiêæ, to zachodzi potrzebazwolnienia stron z u¿ytkowania przez bufory.System musi po¶wiêciæna to pewn± ilo¶æ czasu. Zachodzi pytanie, czy strategia stosowana w Linuxie jest zawsze korzystna.Mo¿e lepiej by³oby ograniczyæ pamiêæ, któr±mog± wype³niæ bufory. Niech ,,trafienie'' oznacza wywo³anie funkcjigetblk, dla którego¿±dany blok znajduje siê ju¿ w pamiêci.Skuteczno¶æ podrêcznej pamiêci buforowej mo¿emymierzyæ ilo¶ci± trafieñ w stosunku do ogólnejliczby wywo³añ funkcji getblk. Je¿eli procent trafieñ zale¿y liniowo od pamiêciprzeznaczonej na pamiêæ buforow±, to oczywi¶cie ograniczenietej pamiêci zawsze bêdzie wi±zaæ siê z pogorszeniemefektywno¶ci systemu: Je¿eli jednak narastanie nie jest liniowe, ale np.takie:to obciêcie pamiêci przeznaczonej na buforowanie na poziomienp.p0 (zaznaczonym lini± przerywan±) nie powinno os³abiæzbytnio efektu buforowania, a rzadziej trzeba by by³o zwalniaæstrony zajmowane przez bufory. Oczywi¶cie badanie procenta trafieñ powinno odbywaæ siêprzy jakim¶ ustalonym u¿ytkowaniu systemu, tzn.przy dzia³aniutych samych programów w tym samym przedziale czasu. Tematem zadania jest:a) Zmodyfikowanie modu³u odpowiedzialnego za podrêczn±pamiêæ buforow± tak, aby ilo¶æ dostêpnej dlaniego pamiêci mo¿na by³o ograniczyæ przez sta³±;b) Napisanie procedury wy¶wietlaj±cej aktualny stan pamiêcibuforowej - np.poprzez rozszerzenie ju¿ istniej±cej show_buffers.Procedura taka powinna wy¶wietlaæ:procent trafieñ w ustalonym przedziale czasu,ilo¶æ buforów na ka¿dej z list lru,ilo¶æ buforów, które znajduj± siêna nieodpowiedniej li¶cie lru (tzn.innej ni¿ wskazuje to pole nag³Ã³wkab_list)c) Przeprowadzeniu eksperymentu prowadz±cego do wyliczenia zale¿no¶ciprocenta trafieñ od ograniczenia pamiêci Podpunkt a) powinien byæ zrealizowany tak, aby umo¿liwiaæzmianê ograniczenia pamiêci z poziomu u¿ytkownika, tzn.bez ponownej kompilacji j±dra. Wskazówki: 1.Jak umo¿liwiæ przesy³anie parametrów dodzia³aj±cego systemu: Mo¿na to oczywi¶cie zrobiæ na wiele sposobów, tenopisany poni¿ej jest chyba najprostszy, choæ nieelegancki.Przesy³anie danych nie jest jednak g³Ã³wnym tematem zadania. Jedn± z funkcji, któr± udostêpnia modu³obs³uguj±cy pamiêæ buforow± jest fsync,która wymusza zapisanie pliku na dysk.Taki jest jej nag³Ã³wek:asmlinkage int sys_fsync(unsigned int fd); Argument fd jest numerem deskryptora, wiêc jest zawszemniejszy ni¿ 20.Proponujê, aby dla warto¶ci wiêkszychod 20 funkcja wykonywa³a jak±¶ now± (nasz±) procedurê.Pocz±tek funkcji sys_fsync móg³by wygl±daætak:asmlinkage int sys_fsync(unsigned int fd){if (fd>;20) { zrób_co¶_nowego(fd); return NULL; };.} Po skompilowaniu i uruhomieniu tak wygl±daj±cego j±dramo¿emy wywo³aæ funkcjê zrób_co¶_nowegouruchamiaj±c np.taki program napisany w C:main() {fsync(123);}; 2.Jak wy¶wietlaæ informacje dotycz±ce j±dra: Wywo³anie przez j±dro procedury:write_tty_message(current->;tty, "Tekst, np.zmienna typu char* \r\n"); spowoduje wypisanie odpowiedniego napisu na ekranie u¿ytkownika.autor: Tomasz Bogus³awski [ Pobierz caÅ‚ość w formacie PDF ] |
||||
Wszelkie Prawa Zastrzeżone! Kawa była słaba i bez smaku. Nie miała treści, a jedynie formę. Design by SZABLONY.maniak.pl. | |||||