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



Hasonló dokumentumok
Ütemezés (Scheduling),

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

Ütemezés (Scheduling),

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

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

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

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

Operációs rendszerek MINB240

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

Operációs rendszerek MINB240

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

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

Operációs rendszerek előadás Multiprogramozott operációs rendszerek. Soós Sándor ősz

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

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

Operációs Rendszerek II.

Operációs rendszerek Folyamatok 1.1

(kernel3d vizualizáció: kernel245_graph.mpg)

A mai program OPERÁCIÓS RENDSZEREK. A probléma. Fogalmak. Mit várunk el? Tágítjuk a problémát: ütemezési szintek

Informatikai rendszerek alapjai (Informatika I.)

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

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

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

Windows ütemezési példa

Tartalom. Operációs rendszerek. 4.1 Holtpont definíciója. Bevezetés helyett... Rendszermodell 1. A klasszikus példa...

Logisztikai szimulációs módszerek

Matematikai és Informatikai Intézet. 4. Folyamatok

Operációs rendszerek feladatai

12. Másodlagos tár szerkezet

Balogh Ádám Lőrentey Károly

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

Operációs rendszerek I.

Dr. Illés Zoltán

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

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

OPERÁCIÓS RENDSZEREK. A mai program. Fogalmak. Ütemezés és a Context Switch

Operációs Rendszerek II.

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

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.

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

Operációs rendszerek (I 1204)

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

Operációs rendszerek

Ü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

Teljesítménymodellezés

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

angolul: greedy algorithms, románul: algoritmi greedy

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom

Rugalmas gyártórendszerek (FMS) termelésprogramozása (ismétlés DTFSZTIR)

Operációs rendszerek. Bemutatkozás

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

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

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

Dr. Schuster György október 3.

Operációs rendszerek 1. kidolgozott tételsor Verzió: 1.0 (Build: )

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ű.

Operációs rendszerek II. jegyzet

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

OPERÁCIÓS RENDSZEREK. Elmélet

Megkülönböztetett kiszolgáló routerek az

Párhuzamosítás adatbáziskezelő rendszerekben

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

Operációs rendszerek

VIHIMA07 Mobil és vezeték nélküli hálózatok. Forgalmi modellezés és tervezés

Operációs rendszerek Memóriakezelés 1.1

Nyíregyházi Főiskola Matematika és Informatika Intézete. Holtpont (Deadlock) Alapfogalmak, példák, ábrázolás. Biztonságos és nem biztonságos állapot

Operációsrendszerek. 2. elıadás. Standard ismeretek II.

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus.

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

8. A háttértár kezelése. Operációs rendszerek. Miért van szükség háttértárra? 8.1. Háttértárak típusai. Mágneslemez. Mágnesszalag

Architektúra, megszakítási rendszerek

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnök informatikus szak BME Villamosmérnöki és Informatikai Kar május 31.

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

Operációs rendszerek

Beágyazott rendszerek alapkomponensei II. : Software

11. Elosztott állománykezelés. Operációs rendszerek. Elosztott állománykezelés. Teljesítmény növelése. Az állományokra hivatkozás. Az állományok nevei

Az optimális megoldást adó algoritmusok

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

Analitikai megoldások IBM Power és FlashSystem alapokon. Mosolygó Ferenc - Avnet

11. Infláció, munkanélküliség és a Phillipsgörbe

UNIX operációs rendszer bemutatása. A UNIX története, fejlesztésének céljai.

Számítógépes Hálózatok 2010

Operációs rendszerek. Holtpont

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Dr. habil. Maróti György

BEÁGYAZOTT RENDSZEREK ÉS PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK

Villamos autókból álló taxi flotta számára létesítendő töltőállomások modellezése

Teljesítménymodellezés

Előadás_#06. Előadás_06-1 -

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

Utolsó módosítás:

9. Virtuális memória kezelés

Fine-Grained Network Time Synchronization using Reference Broadcast

Számítógépes Hálózatok. 4. gyakorlat

Operációs rendszerek. nem hivatalos jegyzet

Számítógépes Hálózatok és Internet Eszközök

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

A TANTÁRGY ADATLAPJA

Informatika alapok számítógépes rendszerek

Átírás:

