Balogh Ádám Lőrentey Károly

Hasonló dokumentumok
Operációs rendszerek Folyamatok 1.1

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

(kernel3d vizualizáció: kernel245_graph.mpg)

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Windows ütemezési példa

Operációs rendszerek - párhuzamos folyamatok.

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

Operációs Rendszerek II.

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

Operációs rendszerek. Folyamatok ütemezése

Operációs rendszerek. Az NT folyamatok kezelése

Operációs Rendszerek II.

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés / 21

Előadás_#03. Előadás_03-1 -

Ütemezés (Scheduling),

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Operációs rendszerek

Az operációs rendszer szerkezete, szolgáltatásai

Folyamatok. 6. előadás

Ütemezés (Scheduling),

Előadás_#02. Előadás_02-1 -

Operációs rendszerek MINB240

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

Tartalom. Operációs rendszerek Bevezetés CPU ütemezés. Középtávú ütemezés. Hosszútávú ütemezés

Operációs rendszerek MINB240

Párhuzamosság a modern operációs rendszerekben

Matematikai és Informatikai Intézet. 4. Folyamatok

Operációs rendszerek előadás Multiprogramozott operációs rendszerek

Az interrupt Benesóczky Zoltán 2004

Operációs rendszerek II. Folyamatok ütemezése

Operációs rendszerek

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

OPERÁCIÓS RENDSZEREK. Elmélet

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Programozási nyelvek és módszerek Java Thread-ek

A billentyűzet a legfontosabb adatbeviteli eszköz, mely szinte rögtön a számítógép bekapcsolása után,,életre kel. Segítségével az operációs rendszer

Dr. Schuster György október 30.

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Számítógépes alapismeretek

3Sz-s Kft. Tisztelt Felhasználó!

Dr. Illés Zoltán

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

Az Operációs rendszerek tárgy tervezett tanterve

Tartalomjegyzék. Előszó... 10

1. oldal, összesen: 29 oldal

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

Operációs rendszerek vizsga kérdések válaszokkal (ELTE-IK Prog.Terv.Mat 2005)

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

4. Használati útmutatás

Mértékegységek a számítástechnikában

Alkalmazások típusai Szoftverismeretek

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

Információtartalom vázlata

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread

Concurrency in Swing

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Operációs rendszerek

Valós idejű funkcionalitás Windows-ban

Dr. Schuster György október 3.

Operációs rendszerek. 3. előadás Ütemezés

Konkurens TCP Szerver

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

Ez a telepítési dokumentum segítséget nyújt abban, hogy szabályosan telepítse az Áfa átállító szoftvert Szerviz 7 programhoz.

Operációs rendszerek II. jegyzet

Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve őszi félév első zhval bezárólag.

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Operációs rendszerek MINB240

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Operációs rendszerek. Bemutatkozás

Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0

DOAS Mentés Másolása Helyi Terminálra

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

Előadás_#11. Előadás_11-1 -

Szöveges fájlok szerkesztése Jegyzettömb használata

AXEL Számlázó és készletnyilvántartó program

Kaspersky Internet Security Felhasználói útmutató

3 A hálózati kamera beállítása LAN hálózaton keresztül

Tisztelt Ügyfelünk! Tájékoztató az átállásról

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

3Sz-s Kft. Tisztelt Felhasználó!

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Thermo1 Graph. Felhasználói segédlet

UNIX ütemezése. Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. Algoritmus követelményei. UNIX ütemezés jellemzése

MÁV-START Tudáspróba Felhasználói kéziköny

TERC V.I.P. hardverkulcs regisztráció

1. DVNAV letöltése és telepítése

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

DataScope program SE/SP-300 távadókhoz HASZNÁLATI UTASÍTÁS

J-N-SZ Megyei Hámori András SZKI és SZI szóbeli

3Sz-s Kft. Tisztelt Felhasználó!

Kézikönyv. Bankkapcsolat felvitele

OPERÁCIÓS RENDSZEREK II GYAKORLAT

Informatika akadémia

Átírás:

