Management procesu II Mgr. Josef Horálek



Podobné dokumenty
Management procesu I Mgr. Josef Horálek

Přidělování paměti I Mgr. Josef Horálek

Paměti a jejich organizace

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu Obědvající filosofové

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

Implementace egovernmentu v území. Datové schránky

Přidělování CPU Mgr. Josef Horálek

Principy operačních systémů. Lekce 6: Synchronizace procesů

Při překrývání se využívá toho, že ne všechny moduly programu jsou vyžadovány současně. Jakmile skončí využívání jednoho

Principy operačních systémů. Lekce 2: Správa paměti

Operační systémy. Přednáška 8: Správa paměti II

Stavba operačního systému

Architektury CISC a RISC, uplatnění v personálních počítačích

Principy činnosti sběrnic

českém Úvod Obsah balení Technické údaje pro BT100 Doplňkové technické údaje pro BT100 S W E E X. C O M BT110 Sweex Bluetooth Class I Adapter USB

Správa procesů a vláken Mgr. Josef Horálek

Výzva k podání nabídky včetně zadávací dokumentace na veřejnou zakázku malého rozsahu

Operační systémy (OS)

Přidělování paměti II Mgr. Josef Horálek

VÝZVA K PŘEDKLÁDÁNÍ GRANTOVÝCH PROJEKTŮ OP LZZ

Systémová volání Mgr. Josef Horálek

12. Bezpečnost počítačových sítí

IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D.

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce.

Principy operačních systémů. Lekce 7: Souborový systém

Výzva k podání nabídky včetně zadávací dokumentace na veřejnou zakázku malého rozsahu

Google Apps. dokumenty 5. verze 2012

Procesor. Procesor FPU ALU. Řadič mikrokód

UŽIVATELSKÁ DOKUMENTACE PRO DODAVATELE. Stav ke dni v. 2.0

Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

Část první. Čl. 1. Údaje o jednotce

Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP.

Tento počítač. 1 Seznámení s programem. 2 Spuštění programu. Adresářové operace Popis programu Tento počítač, podstata adresářových operací.

Principy operačních systémů. Lekce 3: Virtualizace paměti

FlowMon. Pokročilá analýza Cisco NetFlow pomocí řešení FlowMon. INVEA-TECH a.s.

Modul ročních zpráv o výsledcích finančních kontrol

OBCHODNÍ PODMÍNKY PRODEJ FYZICKÉHO ZBOŽÍ

IRO Integrované ovládání místností

Tiskové služby v sítích Microsoft. PDF created with pdffactory trial version

E.C.S. řada nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 )

Průzkum trhu a chování zákazníků Odborná školení a vzdělávání pracovníků územní veřejné správy pro oblast cestovního ruchu

Jako příklady typicky ch hrozeb pro IT lze uvést: Útok

N á v r h u s n e s e n í S e n á t u PČR

Popis procesu Příručka kvality Číslo_Verze Vlastník procesu: Platnost od: Schválila: dokumentu PMK Ředitelka školy PK_04.

3. Linková vrstva. Linková (spojová) vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

MEZINÁRODNÍ AUDITORSKÝ STANDARD ISA 265 OBSAH

DOPLNĚK. Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj.

Úvod Používané konvence Seznámení s Outlookem...17

Zadávací dokumentace k veřejné zakázce

Pinnacle MediaCenter

Uživatelská příručka pro Příkazce / Správce zdrojů financování. Projekt DMS modul Faktury

Adresace paměti. 11.přednáška

MECHANISMUS SOFTWAROVÉHO ZVEŘEJŇOVÁNÍ VEŘEJNÝCH ZAKÁZEK PO ÚPRAVÁCH


ZADÁVACÍ DOKUMENTACE K VEŘEJNÉ ZAKÁZCE: DODÁVKA VÝPOČETNÍ TECHNIKY. Stránka 1 z 13

ISPOP 2016 PRŮVODCE REGISTRACÍ SUBJEKTU. verze 1.0

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

KOMISE EVROPSKÝCH SPOLEČENSTVÍ. Návrh NAŘÍZENÍ RADY,

Přidělování zdrojů (prostředků)

