Operační systémy LS 2014/2015 5. přednáška 16. března 2015.

Slides:



Advertisements
Podobné prezentace
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Advertisements

SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
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ů.
Otázky k absolutoriu HW 1 - 5
hierarchie pamětí vyrovnávací paměť režimy práce procesoru
Přínosy a druhy počítačových sítí. Jednou z nejvýznamnějších technologií používaných v oblasti výpočetních systémů jsou již řadu let počítačové sítě.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
7. přednáška konzistence dat (příklad) -multithreading (monoprocesor) -sdílení času -analýza časového kvanta -priorita -přepínání (procesů,
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í.
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.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
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.
Operační systém (OS) ICT Informační a komunikační technologie.
Informatika / …o počítači (základní pojmy, jednoduché představy) 2006.
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,
Správa procesů.
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)
Operační systémy Přednášky pro předmět Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.
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.
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.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
1/29 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Procesy 05.
Zablokování (deadlock, smrtelné objetí, uváznutí)
Správa procesů.
3. konzultace (5 hodin) Studijní materiály najdete na adrese:
Vnitřní (operační paměť)
A4B33OSS (J. Lažanský) verze: Podzim 2012 Procesy a vlákna 1 Obsah Téma 3 – Procesy a vlákna 1.Výpočetní procesy a jejich stavy 2.Stavový diagram procesů.
Operační systémy Název a adresa školy
Co je to OS Správce prostředků –spravuje a přiděluje systémové zdroje systému úlohám, stará se o jejich efektivní sdílení procesoru (ů) operační paměti.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
1/28 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Vlákna 06.
OPERAČNÍ SYSTÉMY.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Základy operačních systémů Meziprocesová komunikace a synchronizace Jakub Yaghob.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
2. konzultace (4 hodiny) Studijní materiály najdete na adrese:
Instrukce procesoru.
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.
Operační systémy 2015/ přednáška 21. března 2016.
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
Bezpečnostní technologie I
Vypracoval / Roman Málek
Zvídavé otázky 1. Prevence a detekce uváznutí
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: 
Vlastnosti souborů Jaroslava Černá.
Jednočipové počítače – instrukční sada
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
PB 169 Počítačové sítě a operační systémy
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Operační systémy 9. Spolupráce mezi procesy
Správa paměti.
1. ročník oboru Mechanik opravář motorových vozidel
PB 169 Počítačové sítě a operační systémy
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: 
hierarchie pamětí vyrovnávací paměť režimy práce procesoru
5. přednáška 14. března 2016 Operační systémy 2015/2016.
3. konzultace (4 hodiny) 4. března 2016.
Správa disků
přerušení (instrukční cyklus, obsluha) vztahy mezi tématy
Práce s procesy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor:
Informatika / …o počítači
Přednášky z distribuovaných systémů
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ů.
Transkript prezentace:

Operační systémy LS 2014/ přednáška 16. března 2015

Operating system Design Hierarchy LNameObjectsExample Operations 13ShellUser programming environmentStatements in shell language 12User processes Quit, kill, suspend, resume 11Directories Create, destroy, attach, detach, search list 10Devices External devices, such as printers, displays and keyboards Open, close, read, write 9File systemFilesCreate, destroy, open, close, read, write 8ComunicationsPipesCreate, destroy, open, close, read, write 7Virtual memorySegments, pagesRead, write, fetch 6Load secondary storeBlocks of data, device channelsRead, write, allocate, free 5Primitive processesPrimitive processes, semaphores, ready listSuspend, resume, wait, signal 4InterruptsInterrupt-handling programsInvoke, mask, unmask, retry 3ProceduresProcedures, call stack, displayMark stack, call, return 2Instruction set Evaluation stack, microprogram interpreter, scalar and array data Load, store, add, subtract, branch 1Electronic circuitsRegisters, gates, buses, etc.Clear, transfer, activate, complement

