LAB3B. Raspoređivanje dretvi


Zadatak

Ostvariti raspoređivanje prema najmanjoj labavosti (LLF) primjenom postojećih sučelja operacijskih sustava za periodičke zadatke. Potrebne operacije oblikovati u pomoćne funkcije koje pozivaju dretve.

Npr. sučelja na primjeru:

početna dretva:
	LLF_init(...)
	... stvori nove dretve koje koriste LLF

dretva koja bi se trebala raspoređivati s LLF-om:
	LLF_join(...)
	petlja {
		LLF_sleep(...)
		periodički posao
	}
	LLF_leave(...)
Moguće je koristiti sve mogućnosti OS-a, npr. signale, raspoređivanje prema prioritetu i sl. Npr. dretva na neki signal može reagirati tako da u obradi signala spava dok nije njen red (kako znati koja je ubradi prekida - pogledati ovaj primjer); ili dretvama dinamički mijenjati prioritet - najveći postaviti aktivnoj, a ostalima manji (ali onda koristiti SCHED_FIFO ili SCHED_RR!); i sl.

Pokazati rad raspoređivača nad nekoliko primjera sustava. Obavezno za svaki zadatak koristiti zasebnu dretvu (ne simulirati dretve!).

Dio "periodički posao" ne smije uključivati nikakvu interakciju s raspoređivačem.