Architektúrák és operációs rendszerek: Folyamatok, ütemezés Balogh Ádám Lőrentey Károly Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék Tartalomjegyzék 1. A folyamat fogalma és szerepe 2. A folyamatok megvalósítása 3. Szálak 4. Folyamattípusok 5. Ütemezés 6. A Linux folyamatkezelése 7. A Windows folyamatkezelése 2006. május 8. Folyamatok, ütemezés 2. oldal A folyamat fogalma (1) Egy számítógépen gyakran több felhasználó dolgozik Ha egy felhasználó dolgozik, akkor is gyakran több programot futtat egyszerre Processzor viszont gyakran csak egy van, vagy legalábbis kevesebb, mint ahány program fut Láttuk: processzor egyszerre egyetlen utasítássorozatot tud végrehajtani Kérdés: hogyan lehet mégis egyszerre több programot futtatni? Megoldás: folyamatok bevezetés 2006. május 8. Folyamatok, ütemezés 3. oldal 1. oldal

A folyamat fogalma (2) A folyamat (process) egy futó program Ha egy programot többen futtatnak, az több folyamat Ha egy programot nem futtatnak, akkor az nem folyamat A folyamat egy látszólagos processzor A futtatott program utasításait hajtja végre Operációs rendszer Létrehozza a folyamatot a program indulásakor Váltogatja a folyamatokat a fizikai processzor(ok)on Megszünteti a folyamatot a program befejeződésekor Előfordulhat, hogy egy folyamatban több program is fut egymás után 2006. május 8. Folyamatok, ütemezés 4. oldal Egy folyamat állapotai (1) Egy program működése nemcsak utasítások végrehajtásából áll, hanem a program gyakran valamilyen külső eseményre vár a folytatáshoz Pl. adatot szeretne olvasni a felhasználótól Ilyenkor felfüggeszti az utasítások végrehajtását, és csak megszakítás hatására folytatja Ekkor azt mondjuk, hogy a folyamat blokkolt állapotban van Ha egyszerre több folyamat utasításait kellene végrehajtani Processzor az egyik folyamat utasításait hajtja végre: futó állapotban van Másik folyamat várakozik: futáskész állapotban van 2006. május 8. Folyamatok, ütemezés 5. oldal Egy folyamat állapotai (2) Futó állapotban mindig legfeljebb annyi folyamat lehet, ahány processzor van a gépben Ha kevesebb folyamat van futó állapotban, mint ahány processzor van: maradék processzorok üresen maradnak Technikai megvalósítás: üres (idle) folyamat: nem csinál semmit (még végtelen ciklust sem!) Operációs rendszer cserélgetheti, hogy melyik folyamat legyen futó állapotban, és melyik futáskészben Például bizonyos idő elteltével folyamatot vált 2006. május 8. Folyamatok, ütemezés 6. oldal 2. oldal

Állapotátmenetek Központi egységre kerül Futáskész Futó Lejár az ideje a központi egységen Megkapja az erőforrást Egyéb erőforrást igényel Blokkolt 2006. május 8. Folyamatok, ütemezés 7. oldal Tartalomjegyzék 1. A folyamat fogalma és szerepe 2. A folyamatok megvalósítása 3. Szálak 4. Folyamattípusok 5. Ütemezés 6. A Linux folyamatkezelése 7. A Windows folyamatkezelése 2006. május 8. Folyamatok, ütemezés 8. oldal Folyamatok megvalósítása (1) Processzoron váltogatni kell a folyamatokat Hogyan történik egy folyamat leváltása futó állapotból? Meg kell őrizni a processzor állapotát addig, amíg vissza nem kapja a processzort Utasításmutató Regiszterek értéke Új (futáskész) folyamatnak be kell tölteni az előzőleg elmentett állapotát Amelyik folyamat futáskész állapotból futó állapotba kerül az ütemeződik 2006. május 8. Folyamatok, ütemezés 9. oldal 3. oldal