K VEŘEJNÉ ZAKÁZCE. Správa a údržba silnic Jihomoravského kraje, příspěvková organizace kraje. SÚS JMK, ředitelství, Ořechovská 541/35, Brno

Procesy a vlákna (Processes and Threads)

Změna nastavení systému Windows

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

CS 1 CS. NAŘÍZENÍ KOMISE (ES) č. 865/2006. ze dne 4. května 2006

Komunikace v síti M-Bus

Faxový server společnosti PODA s.r.o.

Výzva k podání nabídky včetně zadávací dokumentace na veřejnou zakázku malého rozsahu

ISPOP 2016 PRŮVODCE PRO VYPLNĚNÍ FORMULÁŘE IRZ (F_IRZ) pro ohlašování v roce 2016 (data za ohlašovací rok 2015) verze 1.0

VÝZVA A ZADÁVACÍ DOKUMENTACE

Šablona klíčové aktivity III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Město Doksy odbor rozvoje a majetku náměstí Republiky čp. 193, Doksy

BYTOVÝ DŮM PRO SENIORY, HOVORANY PROJEKTOVÁ DOKUMENTACE

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

Teoretické minimum z PJV

Zadávací dokumentace

Objednávka zveřejnění do Obchodního věstníku

Příloha III k MARPOL Pravidla pro zamezení znečištění škodlivými látkami v námořní dopravě v balené formě

V Praze dne 4. července Dobrý den,

Spotřebitelský řetězec lesních produktů Požadavky

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

Motorola Phone Tools. Začínáme

napájecí napětí vlastní odběr zařízení podporované funkce počet bitů stopbit nastavitelné adresy maximální počet zařízení na lince

ŘÍZENÍ OBCHODU (N_ROb)

EO_04. Základní prvky koordinace - čin/fakt produkce čin/fakt

Regionální rada regionu soudržnosti Moravskoslezsko. vyhlašuje KONTINUÁLNÍ VÝZVU K PŘEDKLÁDÁNÍ ŽÁDOSTÍ O DOTACI

VÝUKOVÝ MODUL VI/2 VYTVÁŘENÍ PODMÍNEK PRO ROZVOJ ZNALOSTÍ, SCHOPNOSTÍ A DOVEDNOSTÍ V OBLASTI FINANČNÍ GRAMOTNOSTI

Čl. I. Úvodní ustanovení

Aktivní saldo. Copyright 2009 CÍGLER SOFTWARE, a.s.

RE5USB programovatelné USB relé s integrovaným watchdogem ( RE5 ) Základní vlastnosti

Charakteristika dalších verzí procesorů v PC

PROCESOR. Typy procesorů

KNX/EIB Celosvětově normalizovaný systém inteligentní instalace (3) Ing. Josef Kunc

Služba ve Windows. Služba (service) je program

napájecí napětí vlastní odběr zařízení podporované funkce počet bitů stopbit nastavitelné adresy maximální počet zařízení na lince

Výzva k účasti v elektronické aukci pro Město Bystřice pod Hostýnem Oprava povrchu parkoviště Za kostelem v Bystřici pod Hostýnem

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost


Transkript:

Management procesu II Mgr. Josef Horálek

Vlákna = Vlákna (Threads) = proces je definován množinou zdrojů výpočetního systému, které používá a umístěním, kde je spuštěn; = vlákno (thread) nazýváme lehký proces = jde o základní jednotkou využití procesoru, která obsahuje: = ukazatel programu; = sadu registrů; = zásobník; = kódová, datová část procesu a přidělené zdroje OS jsou sdíleny všemi vlákny procesu; = tradiční nebo těžký proces je úloha s jediným vláknem;

Vlákna = Úloha nic nedělá = pokud jí nepřísluší žádné vlákno a každé vlákno může příslušet právě jedné úloze; = Vlákno snižuje režii operačního systému = při změně kontextu; = při zajišťování multitaskingu; = Vlákna sdílí nejen společný paměťový prostor i další struktury = Přepínání vláken nevyžaduje výpomoc OS = nevyvolá přerušení; = přepnutí mezi uživatelskými vlákny není závislé na OS a tedy velmi rychlé; = Jedno vláknové jádro OS = každé volání jádra každým procesem zastaví celou jeho úlohu, dokud jádro neodpoví;