Tartalom Operációs rendszerek Bevezetés CPU ütemezés Ütemezési algoritmusok alapjai Ütemezési algoritmusok 5. Ütemezés Simon Gyula Felhasznált irodalom: Kóczy-Kondorosi (szerk.): Operációs rendszerek mérnöki megközelítésben Tanenbaum: Modern Operating Systems 2nd. Ed. Silberschatz, Galvin, Gagne: Operating System Concepts 2 5.1. Bevezetés OS legfontosabb feladata a rendszer erőforrásainak kezelése, a folyamatoknak a futásukhoz szükséges erőforrásokkal való ellátása bizonyos szempontok alapján gazdálkodási, védelmi, stb. Az ütemezés (scheduling) az a tevékenység, amely eredményeként eldől, hogy az adott erőforrást a következő pillanatban mely 5.2. CPU ütemezés Három különböző szint van: Hosszútávú (long term) ütemezés vagy munka ütemezés: Középtávú (medium term) ütemezés Rövidtávú (short term) ütemezés Nem minden OS-ben van meg mindegyik típusú ütemezés. folyamat használhatja. 3 4 Hosszútávú ütemezés Hosszútávú (long term) ütemezés vagy munka ütemezés: A háttértáron várakozó, még el nem kezdett munkák közül melyek kezdjenek futni. Ritkán kell futnia; egy munka befejeződésekor választunk ki egy új elindítandót. Ritkán fut, így nem kell, hogy gyors legyen. Követelmény: olyan munka-halmaz (job-mix) előállítása, amely a rendszer erőforrásait kiegyensúlyozottan használja. CPU-korlátozott és periféria-korlátozott munkák egyenletesen forduljanak elő. 5 Középtávú ütemezés Középtávú (medium term) ütemezés A rendszer időszakos terhelésingadozásait egyes folyamatok felfüggesztésével illetve újraaktiválásával próbálja kiegyenlíteni. Felfüggesztés esetén folyamat a háttértáron tárolódik, megfosztják elvehető erőforrásaitól. Az ilyen folyamatok nem versengenek tovább az erőforrásokért. 6 1

Rövidtávú ütemezés Rövidtávú (short term) ütemezés Mely futásra folyamat kapja meg a CPUt (kerül futó állapotba) Gyakran fut, ezért gyorsnak kell lennie, különben a rendszer túl sok időt töltene az ütemezéssel, elvéve a CPU-t a folyamatoktól. Az ütemező mindig a tárban van, része a OS magjának. Emlékeztető: folyamatok kibővített állapotai Hoszútávú ütemezés Középtávú ütemezés létrejön aktivál Futásra elindul Rövidtávú ütemezés Várakozik futás megszakad Fut re vár megszűnik várakozik felfüggeszt Középtávú ütemezés Aktív Passzív 7 8 5.3. Az ütemezési algoritmusok alapjai A CPU löket és az IO löket 1. Egy folyamat futása során két különböző jellegű tevékenységet végez: CPU löket (CPU burst) ideje alatt a folyamatnak csak CPU-ra és az operatív tárra van szüksége. Periféria löket (I/O burst) alatt a folyamat perifériás átvitelt hajt végre, annak lezajlására várakozik. A folyamatnak periféria löket alatt nincs szüksége a CPU-ra. CPU löket átlagos hossza folyamatonként változik (a) CPU-korlátos folyamat (b) I/O-korlátos folyamat (a) (b) hosszú CPU löket rövid CPU löket várakozás I/O-ra 9 10 A CPU löket és az IO löket 2. A CPU löket eloszlása load store add store read from file wait for I/O store increment index write to file CPU löket I/O löket CPU löket folyamatok (%) wait for I/O I/O löket load store add store read from file wait for I/O CPU löket I/O löket CPU löket 11 12 2

Hol történik ütemezés? Ütemezés a következő állapotátmeneteknél következik be: 1. A futó folyamat várakozni kényszerül 2. A futó folyamat lemond a CPU-ról vagy elveszik tőle 3. A folyamat felébred, futásra késszé válik 4. A futó folyamat befejeződik 1. A futó folyamat várakozni kényszerül létrejön aktivál Futásra elindul Várakozik futás megszakad Fut re vár megszűnik várakozik felfüggeszt Aktív Passzív 13 14 2. A futó folyamat lemond a CPUról, vagy elveszik tőle létrejön Futásra elindul Várakozik futás megszakad Fut re vár megszűnik felfüggeszt Aktív 3. A folyamat felébred, futásra késszé válik létrejön Futásra elindul Várakozik futás megszakad Fut re vár megszűnik felfüggeszt Aktív aktivál várakozik Passzív aktivál várakozik Passzív 15 16 4. A futó folyamat befejeződik létrejön aktivál Futásra elindul Várakozik futás megszakad Fut re vár megszűnik várakozik felfüggeszt Aktív Passzív Ütemezés és környezetváltás Ütemezés tehát a következő állapotátmeneteknél következik be: 1. a futó folyamat várakozni kényszerül 2. futó folyamat lemond a CPU-ról vagy elveszik tőle 3. folyamat felébred, futásra késszé válik 4. a futó folyamat befejeződik Az 1. és 4. esetben mindig van környezetváltás (hiszen a futó folyamat nem folytatja a működését). A 2. és 3. esetben nem mindig van környezetváltás. 17 18 3

