ODKAZY T?KAJ?C? SE OPERAÄ?N?CH SYST??M?Ž
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.