Vlákna = Vlákna se v mnohém chovají jako procesy = mohou se nacházet v některém ze stavů: = připraveno; = blokováno; = spuštěno; = ukončeno; = stejně jako procesy vlákna sdílí CPU a pouze jedno z nich může být spuštěno; = během procesu se spouštějí jeho jednotlivá vlákna; = každé vlákno má svůj ukazatel programu a zásobník; = vlákna mohou vytvářet synovská vlákna = vlákna mohou být zablokována systémem; = jestliže je jedno vlákno zablokováno, jiné může být spuštěno;

Vlákna = Na rozdíl od procesu jsou vlákna na sobě závislá = Všechna vlákna mají přístup na libovolnou adresu úlohy = vlákno může číst do libovolného zásobníku jiného vlákna téže úlohy; = vlákno může zapisovat do libovolného zásobníku jiného vlákna téže úlohy; = neprovádí se žádná ochrana jednotlivých vláken; = Procesy vznikají od různých uživatelů = mohou být nepřátelské navzájem = vlákna jsou naprogramována tak, aby navzájem kooperovala;

Vlákna = Vlákna mohu být podporována jádrem = pak jsou volání jádra vykonávána souběžně s procesy; = tato volání mohou být také podporována jádrem přes množinu volání knihoven na uživatelské úrovni; = vlákna na uživatelské úrovni nepoužívají jádro = proto jsou při přepínání mezi sebou rychlejší než vlákna podporovaná jádrem; = jakékoli volání jádra způsobí zastavení celého procesu; = protože jádro plánuje jen procesy, o existenci vláken nemá potuchy a proces, který je čekající nemá naději na přidělení CPU;

Vlákna = Shrnutí: = vlákna jádra mají pouze malé datové struktury a zásobník = přepínání mezi nimi nevyžaduje přistup do paměti a je poměrně rychlé; = uživatelské vlákno obsahuje pouze zásobník a ukazatel programu; = nepotřebuje žádné zdroje jádra; = jádro se nepodílí na plánování uživatelských vláken; = přepínání mezi uživatelskými vlákny je rychlé;

úloha Vlákna Ukazatel programu vlákna kódový segment datový segment

= IPC (interprocess-communication) = umožňuje procesům komunikovat a synchronizovat své akce; = Základní struktura: = systém zpráv musí umožňovat minimálně dvě operace: = send(zpráva); = receive(zpráva); = zprávy doručované systémem mohou být proměnné nebo pevné délky;

= Procesy P a Q chtějí komunikovat = musí být navzájem schopny přijímat a vysílat své zprávy; = musí mezi nimi existovat komunikační spojení; = spojení může být navázáno i mezi více než dvěma procesy; = spojení je nesměrové; = Možné logické implementace spojení: = přímá nebo nepřímá komunikace; = symetrická nebo asymetrická komunikace; = automatické nebo explicitní bufferování; = posílání kopie nebo posílání odkazu; = zprávy pevné nebo proměnné délky;

Přímá komunikace = V tomto typu komunikace musí každý proces znát jméno příjemce = v tomto schématu jsou definovány funkce: = send(p, zpráva); = pošli zprávu procesu P; = receive(q, zpráva); = přijmi zprávu od procesu Q;

Přímá komunikace = Komunikační spojení má následující vlastnosti: = spojení je vytvořeno mezi právě dvěma procesy; = spojení je automaticky povoleno mezi každými dvěma procesy; = pro komunikaci musí procesy pouze navzájem vědět svou identifikaci; = mezi každými dvěma procesy může existovat maximálně jedno spojení; = spojení může být nesměrové, ale většinou je dvousměrové;

Přímá komunikace = Komunikace: = oba procesy jsou spuštěny současně a konzument zpracovává položku zatímco producent již vytváří jinou; = v okamžiku kdy ji vytvoří pošle ji pomocí funkce send příjemci; = ten ji přijme prostřednictvím funkce receive; = není- li vyprodukována žádná zpráva, je producent ve stavu čekající; = oba musejí znát navzájem své identifikace, aby mohli komunikovat; = nebo lze použít asymetrické adresování; = pouze producent zná adresu příjemce; = příjemce adresu producenta znát nemusí; = nevýhodou obou těchto schémat komunikace (symetrické i asymetrické) je limitovaná modularita konečné definice procesu;

