Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.

Slides:



Advertisements
Podobné prezentace
A1PRG - Programování – Seminář Ing. Michal Typová konverze, oblast platnosti, paměťové třídy 9 Verze
Advertisements

Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Komunikace periférii.
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
Paralelní programování
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Genetické algoritmy. V průběhu výpočtu používají náhodné operace. Algoritmus není jednoznačný, může projít více cestami. Nezaručují nalezení řešení.
Doplňující referát k přednášce Transakce Šárka Hlušičková
Vzdělávací materiál / DUMVY_32_INOVACE_02B5 Správa pamětí AutorIng. Petr Haman Období vytvořeníčerven 2013 Ročník / věková kategorie2. ročník Vyučovací.
Definování prostředí pro provozování aplikace dosud jsme řešili projekt v obecné rovině aplikace bude ovšem provozována v konkrétním technickém a programovém.
Vzdělávací materiál / DUMVY_32_INOVACE_02B2 Správa procesů AutorIng. Petr Haman Období vytvořeníProsinec 2012 Ročník / věková kategorie2. ročník Vyučovací.
SÍŤOVÁ ANALÝZA.
13AMP 6. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Synchronizace procesů Synchronizace procesů Producent-Konzument Producent-Konzument.
 vytváření signálů a jejich interpretace ve formě bitů  přenos bitů po přenosové cestě  definice rozhraní (pro připojení k přenosové cestě)  technická.
Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.
13AMP 2. přednáška Ing. Martin Molhanec, CSc.. Stav procesu (kontext) Stav procesu je úplná informace, kterou je nutné uschovat při přerušení procesu,
Mikroekonomie I Rovnováha na dokonale konkurenčním trhu
Správa procesů.
2 Ing. Jan Keprt Centrální správa uživatelů 3 Jak to bylo dosud Bylo třeba nastavení uživatelů provést zvlášť, v každém modulu samostatně. Uživatel si.
13AMP 3. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled I. Co je to kontext úlohy Co je to kontext úlohy Task switching (přepnutí úlohy)
Transakční zpracování v SQL P. Částek. Transakce Transakce = logická jednotka práce Podaří-li se všechny části transakce, potvrdíme je. COMMIT Jestliže.
Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.
Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Synchronizace Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Zablokování (deadlock, smrtelné objetí, uváznutí)
Distribuované systémy cvičení 3
Kompresní algoritmus LZW Dokumentografické informační systémy.
Správa procesů.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
3. konzultace (5 hodin) Studijní materiály najdete na adrese:
13AMP 4. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Problém sdílených zdrojů Problém sdílených zdrojů Co je to kritická sekce Co.
KIV/ZIS cvičení 4 Tomáš Potužák. Dotazy - úvod Umožňují pracovat s databází –Získávat specifické informace z tabulky, případně z více tabulek najednou.
Distribuované algoritmy - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Vnitřní (operační paměť)
Distribuovaný deadlock - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
INFORMAČNÍ SYSTÉMY CVIČENÍ: Semestrální projekt Podmínky udělení zápočtu Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení.
Základy operačních systémů Meziprocesová komunikace a synchronizace Jakub Yaghob.
SVAZEK NEDEDIKOVANÝCH PRACOVNÍCH STANIC NA BÁZI OS LINUX DANIEL LANGR DIPLOMOVÁ PRÁCE 2004.
Schvalovací proces a hodnoticí kritéria
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Zálohování dat. Zálohování dat (podle CHIP) důvody zálohování – problémy HW, SFTW, viry, chyby uživatele, viry, hackeři, přírodní katastrofy, krádeže.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
IPRM Kladno-Kročehlavy Aktuální stav realizace IPRM
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
Operační systémy 10. Souběh a uváznutí
Bezpečnostní technologie I
Téma 6 – Uváznutí Obsah Problém uváznutí a časově závislých chyb
Zvídavé otázky 1. Prevence a detekce uváznutí
Úvod do databázových systémů
OPERAČNÍ SYSTÉMY Část 4 – správa souborů
Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
1. ročník oboru Mechanik opravář motorových vozidel
1. ročník oboru Mechanik opravář motorových vozidel
Analýza nákladů PaE 1 (S-5B)
Operační systémy 9. Spolupráce mezi procesy
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Správa paměti.
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Zablokování Současně běží více procesů požadujících přidělení určitých prostředků výpočetního systému a převedených do stavu blokovaných procesů – tj.
Operační systémy.
Přepínání procesů Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Paměť.
Správa procesů.
Přednášky z Distribuovaných systémů
Transkript prezentace:

Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003

Kapitola 6 Konkurence procesů: zablokování a vyhladovění

Zablokování (deadlock)  možný překlad: vzájemné zablokování, smrtící objetí  termín pochází ze sportu (zápas)  trvalé zablokování skupiny procesů které buď soupeří o systémové prostředky nebo mezi sebou komunikují  vzniká konfliktem požadavků na prostředky od dvou nebo více procesů

Příklad na deadlock

Opakovaně použitelné prostředky Reusable Resources  v daném okamžiku je může používat pouze jeden proces a nejsou tímto použitím vyčerpány  proces může získat takový prostředek a pak jej opět uvolnit pro použití jiným procesem  čas procesoru, I/O kanály, operační a sekundární paměť, soubory, databáze, semafory...  deadlock nastává, jestliže proces již nějaký nějaký prostředek drží a žádá o přidělení dalšího