Operating system Design Hierarchy Level 1: obsahuje elektronické obvody, které představují registry, paměťové buňky a logická hradla, operace na těchto objektech jsou např. mazání registrů, čtení z paměti, atd. Level 2: představuje instrukční soubor procesoru se strojovými instrukcemi (sčítání, odčítání, přesun,...) Level 3: volání procedur a funkcí (podprogramů), call and return Level 4: představuje přerušení, při kterém se ukládá starý kontext a aktivuje se přerušovací rutina První 4 úrovně nejsou součástí operačního systému, ale zahrnují HW. Přesto některé části operačního systému těchto úrovní využívají (přerušení).

Operating system Design Hierarchy Level 5: v této úrovni běží procesy, jsou přepínány, je zajištěna synchronizace Level 6: zabývá se sekundární pamětí počítače (pevný disk), jsou zde implementovány funkce polohování čtecích hlav, přesun bloků dat, využívá sousedních vrstev pro plánování a adresování přesunů bloků dat Level 7: vytváří logický adresní prostor pro procesy, tato vrstva zajišťuje přesun dat mezi operační pamětí a diskem, běžná jsou 3 schémata: pevná délka stránky, proměnná délka stránky a obojí, pokud není požadovaný blok dat v paměti, zapojí se vrstva 6 Do úrovně Level 7 se operační systém zabývá pouze procesory, od úrovně Level 8 jsou zapojeny periferie a počítačová síť, objekty jsou sdíleny na jednom nebo více počítačích.

Operating system Design Hierarchy Level 8: zabývá se komunikací mezi procesy, pipes (roury) slouží k předávání informací mezi procesy, synchronizace, zprávy Level 9: long-term storage pojmenovaných souborů, čtení dat do proměnných, stopy, sektory, konstantní velikost bloku (Level 6) Level 10: poskytuje přístup k externím zařízením pomocí standardních interfaces Level 11: zodpovídá za asociace mezi externími a interními identifikátory zdrojů a objektů, externí jsou textové položky pro uživatele, interní jsou indikátory pro OS, přístupová práva Level 12: poskytuje podporu procesům na vyšší úrovni, než Level 5 (virtuální adresování, seznamy procesů k přepínání, atd.) Level 13: poskytuje intarface OS s uživatelem, shell, transformuje vlastnosti OS do služeb

- zdroje, HW, SW (OS, aplikace) - prováděný program - instance běžícího programu na počítači - entita, která může být přiřazena a provedena procesorem - aktivní jednotka charakterizovaná a prováděná sekvenčně prováděnými instrukcemi (vláknem), se svým stavem a sdružená se systémovými zdroji - skládá se z několika částí, z nich základní jsou kód programu a množina zpracovávaných dat - všechny informace jsou uloženy ve struktuře – PCB (vytváří se současně se vznikem procesu) Proces

Zjednodušený Process Control Block PCB (execution context) - datová struktura vytvářená a řízená prostřednictvím OS, jedná se o klíčový moment v otázce podpory běhu více procesů Identifikátor – jedinečné označení procesu, odlišné od všech jiných Stav – označuje stav procesu z množiny stavového diagramu Priorita – je zde poznamenána úroveň priority procesu Čítač instrukcí – ukazuje na další instrukci při provádění procesu Paměťové ukazatele – obsahují údaje o umístění kódu procesu, datech a sdílených oblastech s jinými procesy Související data – obsah registrů během provádění procesu Stav V/V – obsahuje nevyřízené V/V požadavky procesu, sdružená zařízení s procesem, seznam souborů souvisejících s procesem,... Účtovací informace – mohou obsahovat údaje o spotřebovaném procesorovém čase, časové limity,... Identifier State Priority Program counter Memory pointers Context data I/O status information Accounting information...

Typické komponenty PCB Process Identification – obsahuje identifikátory ( procesu, rodiče, uživatele ) Process State Information – registry viditelné uživatelem (pouze některé), řídící a stavové registry ( program counter, condition codes (výsledky logických a aritmetických operací)), ukazatele zásobníků Process Control Information – plánovací informace ( stav, priorita,...), ukazatele na spolupracující datové struktury, meziprocesová komunikace ( příznaky, signály, zprávy,...), informace o MMU, informace o vlastnění zdrojů, informace o využití procesoru