Nepřímá komunikace = V této komunikaci si producent a příjemce vyměňují zprávy pomocí schránky (mailbox) = někdy označované port; = schránku můžeme chápat jako objekt; = do objektu mohou procesy vkládat zprávy; = z objektu mohou být zprávy procesy vyzvedávány; = každá schránka má jedinečnou identifikaci; = proces může komunikovat s jinými procesy prostřednictvím množství různých schránek; = dva procesy mohou komunikovat pouze sdílí-li společný mailbox; = funkce send a receive mají následující hlavičku: = send(a, zpráva); = pošli zprávu do schránky A; = receive(a, zpráva); = přijmi zprávu ze schránky A;

Nepřímá komunikace = V tomto případě má komunikační spojení následující charakteristiky: = spojení je navázáno mezi dvěma procesy pouze mají-li sdílenou schránku; = spojení může být navázáno mezi více než dvěma procesy; = mezi každým párem komunikujících procesů může být navázáno více spojení; = každé spojení vyžaduje jednu schránku; = spojení může být nesměrové nebo dvou směrové;

Nepřímá komunikace = Uvažujme, že procesy P1, P2 a P3 sdílí společnou schránku A = P1 pošle zprávu do schránky A; = zatímco procesy P2 a P3 mají spuštěnou funkci receive ze schránky A; = který proces přijme zprávu od P1? = otázku můžeme řešit více způsoby: = povolit spojení mezi více než dvěma procesy; = povolit nejvýše jedno spuštění operace receive v čase; = povolit systému, aby vybíral, který proces zprávu obdrží;

Nepřímá komunikace = Vlastníkem schránky může být buď OS nebo proces = každá schránka má jedinečného vlastníka; = jak se stanovuje vlastník a uživatel schránky? = zavést typ proměnné schránka; = schránky ve vlastnictví operačního systému; = proces, který schránku vytvořil je implicitně jejím vlastníkem; = jedině on může do schránky zasílat zprávy; = procesy mohou sdílet schránku prostřednictvím techniky tvorby procesu;

Buffery = Kapacita spojení je dána množstvím zpráv, které mohou čekat v záloze, než si je příjemce odebere = spojení je možno chápat jako frontu zpráv; = pro implementaci fronty jsou možné tři základní způsoby: = fronta s nulovou kapacitou; = fronta s omezenou kapacitou; = fronta s neomezenou kapacitou; = Existují další výjimečné formy komunikace procesu: = proces, který produkuje zprávy nikdy nečeká; = proces, který vyslal zprávu čeká dokud nedostane odpověď;

Výjimečné situace = Proces byl ukončen: = odesilatel nebo příjemce může být ukončen dříve, než byla zpracována zpráva; = mohly vzniknout zprávy, které nikdy nebudou přijaty; = zablokované procesy čekající na zprávu, která nikdy nebude odeslána; = dvě možné situace: = Proces P čeká na zprávu od procesu Q, který byl zrušen; = Proces P odeslal zprávu procesu Q, který byl zrušen;

Výjimečné situace = Ztracená zpráva = zpráva odeslaná procesem P procesu Q se ztratila kdesi v síti; = chybou hardwaru nebo komunikačního spojení; = základní metody ošetření této události: = OS je schopen detekovat tuto událost a znovu poslat zprávu; = odesílající proces je schopen detekovat tuto událost a znovu odeslat zprávu, je-li to zapotřebí; = OS je schopen detekovat tuto událost a upozorní odesílající proces, že zpráva byla ztracena; = odesílající proces potom může udělat co uzná za vhodné;

Výjimečné situace = Porušená zpráva = zpráva byla doručena příjemci = cestou došlo k jejímu poškození; = důsledky jsou totožné se ztracením zprávy a většinou OS znovu posílá originál porušené zprávy; = mechanismus detekce poškození spočívá v kontrolním součtu zprávy (parita nebo CRC);

Děkuji za pozornost