Ütemezés típusai Az ütemezés típusa Nem preemptív, ha egy folyamattól, miután megkapta a CPU-t, nem lehet azt elvenni. a folyamat csak az általa kiadott utasítások hatására vált állapotot. erőforrásra, re várakozás befejeződés vagy a CPU-ról önként lemondás preemptív, ha az OS elveheti a futás jogát egy folyamattól futásra állapotba teszi a futó folyamatot és egy másik (futásra ) folyamatot indít el. Pl. időosztásos, valósidejű OS-ek 19 Az ütemezési algoritmusok teljesítményének mérése I. Az ütemezési algoritmusok teljesítményének mérésére a következő paramétereket szokták használni: CPU kihasználtság (CPU utilization) A CPU az idejének hány százalékát használja a folyamatok utasításainak végrehajtására. Kihasználtságot csökkenti: CPU henyél (idle), rendszer-adminisztrációra fordított idő (rezsi) sok. Átbocsátó képesség (throughput) Az OS időegységenként hány munkát futtat le. 20 Az ütemezési algoritmusok teljesítményének mérése II. Teljesítménymérés További paraméterek a teljesítmény mérésére: Körülfordulási idő (turnaround time) Egy munka a rendszerbe helyezéstől számítva mennyi idő alatt fejeződik be. Várakozási idő (waiting time) Egy munka (vagy folyamat) mennyi időt tölt várakozással (futásra állapot, várakozó állapot, felfüggesztett, (long-term) előzetes várakozás). Válaszidő (response time) Időosztásos (interaktív) rendszereknél fontos. Az OS reakció ideje, a kezelői parancs után a rendszer első látható reakciójáig eltelt idő. rendszerbe helyezés reakció T response T waiting T turnaround fut vár 21 22 Az ütemezési algoritmusokkal szembeni követelmények 1. valamely (előbbi paraméterekből képzett) célfüggvény szerint legyen optimális legyen korrekt, kezeljen minden folyamatot (vagy bizonyos típusú folyamatokat) azonos módon (igazságos). biztosítson egyes folyamatoknál prioritást kerülje el a folyamatok kiéheztetését legyen megjósolható viselkedésű (meg lehessen becsülni a várható maximális körülfordulási időt) minimalizálja a rezsi időt (gyakran kis többlet adminisztrációval jobb általános rendszerteljesítmény érhető el) 23 Az ütemezési algoritmusokkal szembeni követelmények 2. részesítse előnyben a kihasználatlan erőforrásokat igénylő folyamatokat a fontos erőforrásokat foglaló folyamatokat növekvő terhelés esetén a rendszer teljesítménye "elegánsan" fokozatosan romoljon le (graceful degradation), ne omoljon hirtelen össze. Sok cél egymásnak ellentmond, így azok együttesen nem teljesíthetők. Fontos megfogalmazni egy rendszer tervezése folyamán azokat a célokat, amelyek kiemelt fontosságúak. 24 4

5.4. Ütemezési algoritmusok Egyszerű algoritmusok Prioritásos algoritmusok Többszintű algoritmusok Többprocesszoros ütemezés 5.4.1 Egyszerű ütemezési algoritmusok Legrégebben várakozó (First Come First Served, FCFS) Körforgó (Round-Robin, RR) 25 26 Legrégebben várakozó Példa: FCFS First Come First Served, FCFS A futásra folyamatok a várakozási sor végére kerülnek, az ütemező a sor elején álló folyamatot kezdi futtatni. Nem preemptív. Egyszerűen megvalósítható Konvoj hatás (egy hosszú CPU löketű folyamat feltartja a mögötte várakozókat). 27 Végrehajtási sorrend: P 1, P 2, P 3 Átlagos várakozási idő: Átlagos körülfordulási idő: Átbocsátó képesség: Végrehajtási sorrend: P 2, P 3, P 1 Átlagos várakozási idő: Átlagos körülfordulási idő: Átbocsátó képesség: 24 P i P 1 P 2 3 P 3 3 28 Megoldás: FCFS Körforgó Végrehajtási sorrend: P 1, P 2, P 3 Átlagos várakozási idő: (24+27)/3=17ms Átlagos körülfordulási idő: (24+27+30)/3=27ms Átbocsátó képesség: 3job/30ms=1/10 job/ms Végrehajtási sorrend: P 2, P 3, P 1 Átlagos várakozási idő: (3+6)/3=3ms Átlagos körülfordulási idő: (3+6+30)/3=13ms Átbocsátó képesség: 3job/30ms=1/10 job/ms P i P 1 24 P 2 3 P 3 3 Konvoj effektus! 29 Round-Robin, RR Preemptív algoritmus, az időosztásos rendszerek valamennyi ütemezési algoritmusainak az alapja. Folyamatok időszeletet kapnak (time slice). Ha a CPU löket nagyobb mint az időszelet, akkor az időszelet végén az ütemező elveszi a CPU-t, a folyamat futásra lesz és beáll a várakozó sor végére. Ha a CPU löket rövidebb, akkor a löket végén a folyamatokat újraütemezzük. 30 5