Folyamatok megvalósítása (2) Folyamatváltás menete: Megszakítás (pl. időzítő), kivétel vagy rendszerhívás történik Processzor elmenti a saját állapotát (pl. a verembe) Kezelőrutin: Úgy dönt, hogy a folyamatot le kell váltani A processzor által elmentett állapotot más területre menti Másik folyamat állapotát tölti be az előző folyamat elmentett állapota helyére (pl. a verembe) Visszatér Processzor visszatölti az állapotát onnan, ahova előzőleg elmentette, de ez már a másik folyamat állapota! 2006. május 8. Folyamatok, ütemezés 10. oldal Folyamatok megvalósítása (3) Látható: processzor állapotát a hardver és a szoftver is menti/visszatölti folyamatváltás költséges További probléma: processzor állapotához tartozik a gyorsítótárak tartalma Nem hozzáférhető utasítások által nem menthető el és nem tölthető vissza Gyorsítótármérete kicsi nem tudja az összes folyamat gyakran hivatkozott memóriacímeit tárolni Folyamatváltás után többször kell a lassabb központi tárhoz nyúlni, amíg a gyorsítótárba be nem töltődnek az új futó folyamat gyakran hivatkozott címei Látható: gyakori váltás magas overhead 2006. május 8. Folyamatok, ütemezés 11. oldal Folyamatok megvalósítása (4) Többprocesszoros rendszerek: Processzorok fizikailag különbözők lehetnek az egyes processzorokra csak a rajtuk futni képes programokat tartalmazó folyamat ütemezhető Processzorok feladata különböző lehet bizonyos processzorra csak meghatározott programokat tartalmazó folyamat ütemezhető Gyorsítótár tartalmazhatja a néhány előzőleg futtatott folyamat gyakran hivatkozott memóriacímeit is, nemcsak a legutóbbiét operációs rendszernek célszerű olyan folyamatot ütemezni egy processzorra, amely nemrég ugyanazon a processzoron futott 2006. május 8. Folyamatok, ütemezés 12. oldal 4. oldal

A folyamatleíró (1) A folyamat adatait a folyamatleíró tartalmazza Lehetséges adatok egy folyamatról: Folyamatazonosító (numerikus és/vagy szöveges) Folyamattípus Futóprogram neve Tárterületek, elmentett processzoradatok Tulajdonos felhasználó Hozzáférési jogok a különböző erőforrásokhoz Korlátok, kvóták Statisztikai adatok Kommunikációs adatok Ütemezési adatok (pl. prioritás) 2006. május 8. Folyamatok, ütemezés 13. oldal A folyamatok hierarchiája Folyamatok fa vagy erdő struktúrát alkotnak Új folyamat a létrehozó folyamat gyerekfolyamata Ha a szülő folyamat előbb véget ér, akkor a gyerekfolyamat Szintén megszűnik Leválasztódik, és egy új fa gyökerét alkotja Leválasztódik, és a fa gyökere lesz az új szülője Gyerekfolyamatok a szülő adatait örökölhetik Ha a folyamatok erdőt alkotnak, akkor az erdő egy fája a munka, melynek lehetnek saját adatai 2006. május 8. Folyamatok, ütemezés 14. oldal A folyamattáblázat Rendszer összes folyamatleíróját tartalmazó táblázat a folyamattáblázat Általában folyamatleírókból álló vektor, esetleg láncolt lista A folyamattáblázat inicializálása: Rendszerbetöltő beleírja a legelső folyamatot Kezdeti táblázat a háttértárról töltődik be, ami a legelső folyamatot tartalmazza 2006. május 8. Folyamatok, ütemezés 15. oldal 5. oldal

