Univerzita Hradec Králové
Transkript
Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více programu současně. = Instancí běžícího programu v takovém systému je proces. Proces je základní jednotka práce moderního OS se sdílením času. Procesy = Základní souběžně spuštěné procesy: = procesy operačního systému; = uživatelské procesy; = Všechny tyto procesy běží zdánlivě současně a CPU je střídavě obsluhuje; = OS se tím stává produktivnější; = proces jako takový není pouze kód programu, ale zahrnuje v sobě i všechny jeho aktivity, které jsou reprezentovány hodnotami ukazatele programu a obsahem registru procesoru; Procesy = Proces jako takový není pouze kód programu, ale zahrnuje v sobě i všechny jeho „aktivity“, které jsou reprezentovány hodnotami ukazatele programu a obsahem registru procesoru. = Program sám o sobě není proces! = jedná se o pasivní entitu; = existující např. jako soubor dat na disku; = proces je aktivní entita s ukazatelem programu, který specifikuje následující instrukci a dalších zdrojů; = více procesů může být asociováno s týmž programem; Procesy - Stavy procesu = Každý proces se může vzhledem ke své momentální aktivitě vyskytovat v některém z následujících stavu: = nový (New) - proces byl právě vytvořen; = probíhající (Running); = instrukce procesu začala být vykonávána; = čekající (Waiting) = proces čeká na nějakou událost; = na dokončení I/O operace nebo přijetí signálu; = připraven (Ready) = proces čeká na procesor; = ukončen (Terminated) = proces dokončil svou činnost; Procesy - Stavy procesu Nový přijat ukončen přerušen Připraven Ukončen Probíhající vybrán dispečerem I/O nebo jiná událost ukončena I/O nebo jiná událost Čekající Procesy - Process Control Block = Každý proces v OS je reprezentován záznamem, (process control block - PCB). = Obsahuje množství informací o procesu, jako např: = Status procesu (Process state) = Nový, Probíhající, Čekající, Připraven, Ukončen; = CPU plánovací informace (CPU scheduling information) = priorita procesu, ukazatele do plánovacích front aj; = CPU registry (CPU registers) = = počet registrů je různý v závislosti na architektuře procesoru jsou zde akumulátory, indexové registry, ukazatele do zásobníku aj; = Informace správy paměti (Memory management information) = počet base a limit registru, tabulky stránek nebo segmentu; = Účtovací informace (Accounting information) = informace o čase přidělení procesoru, časový limit, číslo procesu aj; = I/O stavové informace (I/O status information) = seznam I/O zařízení alokovaných pro tento proces, seznam otevřených souborů apod;. Procesy - Process Control Block Proces P0 Process number Proces P1 Přerušení nebo systémové volání Process counter Ulož stav do PCB_0 Register . . Memory limits List of open files Načti stav do PCB_1 čekající . . . Operační systém čekající Process state Přerušení nebo systémové volání Ulož stav do PCB_1 . . Načti stav do PCB_0 čekající Pointer Plánování procesu = Plánovací fronty: = v okamžiku, kdy je proces vytvořen je jeho záznam vložen do fronty procesu (job queue); = tato fronta obsahuje všechny procesy v systému; = procesy, které jsou ve fyzické paměti a čekají na přidělení procesoru jsou ve frontě připravených (ready queue); = sejde-li se najednou více požadavků na určité I/O zařízení; = OS tyto požadavky řídí pomocí fronty zařízení (device queue) = každé I/O zařízení má svou vlastní frontu zařízení; Plánování procesu Fronta připravených CPU CPU I/O fronta I/O požadavky Konec přiděleného časového kvanta Dokončení syn. procesu Spuštění syn. rpocesu Vytvořen synovský proces Přerušení vykonáno Čekání na přerušení Plánování procesu = Nový proces = je inicializován = zařazen do fronty připravených = čeká na přidělení CPU = v okamžiku, kdy jej dostane je spuštěn a může nastat některá z následujících možností: = proces požaduje I/O operaci a je zařazen do příslušné I/O fronty; = proces vytvořil podproces a čeká na jeho dokončení; = procesu je násilně odebrána CPU v důsledku přerušení a je uložen zpět do fronty připravených; Plánování procesu = Plánovače: = životní cyklus procesu sestává z přesunu mezi jednotlivými plánovacími frontami OS; = proces, který je třeba zařadit do fronty rozhoduje OS pomoci tzv. plánovačů; = plánovač úloh (job scheduler) vybírá procesy z poolu a zavádí je do fyzické paměti ke spuštění; = plánovač procesu (CPU scheduler) vybírá z připravených procesů ten, kterému bude přidělen procesor; = tito dva plánovači se od sebe výrazně liší frekvencemi, s jakými jsou spouštěni; Plánování procesu = Plánovač procesu = vybírá proces pro přidělení CPU; = pracuje mnohem častěji; = proces může být spuštěn jen na pár milisekund, než je nucen např. čekat na nějakou I/O operaci; = Plánovač úloh = spouštěn s mnohem menší frekvencí; = mezi vstupem nového procesu do systému mohou uběhnout řádově minuty; = plánovač úloh sleduje počet procesů v paměti; Plánování procesu = Procesy se dají rozdělit na: = procesy převážně využívají I/O zařízení; = CPU procesy; = je vhodné, aby plánovač procesu natahoval do systému rovnoměrně oba tyto typy procesu; = v některých systémech není plánovač úloh implementován, nebo je minimalizován = v systémech se sdílením času velmi často plánovač není a všechny procesy jsou zaváděny přímo do paměti a předány plánovači procesu; Planování procesu Swap in Procesy spuštěné ale odložené na swap Fronta připravených I/O Swap out CPU I/O fronty Plánování procesu = Přepínání kontextu: = přidělení procesoru jiné úloze vyžaduje uložit stav procesu, který procesor opouští a načíst stav procesu, který k procesoru přichází; = tato výměna se nazývá přepínání kontextu (context switch); = přepínání kontextu představuje čistě režii systému; = přepínání kontextu zahrnuje nejdříve změnu ukazatele do paměti na aktuální kontext; = ten je z paměti načten (při vstupu procesu) = nebo je do paměti uložen aktuální stav (pokud proces procesor opouští); Operace s procesy = Základní operace, které musí operační systém provádět jsou mechanismy vedoucí k vytvoření a zrušení procesu. = Vytvoření procesu: = libovolný proces může vytvořit nový proces prostřednictvím volání vytvoření procesu; = proces pro své naplnění potřebuje zdroje: = = = = čas CPU; paměť; soubory; periferie; Operace s procesy = V okamžiku, kdy proces vytvoří další proces jsou dvě možnosti jejich další existence: = rodičovský proces běží dále souběžně se synovským; = rodičovský proces čeká na to než, některý nebo všechny synovské procesy budou dokončeny; = Vzhledem k adresovému prostoru obou procesů nastávají také dvě možné situace: = synovský proces je duplikátem rodičovského; = synovský proces má vlastní program a ten je zaveden do paměti; Operace s procesy = Vytváření synovských procesů je v různých OS implementováno různě. = v OS UNIX = má každý proces jedinečné identifikační číslo (PID); = nový proces je vytvářen voláním jádra fork; = vytvořený proces potom obsahuje kopii adresového prostoru procesu rodičovského; = OS s jádrem na základě Windows NT = podporuje stejné možnosti vytvoření synovského procesu; = nebo když vytvoří nový proces, natáhne jeho program do paměti a spustí jej; Operace s procesy = Zrušení procesu: = ke zrušení procesu dochází poté, co jsou vykonány všechny jeho instrukce; = OS ho zajišťuje voláním jádra exit; = všechny zdroje alokované pro proces jsou uvolněny operačním systémem; = zrušení procesu si může vyžádat i jiný proces prostřednictvím volání abort; Operace s procesy = Rodič může zadat zrušení synovských procesů z různých důvodů: = syn překročil možnosti, které mu byly poskytnuty na nějakém systémovém zdroji; = úkol, který měl syn splnit již není požadován; = rodičovský proces byl ukončen a OS ukončuje všechny jeho potomky; Spolupráce procesu = Procesy souběžně spuštěné v systému mohou být: = autonomní ; = kooperující; = Možnosti spolupráce procesu: = = = = sdílení informací (Information sharing); urychlení výpočtu (Computation speedup); modularita (Modularity); zvýšení pohodlí (Convenience); Spolupráce procesu = Spolupráce procesu vyžaduje mechanismy povolující popř. zakazující komunikaci mezi procesy a mechanismy pro synchronizaci procesů; = Spolupráci procesu si lze představit jako spolupráci výrobce a příjemce; = producent produkuje informace, která přijímá příjemce; = Pro spolupracující procesy je třeba vytvořit buffer, který bude naplňován producentem a vyprazdňován příjemcem; Spolupráce procesu = Neomezený buffer (unbounded buffer) = velikost bufferu není omezena; = příjemce musí čekat je-li buffer prázdný, producent může stále produkovat; = Omezený buffer (bounded buffer) = buffer má pevnou velikost = příjemce musí čekat je-li buffer prázdný; = producent musí čekat je-li buffer plný; Děkuji za pozornost…
Podobné dokumenty
DVB-T PLUS
Čelní tlačítka slouží k přidání vkládaných složek; mazání souborů; editaci možností; spuštění a ukončení
transkódování.
Okno periodického procesu zobrazuje název složky, kódovací status, velikost o...
Počítačové hry
Odhady času s přesností na +30%, -20%
Aktualizace
V tomto okamžiku má projekt za sebou přibližně 45% celkového
času a 40% celkové práce (za předpokladu, že jsou tři fáze).
+ 420 608 048 446 inesabelahofbauerova.wordpress.com ines
mezinárodních konferencích, příprava rukopisů vědeckých článků k publikování, účást
na seminářích katedry. Vědecká práce probíhala v rámci grantu “ Vliv různých guildů
herbivorního hmyzu na populač...
GridSQL a pg-pool II
● Není odolný vůči výpadku nodu/ů
Řešení ala Kutil Tim
● INSERT, UPDATE – spouštět přímo na nodech => řádové zrychlení, ale koledujeme si
o malér
● Lze využít uživatelských funkcí, které jsou vytvo...
Recenze Qosmio G40
tato tlačítka fungují pouze při aktivovaném programu Toshiba FlashCards a k němu musím mít velké výhrady.
Všechny poloprůhledné efekty a animace programu jsou sice hezké, ale program byl i přes ext...
Výkonnost počítače
Doba odezvy (response time)
Čas potřebný k získání výsledku dané úlohy
Důležité především pro interaktivní úlohy
Milí přátelé, dovolte, abych Vám nejprve popřál
jsou jen pouhými iluzemi, které jsou symbolizovány oním knězem a levitou, kteří se
mu jako polomrtvému vyhnuli.
A hle, přichází Samařan, ten, který je nenáviděný všemi Izraelci. Tehdy nadchází
okam...
2 a IMC-4D(-bioplyn)2 - ExTox Gasmess
na láhvi zkušebního plynu. Jestliže jsou zkušební plyny naplněny v různých láhvích se
stlačeným plynem, musíte následně popsaný průběh provádět postupně pro všechny použité
zkušební plyny. Pro kali...