Elosztott rendszerek

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

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

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

Operációs rendszerek. Bemutatkozás

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

Operációs rendszerek. Az NT memóriakezelése

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

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

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

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

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

(kernel3d vizualizáció: kernel245_graph.mpg)

Matematikai és Informatikai Intézet. 4. Folyamatok

Operációs Rendszerek II.

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

Concurrency in Swing

Operációs rendszerek III.

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

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

Az interrupt Benesóczky Zoltán 2004

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

Konkurens TCP Szerver

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

Architektúra, megszakítási rendszerek

Operációs rendszerek. A Windows NT felépítése

Operációs Rendszerek II.

Bevezetés a párhuzamos programozási koncepciókba

Operációs rendszerek II. jegyzet

A Számítógépek hardver elemei

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

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 Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

Operációs rendszerek Folyamatok 1.1

A Számítógépek hardver elemei

Operációs rendszerek. A Windows NT

Az informatika alapjai. 10. elıadás. Operációs rendszer

Párhuzamos és Grid rendszerek

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.

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

Operációs rendszerek

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

OPERÁCIÓS RENDSZEREK. Elmélet

A Számítógépek felépítése, mőködési módjai

OPERÁCIÓS RENDSZEREK. Célkitűzések, tárgyfelépítés. Módszerek. OS fogalom, struktúrák. 2005/2006. tanév II. félév Dr. Vadász Dénes

Operációs rendszerek. Windows NT. A Windows NT

Folyamatok. 6. előadás

386 processzor címzés

Operációs rendszerek. UNIX fájlrendszer

Számítógép Architektúrák

Bevezetés a számítástechnikába

UNIX: folyamatok kommunikációja

Operációs rendszerek

Mikrorendszerek tervezése

Utolsó módosítás:

Ütemezés (Scheduling),

Operációs rendszerek

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Elosztott rendszerek

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Konkurencia és energiakezelés integrálása eszközmeghajtókba. Vezeték nélküli szenzorhálózatok

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

Operációs rendszerek. Folyamatok

Dr. Illés Zoltán

Bánsághi Anna 1 of 67

Operációs rendszerek

Feladatok (task) együttműködése

Operációs rendszerek MINB240

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

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

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Tartalom. Operációs rendszerek. Precedencia. 3.2 Szinkronizáció. 3.1 Folyamatokból álló rendszerek. Együttműködő folyamatok használatának indokai

Párhuzamos programozási platformok

Operációs rendszerek MINB240

Villamos jelek mintavételezése, feldolgozása. Mérésadatgyűjtés, jelfeldolgozás 9. előadás

Operációs Rendszerek II. 4. előadás

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

Párhuzamos programozási platformok

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

Elosztott rendszer architektúrák

Operációs rendszerek MINB240

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák

Mechatronika és mikroszámítógépek. 2018/2019 I. félév. Külső megszakítások

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

Dr. Illés Zoltán

SQLServer. SQLServer konfigurációk

Beágyazott rendszerek alapkomponensei II. : Software

Informatikai rendszerek alapjai (Informatika I.)

Ütemezés (Scheduling),

Memória és perifériák virtualizációja. Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Szoftvertechnológia alapjai Java előadások

Elosztott rendszerek

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

FPGA áramkörök alkalmazásainak vizsgálata

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

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer

VIII. Szálak és animáció

Bevezetés. Alapfogalmak

Előadás_# Az első ZH megírása

Az MSP430 energiatakarékos használata

Átírás:

Elosztott rendszerek NGM_IN005_1 Konkurrens folyamatok Folyamat koncepció Adatok (információ reprezetáció) M!veletek (input->output) Számítás (algoritmus) Program (formális nyelv) Folyamat (végrehajtás alatti számítás) konkurrens folyamatok független (privát adatok) együtt m!köd" (közös adatok) 2