Tartalomjegyzék 1. A folyamat fogalma és szerepe 2. A folyamatok megvalósítása 3. Szálak 4. Folyamattípusok 5. Ütemezés 6. A Linux folyamatkezelése 7. A Windows folyamatkezelése 2006. május 8. Folyamatok, ütemezés 16. oldal Szálak Egyetlen programnak az egymással párhuzamosan futó részei a szálak Ezért a folyamatokkal ellentétben a szálak szorosabban összetartoznak: Programozótud róluk, amikor a programot írja Sok közös adat: például felhasználó, jogok, korlátok, statisztikai adatok stb. Intenzívebb kommunikáció egymással rendszerhívások segítségével túl lassú lenne, ezen kívül gyakori szálváltás lehet szükséges Bizonyos adatokat szálanként kell nyilvántartani: pl. processzor regiszterei 2006. május 8. Folyamatok, ütemezés 17. oldal Szálak megvalósítása (1) A többszálú program saját ütemezőt tartalmaz, így egyetlen folyamatként fut, a szálak rejtve maradnak az operációs rendszer elől (green thread) Kommunikáció folyamaton belül történik, közös memóriaterületen, nincs szükség rendszerhívásra Szálak közötti kapcsolás felhasználói védelmi szinten történik, nincs szükség hozzá megszakításra, kivételre vagy renszerhívásra Egyik szál blokkolódik operációs rendszer ezt nem tudja, így az egész folyamatot blokkolja 2006. május 8. Folyamatok, ütemezés 18. oldal 6. oldal

Szálak megvalósítása Minden szál külön folyamatként fut, az operációs rendszer nem tud róla, hogy összetartoznak (native thread) Folyamatok egymástól függetlenül blokkolódhatnak illetve kerülhetnek vissza futáskész állapotba Kommunikáció rendszerhívásokon keresztül történik Szálak közötti kapcsolás lassú Megoldás: operációs rendszernek tudnia kell a szálakról 2006. május 8. Folyamatok, ütemezés 19. oldal Tartalomjegyzék 1. A folyamat fogalma és szerepe 2. A folyamatok megvalósítása 3. Szálak 4. Folyamattípusok 5. Ütemezés 6. A Linux folyamatkezelése 7. A Windows folyamatkezelése 2006. május 8. Folyamatok, ütemezés 20. oldal Folyamattípusok (1) Interaktív folyamat Futás közben állandó kommunikáció a felhasználóval Interakció: felhasználóval való kommunikáció Tipikus interakció: Nagygépes terminálon adatok bevitele Enter rel lezárva Karakteres terminálon egy billentyű lenyomása Grafikus felületen egér megmozdítása, gombjának megnyomása Tranzakció: két interakció közötti feldolgozás Ha ez lassú (hosszú válaszidő), úgy érezzük, hogy akad a gép Példák: munka a számítógép előtt, azaz szövegszerkesztés, rajzolás, bizonyos játékok 2006. május 8. Folyamatok, ütemezés 21. oldal 7. oldal

Folyamattípusok (2) Kötegelt folyamat Felhasználótól menet közben nem vár adatot Futásához szükséges idő néhány másodperctől több napig terjedhet Kisebb csúszásokat általában észre sem veszi a felhasználó Régen lyukkártyákon voltak az elvégzendő műveletek, ma parancsállományban, amit a felhasználó egyik interaktív folyamata ad át az operációs rendszer számára (pl. időzítve) Példák: pénzintézetek éjszakai vagy hétvégi feldolgozásai (pl. kamatok könyvelése), mentések, hálózati letöltések, víruskeresés 2006. május 8. Folyamatok, ütemezés 22. oldal Folyamattípusok (3) Valós idejű folyamat Események történnek, melyekre megadott határidőn belül kell reagálnia egy folyamatnak Lágy valós idejű rendszer: kisebb csúszások megengedettek, de az események torlódása nem Szigorúvalós idejű rendszer: kisebb csúszás is katasztrofális következményekkel járhat Különböző fontosságú események lehetnek Példák: beágyazott rendszerek (szabályozás), multimédia (játékok is) 2006. május 8. Folyamatok, ütemezés 23. oldal Tartalomjegyzék 1. A folyamat fogalma és szerepe 2. A folyamatok megvalósítása 3. Szálak 4. Folyamattípusok 5. Ütemezés 6. A Linux folyamatkezelése 7. A Windows folyamatkezelése 2006. május 8. Folyamatok, ütemezés 24. oldal 8. oldal

