Do spisu treści tematu nadrzędnego

4.12.11 Zadanie laboratoryjne "Urzadzenia wymiany"


Spis treści:


Wprowadzenie

       W systemie operacyjnym Linux 2.0.32 oraz w wersjach wcześniejszych istnieje pewna niedoskonałosć, która wydaje się w praktyce nie mieć większego znaczenia, ale jako obiekt zainteresowania, dla osób które by chciały coś "ulepszyć" wydaje się być dość ambitnym zadaniem. Chodzi o maksymalny rozmiar miejsca dostępnego na urządzeniu wymiany, które jest ograniczone przez sposób w jaki jest zarządzana pamiecią na tym urządzeniu. Na poczatku pamięci urządzenia wymiany znajduje się tablica bitowa  swap_lockmap, która przy inicjowaniu urządzenia przez funkcje  sys_swapon(..) wczytywana jest jako ramka (zatem ma rozmiar 4KB ).Za pomoca swap_lockmap ustalany jest rozmiar pamięci jaka jest dostępna na urządzeniu. Ograniczenie wynika stąd, że za pomocą swap_lockmap moąemy reprezentować rozmiar pamięci nie większy niz (4096 - 10) *8*4096 = 133890048 bajtów =127.6875 Mb. (pierwsza cześć iloczynu to rozmiar pierwszej ramki na urządzeniu (lock_map) pomniejszony o 10 bajtow przeznaczony na "flage" "SWAP_SPACE", która zostaje tam umieszczona po prawidłowym zainicjowaniu urządzenia). Z praktycznegoo punktu widzenia wydaje się, ze rozmiar prawie 128Mb pamięci przeznaczonej na urządzenie wymiany jest bardzo duża, jednak może sie okazać w przyszloćci, że potrzeba usunięcia takiego ograniczenia może okazać sie o ile nie konieczne to byc może przydatne.  Zadanie jakie chciałbym postawić to umożliwienie w systemie Linux 2.0.32 usunięcia ograniczenia tak, aby rozmiar pamięci na urządzeniu wymiany byl ograniczony czynnikami wynikajacymi z ograniczeń np.: sprzętu a nie systemu.
 

Specyfikacja zadanie

      Aby zmodyfikować system w celu osiagnęcia zamierzonego celu przed przystąpieniem do rozwiązania zadania należy:     Zadanie ma polegać na :  


Wskazowki dotyczace implementacji

      Kluczowym problemem w rozwiązaniu tego zadania wydaje się być pogodzenie obu sposobów zarządzania pamiecią na urządzeniu . Należy się skupić przede wszystkim na inicjowaniu partycji ,a wiec zainstalowaniu na niej nowej struktury swap_lockmap tak , aby miała własności standartowej a jednocześnie umożliwiała obsługe większych urządzen.
 

Testy i wnioski

 Wiadomo, że zwiększenie pamięci na urzadzeniu wymiany powoduje zwiększenie pamięci wirtualnej. Jedynym rozsądym testem wydaje się badanie zachowania się systemu w przypadku
uruchamiania wiekszej ilości programów tak, aby zmusic system do zwiekszonej ilości operacji wymiany pamieć - dysk. Jednak zaleta najważniejsza tego zadania wydaje sie być strona merytoryczna polegająca na dokładnym zapoznaniu się z mechanizmami obsługi urządzeń wymiany.

Bibliografia

  1. Pliki źródłowe Linuxa:
  2. Projekt LabLinux

Autor: Mariusz Puchalski