ZADANIE 05 (13)










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 Document
ang 3 etap gim 13 zadania
zadania od 13 do 16
zadania logiczne (13)(1)
Zadania Problemowe 21 05 13

więcej podobnych podstron