Ütemezési algoritmusok Feladat: ki kell választani, hogy a futáskész folyamatok közül melyiket futtassa a processzor Egyszerűség kedvéért egy processzort feltételezünk Megfelelő stratégia attól függ, hogy mire használjuk a rendszert Milyen típusú folyamataink vannak Egyes folyamattípusokon belül is nagyok lehetnek a különbségek Van e egyáltalán lehetőségünk futó folyamatot megszakítani (pl. van e időzítő) 2006. május 8. Folyamatok, ütemezés 25. oldal A FIFO algoritmus Érkező folyamatok: A B C Ütemezés: D E G 2006. május 8. Folyamatok, ütemezés 26. oldal F A B C D E F G A Round Robin algoritmus Érkező folyamatok: A B C Ütemezés: D E G A B A B C A B C D E B C D E F G B D F B D 2006. május 8. Folyamatok, ütemezés 27. oldal F F 9. oldal

A folyamatváltás költségei FIFO A Round Robin A B A B 2006. május 8. Folyamatok, ütemezés 28. oldal B Időszelet mérete Rövid időszelet Rövid tranzakciók hamar sorra kerülnek, így a válaszidő is alacsony A sok folyamatváltás miatt magas az overhead Hosszúidőszelet Alacsony az overhead, mert ritkán kell folyamatot váltani Hosszú tranzakciók feltarthatják a rövideket Kötegelt folyamatok között nem érdemes kapcsolgatni, mert ott a válaszidő nem annyira lényeges, így ott a végtelen időszelet, azaz a FIFO algoritmus alkalmazása javasolt 2006. május 8. Folyamatok, ütemezés 29. oldal Prioritások Ütemezésnél fontossági sorrendet is felállíthatunk a folyamatok között Fontosabb folyamat: nagyobb a prioritása Prioritásokat Rendszer üzemeltetője állíthatja be Operációs rendszer állíthatja be valamely cél elérése érdekében 2006. május 8. Folyamatok, ütemezés 30. oldal 10. oldal

Valós idejű ütemezések Legkorábbi határidőt először Mindig azt az eseményt kezdjük el feldolgozni, amelyikre a legkorábban kell reagálni Ha új esemény jön, miközben egy másik feldolgozás alatt áll megvizsgáljuk az új esemény határidejét Ha az újnak korábban van a határideje, akkor megszakítjuk a feldolgozás alatt állót, és az újat kezdjük el feldolgozni Legkisebb lazaság először Ha tudjuk, hogy egy esemény feldolgozása mennyi időt vesz igénybe, kiszámíthatjuk, hogy mikor kell legkésőbb elkezdeni a feldolgozását Mindig azt választjuk, amelyiket a legkorábban kell elkezdeni, és ha új jön, megszakíthatjuk a régit 2006. május 8. Folyamatok, ütemezés 31. oldal Tartalomjegyzék 1. A folyamat fogalma és szerepe 2. A folyamatok megvalósítása 3. Szálak 4. Folyamattípusok 5. Ütemezés 6. A Linux folyamatkezelése 7. A Windows folyamatkezelése 2006. május 8. Folyamatok, ütemezés 32. oldal Folyamatállapotok Linux ban Megállított Folytatásszignált Megállításszignált kap kap Beragad Zombi Futó Szignált kap Erőforrást igényel Megszakíthatóan várakozó Megszakíthatatlanul várakozó Megkapja az erőforrást 2006. május 8. Folyamatok, ütemezés 33. oldal 11. oldal

