250 likes | 365 Views
Operációs rendszerek. Óravázlat Készítette: Kucsera Mihály és Toldi Miklós. A folyamat. Folyamat (process): egy éppen végrehajtás alatt lévő program. Egy program több folyamatból is állhat. Ugyanaz a program folyamat formájában is megjelenhet. PCB.
E N D
Operációs rendszerek Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
A folyamat Folyamat (process): egy éppen végrehajtás alatt lévő program. Egy program több folyamatból is állhat. Ugyanaz a program folyamat formájában is megjelenhet.
PCB Folyamatleíró blokk (Process Controll Block, PCB): Egyértelműen azonosítja a folyamatot, tartalmazza a folyatatáshoz szükséges adatokat a operációs rendszer számára. • Folyamat azonosítója, szülő, gyerek • Folyamat állapota • Programszámláló állása és a regiszterek tartalma • Erőforrások állapota • Memóriaterület adatai, címtranszformációs táblák • CPU ütemezési információ (prioritás, CPU igény) • Elszámolási adatok, statisztikák (rendszerben eltöltött idő)
Várakozási sor (queue) Mivel egyszerre csak egy folyamat futhat, addig a többi folyamat várakozni kényszerül, vagyis a várakozási sorba kerül. A queue egy lista, PCB –kből, és mutatóból áll össze.
Környezetváltás (context swiching) Az operációs rendszer, ha egyik folyamatról egy másikra akar váltani, akkor előbb a lecserélni kívánt folyamat állapotát kell elmenteni, majd annak a folyamatnak kell a környezetét betölteni,. amellyel dolgozni kíván. Ez a folyamat a környezetváltás.
Folyamatok alapállapotai • FUTÁSRA KÉSZ (READY)- már csak a CPU hiányzik, a többi erőforrás rendelkezésre áll. • FUT (RUNNING) - a processzor annak a folyamatnak az erőforrásait hajtja végre, amelyik ebben az állapotban van. • VÁRAKOZIK (BLOCKED) - további erőforrásra, vagy egy másik folyamat által szolgáltatott eredményre vár az adott folyamat.
Folyamatok átmeneti állapotai • ELINDUL (DISPATCH)- a KÉSZ állapotú processzek a CPU felszabadításakor FUT állapotba kerülnek • MEGSZAKAD (TIMER RUNOUT)- Ha a számára biztosított rendszeridő elfogy visszakerül FUTÁSRA KÉSZ állapotba • VÁR (WAIT,BLOCK)- Foglalt erőforrás igénylése esetén • FELÉLED (AWAKE, SCHEDULE)-VÁRAKOZIK állapotból FUTÁSRA KÉSZ állapotba kerül és a CPU-ra vár
Folyamatok speciális állapotai Speciális állapotnak nevezzük azt a helyzetet, amikor egy folyamat az eddig tárgyalt állapotok helyett olyan különleges helyzetbe kerül, hogy a futása megszakad. Ezek a helyzetek: - megszakítás - felfüggesztett (suspended) állapot
Felfüggesztett (suspended) állapot – I. Felfüggesztett állapotban lévő folyamat kiszáll az erőforrásokért folyó versengésből, de folyamat marad, és a helyzet javulása esetén ismét futásra kész állapotba kerül. A felfüggesztést a középtávú ütemező menedzseli.
Processzor ütemezés A processzor ütemezés célja, hogy a futásra kész folyamatok közt ossza el a rendelkezésre álló processzoridőt. Ezt a feladatot az alacsony szintű üzemező végzi. Ezzel az ütemezővel kapcsolatban a legfontosabb elvárás a gyorsaság.
Ütemezők – I. • Magasszintű (hosszú távú): Kiválasztja a tárolt programok közül azt, amelyik folyamattá válik. Ezt az ütemezőt nevezzük főütemezőnek. • Közbenső szintű (középtávú): A folyamatok FELFÜGGESZTETT/FUTÁSRA VÁR állapotváltoztatását végzi. • Alacsony szintű (rövid távú): A készenléti sorokból kiválasztott feladathoz hozzárendeli a központi egységet (futtatás).
Ütemezők – II. Futásra váró MAGASSZINTŰ FELFÜGGESZTETT KÖZBENSŐ SZINTŰ FUTÁSRA KÉSZ ALACSONY SZINTŰ FUT Befejezett
Folyamat statisztikák • Várakozási idő (waiting time, missed time) megadja, hogy egy folyamat mennyi időt tölt várakozással. • Átfutási idő (penalty ratio): megmutatja, hogy egy folyamat érkezésétől annak befejezéséig mennyi idő telik el. • Válaszidő (response time): az az idő, ami a folyamat rendszerbe állításától kezdetéig telik el. Interaktív rendszereknél nagyon fontos a minél kisebb válaszidő.
Ütemezési algoritmusok • Igény bejelentési sorrend szerinti (FC-FS) • Legkisebb igényű először (SJF) • Körben járó (RR)
Igény bejelentési sorrend szerinti ütemezés A folyamatok érkezési sorrendben kapják meg a processzor használaltot. (FC-FS: First Come – First Served) Előnye: egyszerű és biztos Hátrányai: • a folyamatok várakozási, átfutási ideje nagymértékben függ a folyamatok érkezési sorrendjétől • nagy várakozási idő, rossz hatékonyság • hosszabb folyamatoknak kedvez
FC-FS példa – I. • Példa: Határozza meg az alábbi terhelés esetén az átlagos várakozási idő értékét!
FC-FS példa – II. 0 5 10 15 20 Várakozik Fut
Legkisebb igényű először (SJF) Ennél az ütemezési stratégiánál a folyamatok közül mindig a legrövidebb ideig tartó fut. (Ha több egyforma van, akkor abból érkezési idő szerint történik választás.) SJF: SHORTEST JOB FIRST Előnye: legrövidebb átlagos várakozási időt adja. Hátrányai: • hosszú folyamatokkal mostohán bánik • Tudni kell ELŐRE a folyamat hosszát - kötegelt rendszereknél programozói becslés - időosztásos rendszereknél statisztikai becslés
SJF példa – I. • Példa: Határozza meg az alábbi terhelés esetén az átlagos várakozási idő értékét!
0 5 10 15 20 SJF példa – II. Várakozik Fut
Körben járó (RR) Minden folyamat egy előre rögzített IDŐSZELET - re kapja meg a processzort (preemptív), majd ez letelte visszaáll a sor végére. RR: ROUND ROBIN Előnyei: • egyszerű algoritmus, kis válaszidő • nincs kiéheztetés, demokratikus Hátránya: • Az időszelet lejártakor a folyamat állapotát el kell menteni (környezetváltás), és ez időveszteséggel jár
RR példa – I. • Példa: Határozza meg az alábbi terhelés esetén az átlagos várakozási idő értékét!
0 5 10 15 20 RR példa – II. Várakozik Fut