Příklad zablokování procesů  dva procesy soupeří o paměť  celkem je možné přidělit 200KB paměťového prostoru  nastane následující posloupnost událostí  deadlock nastává, když oba procesy dospějí k druhému požadavku P1... Request 80K bytes; Request 60K bytes; P2... Request 70K bytes; Request 80K bytes;

Spotřebitelné prostředky  prostředky vytvářené a ručené procesy  přerušení, signály, zprávy, informace v I/O bufferech...  deadlock může nastat, když je příjem zprávy blokující  kombinace vedoucí k vzájemnému zablokování může být velmi vzácná

Příklad zablokování procesů  deadlock nastává, pokud je receive blokující P1... Receive(P2); Send(P2); P2... Receive(P1); Send(P1);

Podmínky vzniku stavu deadlock  vzájemné vylučování  v daném čase může prostředek používat pouze jeden proces  Hold-and-wait  proces může držet prostředek v době, kdy žádá o přidělení dalšího  systém bez preempce  již přidělený prostředek nemůže být procesu násilně odebrán

Podmínky vzniku stavu deadlock  kruhové čekání (Circular Wait)  existuje uzavřený řetězec procesů takový, že každý proces drží nejméně jeden prostředek, který potřebuje následující proces v řetězci  je to důsledek předešlých tří podmínek  mohou být potřebné i další podmínky, ale jejich splnění není dostatečné pro vznik vzájemného blokování

Circular Wait Resource B Resource A Process P1 Process P2 Requests Held by Requests Held By

Prevence stavu deadlock  Vzájemné vylučování  nelze se mu vyhnout !!!  Hold-and-Wait  lze zajistit, aby procesy požadovaly všechny prostředky najednou  pak lze proces blokovat, dokud nemohou být všechny jeho požadavky zajištěny současně  proces může čekat na takovou situaci velmi dlouho  prostředky alokované procesu mohou zůstat dlouhou dobu nevyužity. Tyto prostředky mohou být použity jinými procesy

 Bezpečný stav  existuje postup, jak dokončit všechny procesy, aniž by nastal deadlock tzv. bezpečná sekvence (safe sequence)  Nebezpečný stav  stav, kdy může (ale nemusí) nastat deadlock  OS musí udržovat bezpečný stav, aby se vyhnul případnému vzájemnému zablokování procesů (deadlock) Algoritmus bankéře

 výchozí předpoklady  pevný počet prostředků  pevný počet procesů  všechny procesy musí deklarovat předem své maximální požadavky  požadavky procesu jsou akceptovány pouze pokud jeho maximální požadavky nepřekročí celkový počet prostředků  procesy mohou získat v daném okamžiku pouze jeden prostředek Algoritmus bankéře

 prostředek je alokován pouze pokud výsledkem alokace je opět bezpečný stav  algoritmus předchází vzniku cyklického čekání (circular wait)  algoritmus má některé slabiny  nelze vždy garantovat pevný počet prostředků  v multiprogramovém prostředí nelze vždy zajistit pevný počet procesů  procesy nemohou vždy předem znát maximální požadavky na prostředky Algoritmus bankéře

Prevence stavu deadlock  preempce  když je procesu odmítnuto přidělení dalšího prostředku, musí proces uvolnit již získané prostředky  systém musí umožňovat, aby se proces mohl vrátit do předešlého stavu  praktické použitelné pouze tam, kde stav může být snadno uložen a pak obnoven zpět  např. stav procesoru

Prevence stavu deadlock  kruhové čekání  pro prostředky definovat lineární uspořádání  jakmile je nějaký prostředek přidělen, mohou být jako další přiděleny již jen prostředky s vyšším pořadovým číslem  může bezdůvodně odmítnout přidělení prostředků

Detekce stavu deadlock  OS může testovat, zda nenastal deadlock  test se provádí při příjmu požadavku na prostředky  včasná detekce stavu deadlock  časté testování spotřebovává čas procesoru  periodické testování

Vyloučení stavu deadlock  nestartovat procesy, jejichž požadavky by mohly způsobit deadlock  nepovolit inkrementální požadavky na prostředky procesům, pokud by takové požadavky mohly způsobit deadlock  není nutná preempce a rollback procesů

Vyloučení stavu deadlock  na začátku musí program specifikovat maximální požadavky na prostředky  uvažované procesy musí být nezávislé – bez požadavků na synchronizaci  počet alokovatelných prostředků musí být omezený  žádný proces nesmí skončit, dokud neuvolní obsazené prostředky

Strategie odstraňování stavu deadlock  násilně ukončit všechny vzájemně zablokované procesy  obnovit vzájemně zablokované procesy ze zálohy v bodě, kde dosud neexistoval deadlock, a procesy restartovat  tím ovšem může opět vzniknout původní deadlock  postupně násilně ukončovat jednotlivé vzájemně zablokované procesy, dokud deadlock nezmizí  postupně násilně odebírat procesům prostředky, dokud deadlock nezmizí

Výběrová kriteria při ukončování procesů  nejmenší dosud spotřebovaný čas procesoru  nejmenší objem dosud vygenerovaných výstupních dat  Nejdelší odhadnutý čas zbývající do dokončení  nejmenší počet dosud přidělených prostředků  nejnižší priorita

Vyhladovění (Starvation)  při čekání na přidělení prostředků  proces nemůže získat přístup k požadovanému prostředku v důsledku obsazení prostředku jinými procesy ... a nikdy se ho nedočká  při komunikaci procesů  dva procesy si stále vyměňují zprávy, zatímco jiný proces čeká na zprávu ... a nikdy se jí nedočká  typický důsledek nízké priority