A Linux folyamatleírója Folyamat és szálazonosító Felhasználó és felhasználócsoport azonosító Állapot Processzoradatok Ütemezési információk Memóriakezelési információk Állományrendszer információk Eddigi futásidő Ébresztőórák Folyamatközi kommunikációs adatok Mutatók szülőre, gyerekekre és testvérekre 2006. május 8. Folyamatok, ütemezés 34. oldal Folyamatok hierarchiája és keletkezése Nincs folyamatot létrehozó rendszerhívás Betöltődéskor init folyamat, azonosítója 1 Folyamatok fát alkotnak, fa gyökere init fork rendszerhívás: másolatot készít a folyamatról, gyerekfolyamatként Ha megszűnik egy folyamat, az init lesz a még futó gyerekeinek szülője Új program indítása régi helyett: execve Speciális célú program: shell (héj) Programokat indít és belső parancsokat értelmez Programindítás: fork, majd másolatban execve 2006. május 8. Folyamatok, ütemezés 35. oldal Szálak Linux ban clone rendszerhívás, a fork hoz hasonló Új folyamat megoszthatja a régivel a Memóriaterületét Állományleíróit Szignálkezelőit Azt, hogy nyomkövetik e Folyamatazonosítóját (szálazonosító egyedi) Szülő folyamatát 2006. május 8. Folyamatok, ütemezés 36. oldal 12. oldal

A Linux ütemezése (1) Két folyamattípus: interaktív és valós idejű Ütemezési stratégia: valós idejűeknél: round robin vagy FIFO interaktívaknál mindig round robin Prioritások: minden prioritáshoz külön sor tartozik mindig csak a legmagasabb prioritásúakat ütemezi Valós idejű folyamatok a tényleges prioritása 1000 rel nagyobb 2006. május 8. Folyamatok, ütemezés 37. oldal A Linux ütemezése (2) Időszelet egy számláló, melynek kezdőértéke a prioritás Számláló minden időegységben csökken eggyel, majd ha 0 lesz, akkor a folyamat a sor végére kerül Nincs ütemezendő folyamat: idle folyamat Többprocesszoros működés: Processzor engedélyező bittérkép Magasabb tényleges prioritás azon a processzoron, ahol legutóbb futott 2006. május 8. Folyamatok, ütemezés 38. oldal A Linux folyamatai a gyakorlatban 2006. május 8. Folyamatok, ütemezés 39. oldal 13. oldal

Tartalomjegyzék 1. A folyamat fogalma és szerepe 2. A folyamatok megvalósítása 3. Szálak 4. Folyamattípusok 5. Ütemezés 6. A Linux folyamatkezelése 7. A Windows folyamatkezelése 2006. május 8. Folyamatok, ütemezés 40. oldal Folyamatállapotok Windows ban Új (Initialised) Elindul Futáskész (Ready) Várakozó (Wait) Kiválasztódik futásra Lejár az Futásra kiválasztott (Standby) Megkapja az erőforrást időszelete Processzorra kerül Erőforrást igényel Futó (Running) Befejeződött (Terminated) Véget ér 2006. május 8. Folyamatok, ütemezés 41. oldal Folyamatok, szálak, munkák Windows ban A folyamat olyan szálak csoportja, amelyek közös adatokkal rendelkeznek Ütemezésnél a szálakat ütemezünk Folyamatok is csoportba rendezhetők, ha bizonyos adataik közösek: munkák Szálleíró: állapotok ütemezési adatok Munkaleíró: tulajdonos jogok korlátok kvóták 2006. május 8. Folyamatok, ütemezés 42. oldal 14. oldal

A Windows ütemezése (1) Interaktív és valós idejű folyamatokat támogatja 32 prioritási szint: 16 31: valós idejű 1 15: dinamikus 0: fenntartott Felületen prioritási osztályok: Real Time (24±2) High (13±2) Above Normal (10±2) Normal (8±2) Below Normal (6±2) Prioritások az ütemezés során változnak 2006. május 8. Folyamatok, ütemezés 43. oldal A Windows ütemezése (2) Időszeletek különbözhetnek: Előtérben lévő ablak szálainak lehet hosszabb Munkák külön ütemezési osztályokban Ha egy folyamatnak lejár az időszelete, a prioritása csökken eggyel, legfeljebb az osztály minimumáig Várakozás után nő a prioritás a várakozás feltételétől függően, legfeljebb az osztály maximumáig Ha egy folyamat régóta nem ütemeződött prioritása 15 re két időszeletnyi időre, majd vissza az alap prioritásra 2006. május 8. Folyamatok, ütemezés 44. oldal A Windows folyamatai a gyakorlatban 2006. május 8. Folyamatok, ütemezés 45. oldal 15. oldal