Operační systémy 2015/ přednáška 21. března 2016.

Slides:



Advertisements
Podobné prezentace
Základy databázových systémů
Advertisements

Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Komunikace periférii.
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
Přednáška č. 5 Proces návrhu databáze
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ů.
hierarchie pamětí vyrovnávací paměť režimy práce procesoru
Operační systém Adam Greguš, 4.A.
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
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ů,
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é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émy.
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Databázové systémy Architektury DBS.
Operační systém (OS) ICT Informační a komunikační technologie.
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)
Pokročilé architektury počítačů (PAP_04.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
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.
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.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
1/28 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Vlákna 06.
OPERAČNÍ SYSTÉMY.
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:
Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS.
Operační systémy LS 2014/ přednáška 16. března 2015.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
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.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
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.
VIRTUÁLNÍ PAMĚŤ EP1. Kryštof Supek. Umožňuje předložit běžícímu procesu adresní prostor paměti, který je větší, než je fyzicky připojená paměť RAM Procesor.
Operační systém (OS) Základní funkce operačního systému: – Zajištění komunikace s okolím. – Řízení a zpracování programů. – Údržba informací na externích.
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.
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
Vypracoval / Roman Málek
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: 
Vlastnosti souborů Jaroslava Černá.
Operační systémy - úvod
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.
Téma 3 – Procesy a vlákna Obsah Výpočetní procesy a jejich stavy
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
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:
Přednášky z distribuovaných systémů
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 2015/ přednáška 21. března 2016

Operační systémy 2015/2016 Architektura kernelu Hardware Primitive process management Virtual memory I/O and device management Interprocess communication File system Users Kernel mode User mode Hardware Microkernel User mode Kernel mode... Client process Virtual memory Process server File server Device drivers

Operační systémy 2015/2016 Mikrokernel - do konce 50. let monolitické OS, všechny funkce OS byly pohromadě, OS/360, Multics - OS s vrstvovou strukturou, funkce jsou organizovány hierarchicky, interakce nastává mezi přilehlými vrstvami, každá změna v jedné vrstvě přináší nutnost změn ve vrstvách sousedících, kvůli mnoha interakcím je obtížné dbát o bezpečnost - mikrokernal obsahuje jen nejzákladnější funkce (správa paměti, meziprocesová komunikace, plánování) - u mikrokernelu je v kernelu zachováno pouze nezbytné jádro, ostatní služby jsou aplikovány samostatně a jsou prováděny v uživatelském režimu - část OS je externím subsystémem, vertikální architektura je nahrazena horizontální, komponenty OS jsou implementovány jako procesy (servery), démoni - komunikace mezi nimi probíhá pomocí zpráv - hybridní jádro (částečně monolit a mikrokernel)

Operační systémy 2015/2016 Process Management - vytváření a ukončení procesu - plánování a přiřazování - přepínání procesů - synchronizace procesů a komunikace mezi procesy - řízení PCB Memory Management - alokace adresního prostoru procesům - swapping - stránkování, segmentace I/O Management - buffer management - alokace kanálů a zařízení procesům Podpůrné funkce - manipulace s přerušením - účtování - monitorování Typické funkce kernelu OS

Operační systémy 2015/2016 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

Operační systémy 2015/2016 Důvody pro odložení procesu swapping OS potřebuje získat místo v paměti other OS reason OS odloží proces, který působí problémy interactive user request uživatel projeví přání ladění, komunikace, připojení zdroje, … timing časové přerušení spojené s nějakou událostí (účtování, monitorování, …) parent process request rodič potřebuje přerušit činnost potomka (modifikace procesu, koordinování aktivity, …)

Operační systémy 2015/2016 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ů Interactive 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ů

Operační systémy 2015/2016 Řídící struktury OS - OS musí mít informace o aktuálním stavu procesů, informace o stavu HW zdrojů - OS vytváří a udržuje tabulky o všech částech, které jsou pro něj důležité - čtyři různé typy tabulek (paměť, I/O, soubory, procesy) - mohou být rozdíly mezi různými OS, uvedené kategorie ale platí obecně Memory tables – sleduje se stav primární (real) i sekundární (virtual) paměti, část paměti je rezervována pro OS, zbytek je pro procesy, tabulky musí obsahovat informace o alokování obou pamětí procesům, ochranné atributy pro neoprávněný přístup (sdílení), informace potřebné k řízení virtuální paměti I/O tables – jsou používány OS k řízení I/O zařízení a kanálů systému, obsahují informace o přiřazení I/O zařízení jednotlivým procesům, jejich dostupnost File tables – informují o uložení souborů na disku, všechny jeho atributy, informace využívá hlavně souborový systém Process tables – slouží pro řízení procesů, musí obsahovat lokalizaci procesu (PCB (task control block, process descriptor, task descriptor), process image)

Operační systémy 2015/2016 Řídící struktury OS Memory Devices Files Processes Memory tables Process 1 Process n Process 1 Process 2 Process 3 Process n I/O tables File tables Primary process table Process image

Operační systémy 2015/2016 Procesy a HW zdroje - OS řídí všechny procesy uvnitř počítačového systému - plánuje a řídí provádění procesů, alokuje procesům HW zdroje, poskytuje veškeré základní služby - multiprogramové prostředí s procesy P 1 – P n - proces P 1 běží, proces P 2 je v paměti, ale je blokován, proces P n je ve stavu Suspend (na disku) - pro řízení procesů potřebuje OS informace P1P1 P2P2 PnPn Processor Main memory I/O Computer resources Disk

Operační systémy 2015/2016 Popis procesu -pro OS je nezbytné vědět vše o jednotlivých procesech -umístění může být v paměti nebo na disku -nejdůležitější strukturou je PCB -PCB obsahuje všechny důležité informace o procesu -souhrn atributů v PCB + program + data + stack – process image -vznik procesu: přiřazení unikátního ID, alokace paměti pro proces, inicializace PCB, nastavení souvisejících odkazů (např. umístění procesu do Ready fronty), vytvoření souvisejících datových struktur (např. pro účtování, hodnocení, …) -typické součásti image procesu: user data, user program, stack, PCB

Operační systémy 2015/2016 UNIX Process State Transition Diagram Preempted User running Kernel running Zombie Ready to run in memory Ready to run swapped Created Asleep in memory Sleep, swapped sleep fork enough memory not enough memory swap in swap out wakeup swap out exit preempt reschedule process return system call, interrupt interrupt, interrupt return return to user

Operační systémy 2015/2016 Význam jednotlivých stavů - procesy v systému UNIX (System V, Bell, 1983, pokračovatel K&R) běží v uživatelském nebo systémovém prostředí, změna na kernel mód se provádí systémovým voláním (když nastane exception nebo interrupt) - diagram vychází ze dvou stavů suspend, dva stavy Sleep, dva stavy Running, koncepce vychází z kernelovských funcí prováděných v uživatelském režimu - Ready to Run in Memory – proces je připraven k běhu, jakmile je kernelem přeplánován - Preempted – proces se vrací z kernel módu do uživatelského módu, ale kernel přeplánuje jiný proces k běhu - Created – proces je nově vytvořený a ještě není schopen běhu - Zombie – proces přestává existovat, ruší se všechny záznamy týkající se jeho předka

Operační systémy 2015/2016 UNIX system V, SVR4 - Ready to Run Swapped – proces je připraven k běhu, kernel jej ale odložil na disk - Asleep in Memory – proces čeká na událost, v main memory - Sleeping Swapped – proces čeká na událost v blokovaném stavu na disku - User/Kernel Running – provádění v patřičném režimu - k preempci (přeplánování) může dojít pouze v uživatelském módu, pokud je UNIX v kernel módu, tak k preempci nedochází, OS UNIX je tak nevhodný pro RT zpracování - pro UNIX existují dva speciální procesy, proces 0 – vytváří se při bootování (vše je předdefinováno), proces 1 – jde o potomka procesu 0, init proces, ten je předchůdcem všech ostatních procesů

Operační systémy 2015/ u současných OS může k výměně procesů dojít kdykoliv - je spojena s přerušením (interrupt) nebo s výjimkou (trap) - clock interrupt souvisí s časovým sdílením - I/O interrupt souvisí s požadavkem na externí zařízení - výpadek stránky souvisí s MMU - výjimka způsobí ukončení procesu, závisí to i od OS, někdy se může objevit pokus o obnovu stavu - k přepínání dochází mezi procesy nebo mezi módy, funkce OS může být aktivována tzv. supervisor call - přepnutí kontextu: context switch, požadavek na přerušení, uloží se kontext aktivního procesu, zavede se kontext nového procesu do registrů procesoru, ukončí se přerušovací služba, běží nový proces, odebrání procesu, přidělení procesu - procesor se vrací z přerušení na jiné místo - přepnutí režimu: přerušení nemusí vyvolat přepnutí kontextu, provedou se privilegované instrukce a řízení se vrátí přerušenému procesu, stačí uchovávat stav procesoru, nižší režie Přepínání (procesy, režimy)

Operační systémy 2015/2016 Přepínání UdálostPříčinaVyužití Interrupt Provedení běžné instrukce na vnější popud Reakce na asynchronní externí událost Trap Reakce na událost během provádění instrukce Zpracování chyby nebo výjimečného stavu Supervisor call Explicitní požadavek Volání funkce operačního systému

Operační systémy 2015/2016 Vlákna (threads) - Program – soubor přesně definovaného formátu ( instrukce, data, služební údaje ) - Proces – systémový objekt realizující výpočet podle programu, je charakterizován svým paměťovým prostorem, kontextem, prostor ve FAP se přiděluje procesům, může vlastnit prostředky, přiděluje se mu čas procesoru - Vlákno – systémový objekt vytvářený v rámci procesu a viditelný uvnitř procesu, tradiční proces je s jedním vláknem, vlákna podléhají plánování - vlákno se nachází ve stavech jako procesy, když vlákno neběží, je jeho kontext uložen v TCB (analogie s PCB), vlákno může přistupovat k LAP a k ostatním zdrojům svého procesu, ty jsou sdíleny všemi vlákny tohoto procesu (změna obsahu paměťové buňky, otevřený soubor, sdílení proměnných a systémových zdrojů,...)

Operační systémy 2015/2016 Procesy, vlákna a jejich komponenty kód programuproces lokální pracovní datavlákno globální dataproces alokované systémové zdrojeproces Zásobníkvlákno data pro správu pamětiproces čítač instrukcívlákno registry procesoruvlákno plánovací stavvlákno uživatelská práva a identifikaceproces

Operační systémy 2015/2016 Procesy a sledy One process One thread One process Multiple thread Multiple processes Multiple threads per process Multiple processes One thread per process Instruction trace

Operační systémy 2015/2016 Vztah mezi procesy a sledy

Operační systémy 2015/2016 Single Threaded and Multithreaded Process Models – Control Structures User stack Kernel stack Single-threaded process model Multi-threaded process model Process control block User address space User stack Kernel stack User stack Kernel stack User stack Kernel stack Process control block User address space Thread control block Thread control block Thread control block

Operační systémy 2015/2016 Procesy a vlákna Kód Jednovláknový procesVícevláknový proces Data Soubory Registry Zásobník KódData Soubory Registry Zásobník

Operační systémy 2015/2016 Procesy a vlákna - vlákno se vytvoří i ukončí rychleji než proces - přepínání mezi vlákny je rychlejší než mezi procesy (správu vláken provádí tzv. vláknová knihovna na úrovni aplikačního procesu, není potřeba funkce jádra OS (kernelu)) - je-li jádro OS jednovláknové, každé volání kernelu procesem zastaví tento uživatelský proces, dokud kernel neodpoví - spolupráce vláken, které jsou součástí stejné úlohy, vede k vyšší propustnosti i výkonu OS - dosáhne se lepší strukturalizace programu - když vlákno čeká na nějakou událost, může běžet jiné vlákno téhož procesu, aniž by se přepínalo mezi procesy

Operační systémy 2015/2016 Procesy a vlákna - vlákna jednoho procesu sdílí paměť a tudíž mohou mezi sebou komunikovat, aniž by potřebovala kernel - vlákna potřebují synchronizaci (aby se zachovala konzistence dat) - vlákna podléhají plánování a mají své stavy podobně jako procesy - vlákna se samostatně neodkládají (pouze proces), ukončení procesu ukončuje všechna vlákna exitující v procesu - na rozdíl od procesu jsou na sobě vlákna závislá, všechna vlákna mají přístup na libovolnou adresu úlohy, mohou číst a zapisovat do zásobníku jiného vlákna, neprovádí se žádná ochrana jednotlivých vláken, ochrana paměti mezi vlákny není zapotřebí, procesy mohou být takřka nepřátelské, vlákna jsou programována k vzájemné pomoci