[ Pobierz całość w formacie PDF ]
.Zbiory te musia³yby byæ roz³±czne , co spowodowa³oby du¿e ograniczeniana maksymaln± ilo¶æ pamiêci dla procesów ( ograniczeniem by³aby wielko¶æpamiêci operacyjnej komputera ).Przydzielenie pamiêci dyskowej procesowispowodowa³oby znowu , ¿e ka¿de odwo³anie do niej zajmowa³oby straszniedu¿o czasu , co wyd³u¿y³oby wykonywanie programów setki lub nawet tysi±cerazy.Zalety stronicowania G³Ã³wn± zalet± stronicowania jest brak fragmentacjizewnêtrznej czyli sytuacji , w której w pamiêci robi± siê dziury ,z których ju¿ nikt nie skorzysta.PRZYK£AD :Za³Ã³¿my , ¿e pozwolnieniu obszaru pamiêci wielko¶ci 2 kB kto¶ zg³aszazapotrzebowanie na 1,9 kB , które zostaje mu przydzielone z uprzednio zwolnionegoobszaru.Powstaje niezagospodarowany kawa³ek pamiêci wielko¶ci ok.100bajtów ( o ile nie uda siê go w³±czyæ do kolejnego obszaru , który byæmo¿e te¿ jest wolny).Jest on na tyle ma³y , ¿e byæ mo¿e nigdy nie znajdziesiê na niego chêtny i ta czê¶æ pamiêci zostanie bezu¿yteczna.Taka sytuacjamo¿e siê zdarzaæ czêsto i w sumie takie dziury spowodowa³yby , ¿e sporejczê¶ci pamiêci nie mo¿na wykorzystaæ. Przydzielanie pamiêci w kawa³kach ustalonego rozmiaru zapobiegafragmentacji zewnêtrznej gdy¿ najmniejszy nie u¿yty blok pamiêci ma rozmiarjednej strony.Taki blok ma równe sznse zostaæ u¿ytym jak ka¿dy inny ,poniewa¿ proces i tak dostaje pamiêæ po jednej ramce ( a nie kilka na raz). Wi±¿e siê z tym tak¿e inna zaleta.Proces , który zg³asza zapotrzebowaniena kilka ramek dostaje je pojedyñczo , co powoduje , ¿e nie musz± byæ onespójnym blokiem pamiêci fizycznej.Mo¿na wyobraziæ sobie sytuacjê, w której procesy musz± dostawaæ spójne bloki pamiêci : proces czeka naobszar wielko¶ci 10 ramek , a w systemie wolnych jest wiele bloków wielko¶ciod jednej do dziewiêciu ramek, ale nie ma wiêkszych.Proces musi czekaæ, mimo ¿e w sumie wolnej pamiêci jest tyle, ¿e mo¿na by zrealizowaæ wielokrotniewiêksze ¿±danie.Wady stronicowania Wad stronicowania jest niewiele , i pewnie dlatego jest onopodstaw± zarz±dzania pamiêci± wszystkich wersji systemu UNIX.Jedyne wadyjakie przychodz± do g³owy to:fragmentacja wewnêtrzna - proces mo¿e potrzebowaæ du¿o mniejni¿ 4 kB pamiêci , a mimo to dostanie blok tej wielko¶ci.Pozosta³a czê¶æstrony nie zostanie byæ mo¿e u¿yta.koszt utrzymywania pamiêci w postaci stron i ramek - dla ka¿dej stronyi ramki trzyma siê informacje o nich (zajmuj± kilka bajtów ) co w sumiedaje poka¼n± ilo¶æ pamiêci. Eliminowanie jednej z dwóch wy¿ej wymienionych wad powoduje narastaniedrugiej.Zwiêkszenie sta³ej PAGE_SIZE spowodowa³oby mniejszy koszt urzymaniapamiêci (mniejsza liczba ramek i stron) ale wiêksz± fragmentacjê zeenêtrzn±.Natomiast zmniejszenie tej sta³ej zniwelowa³oby efekt fragmentacji wewnêtrznej(mniejsze strony - mniej do zmarnowania ) ale zwiêkszy³oby siê koszty (ro¶nie liczba stron i ramek).Bibliografiaplik : page_alloc.cplik : page.hplik : memory.cMaurice J.Bach "Budowa systemu operacyjnego UNIX"Autor: Maciej Kwiatkowski
[ Pobierz całość w formacie PDF ]