Zadanie na laboratorium z Systemów Operacyjnych
- W pliku: include/asm-i386/page.h zmienić stałą określającą wielkość
strony z 4k na 8k. Nie należy zmieniać stałej PAGE_SIZE tylko stałą PAGE_SHIFT
, gdyż PAGE_SIZE jest określona przez PAGE_SHIFT. Stała PAGE_SHIFT ma wartość
12, czyli ilość bitów adresu pamięci przeznaczonych na przesunięcie na
stronie ( określa więc rozmiar strony). Należy zmienić jej wartość z 12
na 13 (2^12=4k, 2^13=8k).
- Zrekompilować jądro.
- Zaproponować program, który pokaże, że w pewnych sytuacjach (program
ma powodować ich powstanie!) większa stała PAGE_SIZE jest lepsza z punktu
widzenia efektywności czasowej i / lub pamięciowej. Program powinien dać
lepsze wyniki na komputerze ze stronami wielkości 8kB niż na komputerze
ze stronami wielkości 4kB.
Funkcje, które mogą się przydać :
- malloc(...);
- sizeof(...);
- free(...);
- gettimeofday(struct timeval *, struct timezone *); - funkcja wpisuje
do podanej struktury timeval aktualny czas w sekundach (pole: tv_sec) i
mikrosekundach (pole: tv_usec, 1 sekunda to 1.000.000 mikrosekund).
autor: Maciej Kwiatkowski