Operační systémy LS 2014/2015 Vytváření procesu - přiřazení jedinečného identifikátoru - alokování paměti pro zásobník, image procesu, program a data, hodnoty mohou být implicitní nebo explicitní - inicializace PCB - nastavení příslušných vazeb (různé fronty dle plánování,...) - vytváření všech potřebných datových struktur - existence PCB je klíčovým nástrojem k podpoře multiprocesingu - při přerušení procesu (v preemptivním prostředí kdykoliv) dochází k uložení všech údajů spojených s procesem (datový kontext, běhový kontext), je provedena změna ve stavu procesu a může být prováděn další proces s fronty připravených procesů - důvody pro vytvoření procesu: spuštění nového programu (příkaz, dávka,...), přihlášení uživatele, operační systém potřebuje provést nějakou službu ve prospěch uživatele nebo jiného procesu, při běhu programu se objeví potřeba paralelismu nebo modularity (spawn)

Trace of Process A Trace of Process B Trace of Process C 5000 – Starting address of program of Process A 8000 – Starting address of program of Process B – Starting address of program of Process C Trasování procesů Process C Process A Process B Dispatcher Main memory Program counter

Timeout I/O request Timeout Timeout Enter Not running Running Exit Dispatch Pause Queue Processor Enter Exit Pause Dispatch Dvoustavový diagram procesů

Process A Process B Process C Dispatcher RunningReadyBlocked Stavy procesů při trasování

Vytvoření, přerušení a přeplánování procesu Operační systémy LS 2014/2015 -život procesu je ohraničen jeho vytvořením a přerušením (ukončením) -v dávkovém prostředí – proces je vytvořen na požadavek jobu -v interaktivním prostředí – reakce na přihlášení nového uživatele, v obou případech je vytvořen nový proces -proces může být vytvořen i prostřednictvím běžící aplikace (požadavek na tisk, …) -na přání procesu – process spawning -parents process, child process -komunikace a spolupráce spawn procesů -při přerušení procesu je aktuální obsah programového čítače a registrů procesoru (datový kontext) přenesen do příslušné datové oblasti korespondující s PCB a stav procesu je označen jinou hodnotou, přepnutí kontextu

Důvody pro vytvoření procesu Způsob přerušení - ukončeníPopis Normální Vše je hotovo Překročení časového limitu Proces trvá déle, než je pro něj určeno Nedostupná paměť Proces požaduje více paměti než má OS Porušení hranic Proces požaduje přístup do zakázané oblasti paměti Chyba ochrany Proces chce použít prostředek, který není k tomu určený ( soubor, … ) Chyba aritmetiky Došlo k aritmetické chybě ( dělení nulou, snaha o uložení většího čísla, … ) Překročení času čekání Proces čeká na událost déle, než je určeno Chyba I/O Chyba při komunikaci s periferií Špatná instrukce Pokus o provedení neexistující instrukce ( skok do datové oblasti, … ) Privilegovaná instrukce Proces zkouší instrukci určenou pro privilegovaný režim Intervence operátora nebo OS Ukončení procesu ze strany OS nebo operátora Požadavek od rodiče Požadavek může ukončit všechny vlastní potomky

Typical Process Implementation Context Data Program Context Data Program b h Process A Process B Process list i Main memory Processor registers b h Process index PC Base Limit Other registers i j

P1P1 OS 1 kernel... Vztah mezi operačním systémem a procesy process switching functions... P1P1 P2P2 P3P3 PnPn P2P2 P3P3 PnPn OS 2 OS 3 OS n P1P1 P2P2 P3P3 PnPn funkce OS - tradiční přístup, běžný pro starší OS, kernel běží vně všech procesů, procesy jsou přerušovány pomocí supervissor call, kontext procesu je uložen, kernel má vlastní paměť a zásobník, po provedení požadované funkce se provede návrat k procesu - způsob běžný pro PC a workstations, funkce OS se provádí v kontextu procesů, OS je kolekcí rutin prováděných v rámci uživatelských procesů, každý image procesu obsahuje i program, data a zásobník kernelu - OS je implementován jako kolekce systémových procesů, většina kernelových funkcí je organizována v samostatných procesech

