OS2/Projekat 2022
< ОС2
Pređi na navigaciju
Pređi na pretragu
Projekat 2022. godine je prvi projekat iz Operativnih sistema 1 i 2 u kom se koristi xv6 operativni sistem na RISC-V arhitekturi. U ovom vodiču se nalaze korisni saveti pri izradi projekta.
Dodavanje interfejsa raspoređivača
Interfejs definisan postavkom za raspoređivač je isti onaj iz školskog jezgra:
struct proc *get(); // Дохватање спремног процеса из реда чекања
void put(struct proc *); // Убацивање спремног процеса у ред чекања
xv6 u sebi sadrži Round-robin raspoređivač direktno implementiran u funkciji scheduler(). Neophodno je zameniti ovaj algoritam sa traženim interfejsom. Mesta od značaja su ona gde proces menja stanje.
- get() u scheduler() nakon uključivanja prekida - prelaz iz RUNNABLE u RUNNING.
- put() u yield() - kad proces predaje kontekst nekom drugom procesu.
- put() u userinit() - kad se kreira prvi korisnički proces.
- put() u fork() - kad se forkuje nov proces.
- put() u wakeup() - prelaz iz SLEEPING u RUNNABLE.
- put() u kill() - kad proces treba da se završi treba da ga probudimo.