System plików
Zadanie Domowe nr 5
Wstęp
Zadanie to dotyczy podręcznej pamięci buforowej i polega na zmianie
sposobu odświeżania kolejki wolnych buforów (free_list) w systemie Linux.
Należy przeprojektować funkcję refill_freelist()
zajmującą się pozyskiwaniem nowych buforów do kolejki wolnych w przypadku,
gdy kolejka ta jest pusta.
W systemie Linux w celu dostarczenia czystego bufora jądro próbuje pobrać
go z kolejki wolnych buforów o odpowiednim rozmiarze. W przypadku, gdy
kolejka ta jest pusta, a w systemie jest dużo wolnej pamięci, jądro dzieli
wolne strony pamięci tworząc z nich nowe bufory. Gdy ta metoda zawiedzie,
to dla każdej listy lru wyznacza się bufor - kandydata. Spośród kandydatów
jako zwycięzcę elekcji bierze się bufor, który byl najdłużej nie używany
i zwalnia się go, a następnie doczepia do listy wolnych buforów. Zadanie
polega na zmianie tego algorytmu oraz przeprowadzenia serii testów wskazujących
wpływ poczynionych zmian na efektywność systemu.
Zadanie
Należy wprowadzić możliwość uzyskiwania nowych wolnych buforów o danym
rozmiarze z wolnych buforów o innych rozmiarach. W tym celu trzeba zastanowić
się nad taką zmianą nagłówka bufora oraz budowy kolejki wolnych buforów,
aby operacja ta odbywała się możliwie szybko. Proszę przy tym pamiętać,
że na jednej stronie pamięci mogą się znajdować tylko bufory jednego rozmiaru.
Konieczne będzie zatem zwolnienie całej strony przed podzieleniem jej na
bufory o nowym rozmiarze. Aby móc szybko sprawdzać, czy wszystkie bufory
znajdujące się na danej stronie pamięci znajdują się w kolejce wolnych
buforów (a jest to wymóg konieczny do zwolnienia strony), trzeba odpowiednio
przeprojektować listę wolnych buforów.
Opisywaną możliwość należy wprowadzić w odpowiednim miejscu algorytmu
refill_freelist() (ze względu
na szybkość przydziału nowych buforów). Po dokonaniu zmian i zrekompiowaniu
jądra systemu należy przeprowadzić serię opracowanych przez siebie testów
sprawdzających wpływ poczynionych zmian na szybkość operacji wejścia/wyjścia.
Testy te powinny być opracowane tak, aby uwzględniały korzyści płynące
z istnienia podręcznej pamięci buforowej.
Dodatkowe pytanie
Kiedy wprowadzona modyfikacja moze przyniesc korzyści w postaci zwiekszenia
predkosci dzialania systemu, a kiedy efekt wrecz przeciwny?
autor: Marek Czajkowski
Wyszukiwarka
Podobne podstrony:
ZADANIE (13)ZADANIE (13)ZADANIE (13)ZADANIE (13)ZADANIE (13)ZADANIE (13)zadanie 13 New Text Documentang 3 etap gim 13 zadaniazadania od 13 do 16zadania logiczne (13)(1)Zadania Problemowe 21 05 13więcej podobnych podstron