OS je prováděn během procesu PCB Process identification Process state information Process control information User stack Private user address space (program, data) Kernel stack Shared address space běžné pro OS na PC a workstations, SW OS probíhá v kontextu uživatelského procesu každý image procesu obsahuje i program, data a zásobník kernelu sdílení všemi procesy

Uživatelské procesy v paměti Process identification Process state information Process control information User stack Private user address space (programs, data) Shared address space Process 1 Process identification Process state information Process control information User stack Private user address space (programs, data) Shared address space Process 2 Process identification Process state information Process control information User stack Private user address space (programs, data) Shared address space Process n... process image

Struktura seznamů procesů Running Ready Blocked PCB

připraven probíhající čekající předánpřijat dokonče n Procesu je přiřazen procesor Čekání na dokončení I/O operace I/O operace je dokončena - probíhající: je přidělen procesor - čekající: čekání na určitou událost - připraven: čeká na přidělení procesoru - předán: očekává se reakce OS na předání úlohy - přijat: úloha převedena do vnitřního tvaru, procesům nejsou přiděleny žádné prostředky - dokončen: prostředky jsou volné Stavy procesu

Pětistavový model procesu - předpokládejme přítomnost jednoho procesoru - New – vytvořený proces, který ještě nebyl přijat operačním systémem, už má vytvořený PCB - Ready – čeká na svoji příležitost (modifikováno politikou přidělování) - Running – právě zpracovávaný proces, může být pouze jeden - Exit – proces uvolnil veškeré přidělené prostředky, ukončen, zrušen - Blocked – odložený proces z důvodu očekávání události (prostředek, zpráva,...) New Ready Running Blocked Exit Dispatch Timeout Přijmout Očekávaná událost Událost nastala Uvolnit

Jeden stav suspend New Admit Dispatch Release Timeout Suspend Activate Event occurs Event wait ReadyRunningExit SuspendBlocked Ready – proces je v paměti a je připraven k provedení Blocked – proces je v paměti a očekává nějakou událost Suspend – proces je na disku a čeká na uvolnění místa v paměti

Dva stavy suspend Ready / Suspend Dispatch Release Timeout Suspend Activate Event occurs Event wait ReadyRunningExit Blocked / Suspend Blocked New Suspend Activate Event occurs Admit Suspend

Přechody mezi stavy procesu Blocked -> Blocked/Suspend: málo místa v paměti, možnost vzniku nových procesů Blocked/Suspend -> Ready/Suspend: pokud nastala událost, na kterou proces musel čekat Ready/Suspend -> Ready: pokud není v paměti žádný proces schopný svého provedení, záleží na prioritě procesů Ready -> Ready/Suspend: používá se v případě potřeby získat hodně místa v paměti, někdy si pro suspendování může OS vybrat ready proces s nízkou prioritou místo blokovaného procesu s prioritou vysokou - nově vzniklý proces někdy nemusí mít vytvořeny všechny podmínky pro svůj běh

Odkládání procesů - stav suspend - každý prováděný proces musí být uložený v paměti, pokud blokované procesy zaplní paměť do určité míry, jsou převedeny do stavu suspend a odkládány na disk (swapování), diskové operace jsou z hlediska výměn rychlostně uspokojivé - systém má možnost vzít do fronty připravených procesů proces nový (zvýšení míry multiprogramování) nebo proces ze stavu suspend (z disku) - při opuštění stavu suspend se předpokládá okamžité zapojení procesu do mechanismu plánování - není účelné zařazovat suspendované procesy, které očekávají nějakou událost

Důvody pro odložení procesu Swapping OS potřebuje uvolnit místo v operační paměti, potřebuje zde umístit proces ve stavu Ready Other OS Reason OS může suspendovat nějaký méně důležitý (background) proces, nějakou utilitu nebo proces podezřelý z působení problémů User Reguest interaktivní požadavek uživatele přerušení programu z důvodů trasování, modifikace HW zdrojů Timing přerušení periodicky se opakujícího procesu (účtování, monitorování,...) a čekání na další periodu Parent Request rodič si může přát suspendování potomka za účelem jeho zkoumání nebo modifikace, pro koordinaci akcí několika potomků