Jak jsem psal už včera teď se drtím na zkoušku z předmětu OSY. Minulý týden jsem si všiml, že mezi literaturou a slidy je i odkaz na další užitečné zdroje. Procházel jsem si to a určitě se k tomu vrátím ještě až udělám zkoušky. Jsou tam jednak nějaké usnetové konference a pak taky třeba další zajímavé slidy nebo Operating System Technical Comparison což je skutečně vyčerpávající materiál o všech možných i nemožných OS.

Při prochĂĄzenĂ­ přednĂĄĹĄky o plĂĄnovĂĄnĂ­ procesĹŻ jsem měl trochu problĂŠm pochopit předposlednĂ­ slidem kde je vysvětlovĂĄn algoritmus shortest process next pro rozhodnutĂ­, kterĂ˝ proces naplĂĄnovat jako dalĹĄĂ­. Tento algoritmus vychĂĄzĂ­ z nonpreemptivnĂ­ho (tedy takovĂŠho kdy vĹždy kaĹždĂ˝ proces běží dokud neskončí nebo se sĂĄm nezablokuje) shortest job first, kterĂ˝ mĂĄ oproti first come – first served vĂ˝hodnějĹĄĂ­ prĹŻměrnĂ˝ turnaround (tedy čas mezi poĹžadavkem na vĂ˝počet prosesu a jeho dokončenĂ­m včetně času kdy čekĂĄ aĹž se zpracujĂ­ jinĂŠ procesy).

Ten shortest process next je oproti tomu preemptivní, tedy takový který po určitém časovém quantu přepne na jiný proces sám a je tedy potřeba u interaktivních systémů. Na tom slidu je uvedený vzorec:

k T0 + (1 – k) T1

kde k je konstanta mezi 0 a 1. Moc jsem to nechápal jak tomu mám rozumět. Trochu jsem zkoušel googlit a zjistil jsem, že materiálů zabývající se teoriemi OS je opravdu hodně. Namátkou tady nebo tady. Dokonce jsem našel jeden docela zajímavý test zabývající se shedullingem. Nakonec jsem ten algoritmus pochopil z tohohle slidu.

Je to tak, že T0 je vždy doba všech předchozích běhů (kromě toho posledního) a T1 je čas běhu v posledním časovém quantu. Konstanta k pak udává jestli více záleží na průměrné délce všech dosavadních quant a nebo nám záleží jen na velikosti toho posledního.

Tags

Napsat komentář