Management procesu I Mgr. Josef Horálek



Podobné dokumenty
Procesy a vlákna (Processes and Threads)

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

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

Činnost počítače po zapnutí

Management procesu II Mgr. Josef Horálek

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Operační systémy. Přednáška 2: Procesy a vlákna

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PŘIDĚLOVÁNÍ PROCESORU. doc. Dr. Ing. Oldřich Kodym.

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

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

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Synchronizace Mgr. Josef Horálek

PB002 Základy informačních technologií

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

Stavy procesů. Požadavky na OS při práci s procesy

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011

OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ÚVOD DO TEORIE OPERAČNÍCH SYSTÉMŮ. doc. Dr. Ing.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vstupně - výstupní moduly

Zablokování (Deadlock) Mgr. Josef Horálek

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Logická organizace paměti Josef Horálek

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

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Téma 3. Procesy a vlákna

Stavy procesů. Požadavky na OS při práci s procesy

Procesy a vlákna. A3B33OSD (J. Lažanský) verze: Jaro 2014

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

Stavba operačního systému

09. Memory management. ZOS 2006, L.Pešička

Procesy a vlákna - synchronizace

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Procesy a vlákna Mgr. Josef Horálek

Systém adresace paměti

Operační systémy. Přednáška 3: Plánování procesů a vláken

Přednáška. Implementace procesů/vláken. Plánování vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Roury a zprávy Mgr. Josef Horálek

Řízení IO přenosů DMA řadičem

Principy operačních systémů. Lekce 1: Úvod

Principy operačních systémů. Lekce 4: Správa procesů

OS Plánování procesů

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Principy operačních systémů

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

Von Neumannovo schéma

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

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

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)

Téma 3 Procesy a vlákna

Pojem Výpočetní proces. Požadavky na OS při práci s procesy. Stavy procesů

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

TG Motion verze 4 Modul Virtuální PLC návod k obsluze

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

Operační systém z hlediska procesu Mgr. Josef Horálek

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Operační systémy. Přednáška 4: Komunikace mezi procesy

MSP 430F1611. Jiří Kašpar. Charakteristika

Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

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

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Počítač jako prostředek řízení. Struktura a organizace počítače

Operační systémy. Přednáška 1: Úvod

OPS Paralelní systémy, seznam pojmů, klasifikace

TG Motion verze 4 Modul Virtuální PLC návod k obsluze

Paměti a jejich organizace

Lineární datové struktury

Vstupně výstupní moduly. 13.přednáška

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

PB153 Operační systémy a jejich rozhraní

Implementace systémů HIPS: historie a současnost. Martin Dráb

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Systém souborů (file system, FS)

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

MetaCentrum - Virtualizace a její použití

Více o konstruktorech a destruktorech

3. Počítačové systémy

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Principy činnosti sběrnic

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Co mi to tu vlastně běží?

Úvod do Linuxu. SŠSI Tábor 1

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

Metody připojování periferií BI-MPP Přednáška 2

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

Pamět ová hierarchie, virtuální pamět. doc. Ing. Róbert Lórencz, CSc.

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

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Operační systém. Logické prostředky výpoč etního systému jsou:

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Provoz Počet zaměstnanců Průměrná nemocnost hod/osoba/rok

Paralelní programování

Systém souborů Mgr. Josef Horálek

Principy operačních systémů. Lekce 8: Ovladače periferií

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 přerušen ukončen Ukončen Připraven Probíhající I/O nebo jiná událost ukončena vybrán dispečerem Čekající I/O nebo jiná událost

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

čekající čekající čekající Procesy - Process Control Block Pointer Process state Process number Process counter Register Memory limits List of open files... Proces P0 Operační systém Proces P1 Přerušení nebo systémové volání Ulož stav do PCB_0.. Načti stav do PCB_1 Přerušení nebo systémové volání Ulož stav do PCB_1.. Načti stav do PCB_0

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 Swap out Fronta připravených CPU I/O 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