Többszálú folyamatok Implementációs absztrakciós szint Egy programon (op. r. folyamaton) belüli tevékenységek párhuzamosítása közös er"források ütemezés 3 Op. rendszer struktúrák Applications Monolit, struktúrálatlan File storage I/O Proc. mngnt. Memory mngnt. Network services Rétegszerkezetek Dev. driver Dev. driver HW interface Dev. driver védelmi domének Applications Mikrokernel OR OS services Communication services Proc. mngnt. Memory mngnt. Dev. driver Dev. driver Microkernel Dev. driver HW interface 4

Eszközkezelés Interfész Device driver (OR) Device spec. szoftver interfész Device hardver interfész Device interfész input puffer output puffer kontrol regiszter státusz regiszter 5 Eszközkezelés (folyt.) Pollozás Interrupt kezelés hardver támogatás interrupt kiszolgáló rutin interrupt vektor környezetváltás prioritás Program PC Status reg. IR vector IR serv. routine Memory Processor Program Saved PC IR vector Saved status reg. PC Status reg. IR serv. routine Memory Processor 6

Eszközkezelés (folyt.) DMA cycle stealing Memory-mapped I/O allokált memóriacímek Timerek programozhatók interrupt felhasználás: futásid" (CPU használat), riasztások,periódikus tevékenységek 7 Több processzoros rendszerek Interrupt kezelés perifériák processzorokhoz kötötten perifériák bármely processzor által vezérelhet"k osztott memória, DMA periféria alrendszer inter-processzor interrupt 8

Pufferek és szinkronizáció I/O modulok között adatpufferek különböz" szinteken futó adatcserél" folyamatok szinkronizációja pufferelési stratégia Szinkron I/O Aszinkron I/O 9 Processzek és processzorok Processzek használata aszinkron esemény feldogozáskor Több processz, mint fizikai processzor processzorok megosztása (virtuális processzorok) interrupt mechanizmus processz menedzsment funkciók Ütemezés nem-preemptív preemptív 10

Multi-processz rendszer (pl.) Dev A IRQ ISR of Dev A Proc A Proc B ISR of Dev B Wait() Wait() Dev B IRQ 11 Processz állapotok RUNNING egy processzoron fut RUNNABLE elkezdhet futni egy processzoron BLOCKED RUNNING Futási jog elvéve várakozás valamilyen eseméyre Wait primitív végrehajtása Ütemezve végrehajtásra RUNNABLE BLOCKED Esemény bekövetkezett 12

Versenyhelyzetek Értesítés esemény bekövetkeztér"l Signal primitív (wake-up waiting) Események relatív id"zítése befolyásolja a következményt pl.: megszakítás bekövetkezte wait kiadása közben Wait és Signal metódusoknak oszthatatlannak (atominak) kell lennie 13 Ütemezés Processz kiválasztása végrehajtásra Ütemezési algoritmus hatékonyság optimális er"forrás kihasználás overhead csökkentése speciálisan kialakított adatszerkezetek speciális helyzetek unary scheduling binary scheduling 14

Folyamatok viselkedése Prioritás kezelés statikus, fix prioritás OR funkciók, real-time rendszerek változó aktivitás, multi user rendszerek dinamikusan meghatározott prioritás id"szeletek különböz" prioritású várakozósorok 15 Folyamatok viselkedése (folyt.) Prioritások rendszer folyamatok (statikus) kritikus er"forráson blokkolt folyamatok kevésbbé kritikus er"forrásokon blokkolt foly. I/O tevékenységet nem folytató, id" szeletet elhasznált foly. 16

Valós idej! ütemezés Valós idej! tevékenységek periódikus (ciklikus) spóradikus (nem meghatározott idej! fellépés) Határid"k betartása periódikus ütemezés (proc. frekvencia minimuma) ráta monoton ütemezés (frekvencia függ" prioritás) legkorábbi határidej!, legkisebb holtidej! 17 Valós idej! ütemezés (pl.) WorkA SlackA WorkB SlackB W A WB WorkA EDF WorkA WorkB LSF DB DA 18