Körforgó ütemezés időszelete Időszelet meghatározása nehéz. Nagy időszelet: FCFS algoritmushoz hasonló lesz. Kis időszelet: folyamatok a CPU-t egyenlő mértékben használják, viszont a sok környezetváltás a teljesítményt rontja. Ökölszabály: a CPU löketek kb. 80% legyen rövidebb az időszeletnél. Általában 10-100ms Példa: Round Robin P i P 1 24 P 2 3 P 3 3 T slice =4ms P 1 4? 31 32 Megoldás: Round Robin P i P 1 24 P 2 3 P 3 3 Példa: Round Robin Az időszelet (T slice ) hatása a környezetváltás gyakoriságára C i = 10ms T slice =4ms P 1 P 2 P 3 P 1 P 1 P 1 P 1 P 1 4 7 10 14 18 22 26 30 T slice 12 6 1 Környezetváltások száma 0 1 9 33 34 5.4.2. Prioritásos ütemező algoritmusok A futásra folyamatokhoz egy prioritást (rendszerint egy egész számot) rendelünk. A legnagyobb prioritású folyamat lesz a következő futtatandó folyamat. Prioritás Meghatározása belső az OS határozza meg külső az OS-en kívüli tényező (operátor, a folyamat saját kérése, stb.) határozza meg Futás során statikus (végig azonos) dinamikus (az OS változtathatja) 35 36 6

Példa: Statikus prioritás Megoldás: Statikus prioritás Folyamat Prioritás Folyamat Prioritás P 2? P 1 10 3 P 2 1 1 P 3 2 3 P 4 1 4 P 5 5 2 P 2 P 5 P 1 P 3 P 4 P 1 10 3 P 2 1 1 P 3 2 3 P 4 1 4 P 5 5 2 0 1 0 1 6 16 18 19 random Átlagos várakozási idő:? Átlagos várakozási idő: (6+0+16+18+1)/5=8.2 37 38 Prioritás meghatározása Prioritást sokszor a löketidő alapján határozzák meg. A löketidő szükséglet meghatározása: a folyamat (felhasználó) bevallása alapján (a hazugságot az OS később bünteti) előző viselkedés alapján (a korábbi löketidők alapján becslés) A kiéheztetés és elkerülése Kiéheztetés: A folyamat sokáig (esetleg soha) nem jut processzorhoz Prioritásos algoritmusoknál kiéheztetés felléphet Ennek kivédése a folyamatok öregítése (aging): a régóta várakozó folyamatok prioritását növeljük 39 40 Egy éhes folyamat Klasszikus példa: MIT, 1973 Folyamat: 1967-ből Dinamikus prioritásos algoritmusok Legrövidebb (löket)idejű Shortest Job First, SJF Legrövidebb hátralévő idejű Shortest Remaining Time First, SRTF Legjobb válaszarány Highest Response Ratio IBM 7094 41 42 7

