Przewidywanie błędów braku strony

Celem zadania jest pokazanie wpływu jaki ma zmiana mechanizmu błędów braku i ochrony strony na funkcjonowanie systemu.

Zadaniem studenta jest takie zmodyfikowanie jądra systemu Linux, aby rozszerzyć je o funkcję heurystycznego przewidywania błędów braku strony. U założeń zadania leży chęć przyspieszenia systemu, lecz być może okaże się, że większość programów systemowych nie zachowuje się zgodnie oczekiwaniem i przyspieszenie okaże się nieznaczące.

Omawianie zagadnienia należy rozpocząć od zauważenia następujących faktów:

Analiza tych informacji podsuwa pomysł aby starać się ograniczać ilość generowanych błędów strony. Środki służące temu nie mogą być jednak zbyt kosztowne obliczeniowo, gdyż zamiast przyspieszenia powodowałyby spowolnienie całego systemu.

Studenci powinni zmienić mechanizm obsługi błędów braku strony zgodnie ze wskazówkami zawartymi w sformułowaniu zadania. Oczekuje się od nich stworzenia prostego systemu wykrywającego kolejne odwołania do poszczególnych stron pamięci oraz generującego sztuczne błędy strony.

Rozwiązania powinny cechować się prostotą, w szczególności narzut związany ze sprawdzaniem czy ciąg jest rosnący nie powinny zajmować więcej niż 5-8 instrukcji języka C na liczbach całkowitych, w przeciwnym razie można się spodziewać pewnego spowolnienia działania całego systemu.

Przewidywany czas na wykonanie projektu: 2 godziny.


Autor: Jarosław Kowalski