OR folyamatok Felhasználói folyamatok privilégizált és nem privilégizált mód Device kezel" folyamatok Memória kezel" folyamatok Folyamat kezel" (ütemez") nem valósíthat meg folyamatként 19 Többszálúság implementálása Végrehajtási egység Szál Könny! súlyú folyamat Er"forrás allokálási egység Taszk Folyamat Címtér User és kernel thread ütemezhet" kernel thread -> többszálú folyamatok Nehéz súlyú folyamatok 20

Többszálúság implementálása (folyt.) one program one proc. Language runtime system one program one proc. Language runtime system one program user threads Language runtime system one program user threads Language runtime system one program user threads Language runtime system one program user threads Language runtime system Kernel threads OS kernel Szekvenciális pr. nyelv OS kernel Konk. pr. nyelv, OR támogatás nélkül OS kernel Konk. pr. nyelv, OR támogatással 21 Konkurrencia megoldások Szekvenciális nyelv nincs támogatás elkülönített tevékenységek kezelésére felhasználói kódnak kell menedzselni az állapotváltásokat nem lehet azonnal reagálni eseményekre 22

Konkurrencia megoldások (folyt.) Nyelv korutinokkal független alprogramok egy programon belül runtime támogatás coroutine-create, kill, call, suspend, resume aktív korutin lista de explicit kontrol, (ütemezés, konzisztencia meg"rzése) 23 Konkurrencia megoldások (folyt.) Nyelv folyamatokkal, szálakkal kontrol, ütemezés a runtime rendszerben kernel threadek 24

Konkurrencia megoldások (folyt.) Megoldandó problémák blokkoló rendszerhívások eseménykezelés (pollozás, interrupt) kooperatív, barátságosan viselked" folyamatok preemptív ütemezés esetén adat konzisztencia átkapcsolási overhead 25 Java threads Thread osztály, Runnable interfész run és start metódus ütemezés VM és hoszt OR függ" sleep InterruptedException join setpriority szinkronizációs eszközök 26

Processz-interakció Folyamatok közös adatokkal teljesen közös címtér külön címtér szegmentált memóriakezelés közös kód szegmens elosztott folyamatok kommunikáció közös adat szegmens 27 Processz-interakció (folyt.) Szinkronizálási igények egymás közötti feltétel szinkronizálás szinkronizálás kölcsönös kizárást kívánó er"forrásokon Interakció típusok one-to-one any-to-one one-to-many any-to-(one of) many many-to-many (shared data) 28

Granularitás Konkurrens tevékenységek felbontása folyamat, taszk, m!velet dekompozíció tevékenységek száma interakció frekvenciája közös adatok hozzáférése védelmi kívánalmak blokkoló rendszerhívások 29 Granularitás (folyt.) Atomi tevékenység oszthatatlan utasítás szekvencia (átmeneti állapotok nem láthatók) fine-grained: egy gépi utasítás coarse-grained: oszthatatlannak látszó fine-grained tevékenységek sorozata 30

Alacsonyszint! szinkronizáció Közös írható adatterületek védelme Kritikus szakasz megvalósítása One-to-one interakciónál általánosabb megoldás kell Eszközkezelés Wait() és Signal() primitívjei nem alkalmasak 31 Kritikus régiók Kölcsönös kizárás biztosítása közös adatterületen végzett nem atomi blokkok számára Proc. A Proc. B Critical region Data structure Critical region 32

Hardver megoldások Oszthatatlan hardver m!velet "r flag ellen"rzésére és beállítására Test-and-set Proc. A TAS Proc. B TAS compare-and-swap Critical region Data structure Critical region load linked/store conditional 33 Szemaforok A B C Dijkstra 1 semwait() Szemafor objektum semwait() 0 0 B semwait() semwait() semsignal() 0 B C semsignal() érték 0 B semsignal() várakozósor 0 1 semsignal() 34

Szemaforok (folyt.) Szamaforok korlátai felhasználásuk nem automatikus, programozási hibák blokkolás nélkül nem lehet tesztelni nincs több szemaforra vonatkozó együttes semwait() nincs timeout 35