Systemy operacyjne 2 - Projekt drugi

semestr zimowy 2007/2008



1. Nowa klasa szeregowania procesów. Minimum (35p): zaimplementować nową klasę szeregowania procesów – SCHED_BATCH, przeznaczoną do uruchamiania programów w trybie wsadowym. Zakładamy, że procesy tej klasy wykonywane są w pewnych godzinach, w których system jest mało obciążony, np. Od 22.00 do 7.00. Oczywiście godziny te mogą być zmieniane przy pomocy nowych wywołań systemowych lub pseudo-systemu plików /proc. W zalezności od aktualnego czasu planista procesora może pracować w trybie zwykłym lub wsadowym.

W trybie zwykłym wykorzystywany jest normalny algorytm szeregowania, a procesy klasy SCHED_BATCH są ignorowane. W trybie wsadowym wykonywane są wyłącznie procesy klasy SCHED_BATCH, przy czym otrzymują one bardzo długi kwant czasu procesora (aby zminimalizować narzut spowodowany przez przełączanie kontekstu). Pozostałe procesy są ignorowane.


Dodatkowo (13p): w trybie wsadowym nie są ignorowane procesy super-użytkownika, które mają bezwzględne pierwszeństwo nad procesami wsadowymi.

2. System plików KMFS (ang. kernel memory file system). Minimum (40p) Jest to system plików, nie związany z urządzeniem blokowym, w którym dane plików i katalogów przechowywane są w dynamicznie alokowanej pamięci jądra (np. przez vmalloc). Liczba i sumaryczny rozmiar plików i katalogów są ograniczone jedynie poprzez dostępność pamięci operacyjnej. System obsługuje pełną hierarchiczną strukturę drzewa katalogów. Odmontowanie systemu powoduje zwolnienie całej zaalokowanej pamięci, co jest równoważne z utratą wszelkich przechowywanych danych. Obsługiwane są dowiązania sztywne (plik może mieć wiele równoważnych nazw) oraz operacja truncate. Dodatkowo (8p) Obsługa dowiązań symbolicznych i plików specjalnych.






Opracowali: Wojciech Kwedlo i Krzysztof Bandurski.