Legrövidebb (löket)idejű Shortest Job First, SJF Legrövidebb hátralévő idejű Shortest Remaining Time First, SRTF Nem preemptív algoritmus, a futásra folyamatok közül a legrövidebb löketidejűt indítja. Nincs konvoj hatás, optimális körülfordulási idő, optimális várakozási idő. Alkalmazása: Hosszú távú ütemezés Rövid távú ütemezés (RT rendszerek) 43 Az SJF preemptív változata Ha egy új folyamat válik futásra késszé akkor az ütemező újra megvizsgálja a futásra folyamatok, illetve az éppen futó folyamatot hátralévő löketidejét és a legrövidebbet indítja tovább. A folyamat megszakítása és egy másik elindítása környezetváltozást igényel, ezt az időt is figyelembe kell vennünk. 44 Példa: SRTF P i T i (ms) P 1 0 8 P 2 1 4 P 3 2 9 P 4 3 5 Példa megoldás: SRTF P i T i (ms) P 1 0 8 P 2 1 4 P 3 2 9 P 4 3 5 Ütemezés? P 1 0 1? Átlagos várakozási idő:? 45 P1: 7 P2: 4 P1: 7 P2: 3 P3: 9 P1: 7 P2: 2 P3: 9 P4: 5 P1: 7 P3: 9 P4: 5 P1: 7 P3: 9 P3: 9 P 1 P 2 P 2 P 1 P 3 0 3 5 10 1 2 17 26 Átlagos várakozási idő: (9+0+15+2)/4=6.5ms 46 Legjobb válaszarány 5.4.3. Többszintű algoritmusok Highest Response Ratio Az SJF algoritmus változata, ahol a várakozó folyamatok öregednek. A kiválasztás (a löketidő helyett) a löketidő + k várakozási_ idő löketidő képlet szerint megy végbe, ahol k egy jól megválasztott konstans. 47 Futásra folyamatokat több külön sorban várakoztatják. A sorokhoz prioritás van rendelve. Egy kisebb prioritású sorból csak akkor indulhat el egy folyamat, ha a nagyobb prioritású sorok üresek. Az egyes sorokon belül különböző kiválasztási algoritmusok működhetnek. Példák: Statikus többszintű sorok Visszacsatolt többszintű sorok 48 8

Statikus többszintű sorok Static Multilevel Queue, SMQ A folyamatot elindulásakor valamilyen kritérium alapján besorolunk egy várakozó sorba. A folyamat élete során végig ugyanabban a sorban marad. sorok (példa) prioritás végrehajtás system interactive interactive editing batch Statikus többszintű sorok Egy lehetséges példa a prioritások besorolására: rendszer folyamatok (magas prioritás, közvetlen hatással vannak a rendszer működésére) interaktív folyamatok (biztosítani kell a felhasználó számára az elfogadható válaszidőt) interaktív szövegszerkesztők (kevésbé kritikusak) kötegelt feldolgozás (általában akkor futnak, ha "van idő") rendszerstatisztikákat gyűjtő folyamatok (alacsony prioritás, nincsenek közvetlen hatással a rendszer működésére) statistics 49 50 Visszacsatolt többszintű sorok Multilevel Feedback Queues, MFQ A sorokhoz egy időszelet tartozik: minél nagyobb a prioritás, annál kisebb az időszelet A folyamatok futásuk során átkerülhetnek másik sorokba sorok (példa) 8 ms prioritás végrehajtás 16 ms 24 ms Visszacsatolt többszintű sorok A folyamatok sor- és prioritás-váltása Nagyobb prioritásúból kisebb prioritású sorba: Amennyiben nem elég az adott időszelet, a folyamat egy kisebb prioritású sorba kerül át. Kisebb prioritásúból nagyobb prioritású sorba: A folyamat átlagos löketidejének változása (csökkenése) esetén A régóta várakozó folyamat öregedése miatt FCFS 51 52 5.5. Többprocesszoros ütemezés Napjainkban egyre jobban terjednek a többprocesszoros - szorosan csatolt - rendszerek, ahol felmerül az igény, hogy a futásra folyamatok a rendszer bármely processzorán elindulhassanak. Heterogén rendszerek esetében egy folyamat csak bizonyos processzorokon futhat. Homogén rendszerekben a futásra folyamatokat közös sorokban tárolja. 53 Homogén többprocesszoros rendszerek Homogén rendszerekben a futásra folyamatokat közös sorokban tárolja. Szimmetrikus multiprocesszoros rendszer Minden CPU saját ütemezőt futtat, amely a közös sorokból választ. A sorok osztott használatához a kölcsönös kizárást biztosítani kell! Aszimmetrikus multiprocesszoros rendszer Az ütemező egy dedikált CPU-n fut, ez osztja szét a folyamatokat a szabad CPU-k között. 54 9

5.6. Az algoritmusok értékelésének módszerei Analitikus értékelés Determinisztikus modellezés: Előre elített adatokkal vizsgáljuk az algoritmus viselkedését. Egyszerű, de az eredmények csak szűk körben érvényesek. Sztochasztikus modellezés: Az adateloszlások paraméterei adottak Az algoritmusok matematikai eszközökkel vizsgálhatók sorbanállás elmélete, queueing theory Szimuláció Korábbi tapasztalatok alapján meghatározott véletlen eloszlású számokkal vizsgáljuk az algoritmus működését. Az eredmények nagyban függnek az adatok helyességétől. Implementáció A legmegbízhatóbb megoldás az algoritmusok implementálása és teljesítményük valós körülmények közötti mérése. A legköltségesebb megoldás. 55 10