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

Podobné dokumenty
Činnost počítače po zapnutí

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

Management procesu I Mgr. Josef Horálek

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

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

Vstupně - výstupní moduly

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

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

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

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

Princip funkce počítače

Systém adresace paměti

Procesy a vlákna (Processes and Threads)

Architektury počítačů a procesorů

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

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

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

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

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.

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

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

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

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

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

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

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Systém řízení sběrnice

Přidělování paměti II 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

Architektura počítačů

Pokročilé architektury počítačů

Paměťový podsystém počítače

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

PB002 Základy informačních technologií

PRINCIPY OPERAČNÍCH SYSTÉMŮ

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

Pohled do nitra mikroprocesoru Josef Horálek

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

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Architektura počítače

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

Přerušovací systém s prioritním řetězem

Strojový kód. Instrukce počítače

Integrovaná střední škola, Sokolnice 496

Logická organizace paměti Josef Horálek

Osobní počítač. Zpracoval: ict Aktualizace:

Architektura Pentia úvod

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

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

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

Architektura procesorů PC shrnutí pojmů

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

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

Profilová část maturitní zkoušky 2014/2015

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

Sekvenční logické obvody

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

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

Počítačová sestava paměti, operační paměť RAM

Počítač jako elektronické, Číslicové zařízení

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Principy činnosti sběrnic

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Struktura a architektura počítačů (BI-SAP) 7

Administrace Oracle - Správa zdrojů

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

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í

Disková pole (RAID) 1

Virtualizace. Lukáš Krahulec, KRA556

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

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í

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Profilová část maturitní zkoušky 2013/2014

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Procesor. Procesor FPU ALU. Řadič mikrokód

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

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í

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Struktura programu v době běhu

Dekódování adres a návrh paměťového systému

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

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

Témata profilové maturitní zkoušky

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

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Témata profilové maturitní zkoušky

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

Struktura a architektura počítačů (BI-SAP) 11

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Periferní operace využívající přímý přístup do paměti

Technologické postupy práce s aktovkou IS MPP

Postupy práce se šablonami IS MPP

Systémová sběrnice, souvislost architektury počítače a systémové

Procesor z pohledu programátora

Metody připojování periferií

Transkript:

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ OPERAČNÍ SYSTÉMY ÚVOD DO TEORIE OPERAČNÍCH SYSTÉMŮ doc. Dr. Ing. Oldřich Kodym Ostrava 2013 doc. Dr. Ing. Oldřich Kodym Vysoká škola báňská Technická univerzita Ostrava ISBN 978-80-248-3053-7 Tento studijní materiál vznikl za finanční podpory Evropského sociálního fondu (ESF) a rozpočtu České republiky v rámci řešení projektu:, MODERNIZACE VÝUKOVÝCH MATERIÁLŮ A DIDAKTICKÝCH METOD

2 OBSAH 1. ÚVOD DO TEORIE OPERAČNÍCH SYSTÉMŮ... 3 1. Základní pojmy teorie operačních systémů... 4 2. Připomenutí: jak pracuje procesor... 6 3. Operační systém z hlediska procesů... 7 3.1 Stavy procesů... 7 3.2 Moduly operačního systému... 8 3.3 Průběh vykonávání procesu... 8 3.4 Hierarchická struktura OS, virtuální počítač... 10

3 1. ÚVOD DO TEORIE OPERAČNÍCH SYSTÉMŮ OBSAH KAPITOLY: Základní pojmy. Připomenutí funkce procesoru. Procesy. Struktura operačního systému. MOTIVACE: Výběr operačního systému a stanovení jeho možností je u výpočetního systému při daném technickém vybavení nejdůležitějším rozhodnutím. Každý uživatel se setkává s operačním systémem při zadávání úloh, neboť operační systém poskytuje uživateli základní spojení s počítačem. Mnohé pojmy a techniky uplatněné v operačních systémech mají obecnější použití i v některých jiných aplikacích. Možnost vytvořit pro speciální účely vlastní operační systém nebo stávající systém modifikovat. CÍL: Základní pojmy teorie operačních systémů, funkce procesoru, procesy v OS, hierarchická struktura OS

4 1. ZÁKLADNÍ POJMY TEORIE OPERAČNÍCH SYSTÉMŮ Holý počítač počítač pouze s nejzákladnějším softwarovým vybavením; pro běžného uživatele zcela neovladatelný. V následujícím textu bude pro zjednodušení, a nebude-li uvedeno jinak, předpokládán holý počítač s jedním jednojádrovým procesorem. Operační systém ovládá základní technické prostředky počítače a vytváří vhodnější podmínky pro jejich využívaní v uživatelských programech. Funkce operačního systému tvoří podstatnou složku činností počítače a mnozí uživatelé je ani nerozlišují od funkcí technického vybavení. Proč studovat operační systémy? Výběr operačního systému a stanovení jeho možností je u výpočetního systému při daném technickém vybavení nejdůležitějším rozhodnutím. Každý uživatel se setkává s operačním systémem při zadávání úloh, neboť operační systém poskytuje uživateli "základní spojení s počítačem". Mnohé pojmy a techniky uplatněné v operačních systémech mají obecnější použití i v některých jiných aplikacích. Možnost vytvořit pro speciální účely vlastní operační systém nebo stávající systém modifikovat. Operační systém jsou ty programové moduly ve výpočetním systému, jež ovládají řízení prostředků, jimiž je tento výpočetní systém vybaven, jako jsou procesory, operační paměť, vnější paměť, I/O zařízení a soubory dat. Tyto moduly "rozhodují spory" (např. o užití téhož prostředku více úlohami), snaží se optimalizovat výkon a zjednodušují efektivní využívání výpočetního systému. definice nezahrnuje problémově orientované moduly OS překladače, knihovny podprogramů a ladicí prostředky, neboť tyto již jsou uživateli OS Uživatel každý, kdo dává svou zakázku ke zpracování výpočetnímu systému. Úloha (Job) souhrn činností potřebných k provedení teto zakázky; může být rozdělena na kroky. Kroky úlohy jednotky činností, které musí byt provedeny postupně v určitém pořadí (např. překlad programu, zavedeni programu, spuštěni programu apod.) Proces instance úlohy, kterou vytváří procesor a která může být prováděna paralelně s jinými výpočty. Adresový prostor souhrn programu (instrukcí) a dat v procesu. Nutno zobrazit adresové prostory jednotlivých procesů do operační paměti stránkování (paged system) nebo technika výměn (swapping). Blíže viz kap. Modul přidělování paměti.

5 Obrázek 1 - Uživatel, úloha, krok úlohy, proces a adresový prostor Multiprogramový systém systém, v němž může být více procesů najednou ve stavu provádění. Proces je ve stavu provádění, jestliže byl zahájen a nebyl ještě dokončen nebo zastaven (popř. ukončen s chybou). Proces může být ve stavu provádění, ale ve skutečnosti nemusí být právě prováděn, tj. některé mezivýsledky jsou spočítány, ale procesor provádí v daném okamžiku některý jiný proces. Současný běh více procesů je zdánlivý, protože v daném okamžiku může procesor provádět vždy jen jeden z nich. Privilegovaný stav CPU (supervisor state) procesor může provádět i privilegované instrukce (změna stavu CPU, zahájeni I/O operace, změna způsobu ošetření přerušení apod.) a nemůže být přerušen. Uživatelský stav CPU (user state) běžný stav procesoru. Ochrana paměti (protection hardware) OS může zakázat zápis do určité části paměti. Může tak např. znemožnit uživatelským programům měnit OS. Prostředky přerušení (interrupt hardware) dovolují OS koordinovat paralelně probíhající operace tím je umožněn paralelní běh uživatelských programů. Přerušení je proces, během kterého je procesor nucen zaznamenat nějakou událost. Stejně tak existují prostředky k maskování přerušení (tj. jeho potlačení). V oblasti výpočetní techniky (a tedy i v následujícím textu) se jako velikosti dat historicky používají jednotky B, KB, MB atd., které mají poněkud jiné velikosti než je obvyklé

6 v ostatních oblastech. Je to dáno použitím nikoliv soustavy desítkové, ale dvojkové. Platí tedy 1 MB = 1024 KB a 1 KB = 1024 B. Dnes se pro předejití nejasnostem oba způsoby rozlišují. V naší zájmové oblasti se tedy nově používá označení KiB, MiB, GiB atd. počítané jako mocniny dvou, tedy 2 10, 2 20, 2 30 atd., na rozdíl od běžně používaných 10 3, 10 6, 10 9 atd. 2. PŘIPOMENUTÍ: JAK PRACUJE PROCESOR Operační systémy jsou vždy vázány na konkrétní hardware výpočetního systému. Musí tomu tak být, mají-li být využity veškeré možnosti technických prostředků, má-li celý systém pracovat optimálně, maximálně efektivně. Určujícím prvkem výpočetního systému je především procesor. Připomeňme si proto základy funkce procesoru. Mějme na mysli, že níže uvedené připomenutí je velmi významně zjednodušeno a jednotlivé procesory se mohou v některých aspektech lišit. I přes toto riziko považuji níže uvedené připomenutí za užitečné. Obrázek 2 - Blokové schéma jednojádrového procesoru Základními funkčními bloky procesoru je ALU aritmeticko-logická jednotka, Instruction decoder řídící jednotka a registry (A, B, C, Test příznakový registr a Instruction). 3-state jsou spínače, které řídí propojování jednotlivých bloků a tím tok informací mezi nimi a vnějšími sběrnicemi (adresovou a datovou. Instruction decoder vygeneruje adresu uložení následující instrukce a uloží ji do registru Program Counter. Obsah registru Program Counter je aktivací příslušného třístavového spínače (3-state) přenesen na adresovou sběrnici systému. Aktivací signálu Read je z definované adresy operační paměti načten přes datovou sběrnici obsah do registru instrukce (Instruction register) zavedli jsme instrukci programu, tato bude dále zpracována.

7 Instrukce je dekódována a obsahuje-li adresu operandů, pak je tato adresa uložena do registru Address latch. Odtud ji lze přivést na adresovou sběrnici. Aktivací signálu Read je z definované adresy operační paměti načten přes datovou sběrnici obsah do registru A nebo B zavedli jsme data. Je-li obsahem instrukce příkaz pro ALU (aritmeticko-logickou jednotku), je tento vykonán a výsledek je uložen do registru C (akumulátor). Současně podle výsledku je modifikován obsah registru Test. Jde-li o instrukci zápisu do paměti, pak aktivací signálu Write bude obsah registru C přes datovou sběrnici zapsán do paměti na adresu uloženou v registru Address latch. Po vykonání instrukce je načtena a zpracována instrukce další (ta, která je umístěna v operační paměti na adrese uložené v registru Program Counter). Současně je obsah programového čítače nastaven na adresu další instrukce. 3. OPERAČNÍ SYSTÉM Z HLEDISKA PROCESŮ 3.1 Stavy procesů Životní cyklus procesu v OS se skládá z přechodů mezi třemi hlavními stavy: Stav probíhající (running) procesu je přidělen procesor a právě se provádí příslušné programy. Stav čekající (waiting) proces čeká na určitou událost, např. dokončeni I/O operace. Stav připraven (ready) proces je přípraven k vykonání a čeká pouze na přidělení procesoru. Obrázek 3 - Model stavů procesu Tyto 3 hlavní stavy procesu nestačí pro úplný popis životního cyklu úlohy v OS. Pro úplnost doplňme ještě další významné stavy:

8 Stav předána (submit) uživatel předal svou úlohu systému a ten na ni musí reagovat. Stav mírně archaický, spočívající např. ve vložení sady děrných štítků do čtečky. Dnes odpovídá spíše kliknutí na ikonu. Stav přijata (hold) úloha je na disku počítače ve vnitřní reprezentaci. Očekává přidělení prostředků. Stav ukončena (complete) výpočet úlohy skončil a všechny přidělené prostředky jsou uvolněny k dalšímu použiti. 3.2 Moduly operačního systému Přechody mezi stavy procesu zajištují moduly OS, které musí jako správa prostředků počítače: Mít přehled o jednotlivých prostředcích. Realizovat pravidla, která určují, komu bude prostředek přidělen, kdy a v jakém rozsahu. Prostředky přidělovat a vyžadovat jejich navrácení. Modul přidělování procesoru Plánovač úloh sleduje a eviduje stav všech úloh v systému, které si uchovává ve frontě. Různá priorita jednotlivých úloh! systémové úlohy mají vždy vyšší prioritu než uživatelské. Plánovač procesů sleduje frontu procesů a rozhoduje, který proces a na jak dlouho dostane přidělen procesor. Dispečer (traffic controler) sleduje procesor a stav procesů. Modul přidělování periferií I/O dispečer sleduje stav periferních zařízení, kanálů, řídicí jednotky. I/O plánovač rozhoduje o efektivním přidělení periferních zařízení. Pokud má být sdíleno, rozhoduje o tom, kdo ho dostane, a v jakém rozsahu. Přirázuje periferii a zahajuje I/O operaci. Požaduje navrácení prostředků, většinou se u I/O ukončuje automaticky. Systém správy souborů Sleduje každý soubor jeho umístěni, užití, stav apod. Rozhoduje, komu bude soubor poskytnut realizuje požadavky na ochranu dat a operace přístupu k nim. Přiděluje prostředek otevírá (zpřístupňuje) soubor. Odebírá prostředek uzavírá soubor. 3.3 Průběh vykonávání procesu Jak proces prochází jednotlivými stavy, ukazuje obr. 3b. Rámečky označují jednotlivé stavy procesu a obláčky moduly OS, které tyto změny stavu zajištují. Uživatel uvede úlohu do stavu předána, pokud ji I/O dispečer za pomoci modulu spooling je schopen vyhradit dostatečné místo na pevném disku. Tím úloha přechází do stavu přijata a ujímá se jí plánovač úloh, který provádí: Dotaz na požadovanou kapacitu operační paměti u modulu přidělováni paměti. Dotaz na požadované periferie u I/O dispečera.

9 Jestliže se obého dostává, je volán dispečer, aby vytvořil příslušné záznamy a modul přidělování paměti, aby procesu přidělil dostatečnou operační paměť. Potom je úloha zavedena do paměti a jí odpovídající proces je ve stavu připraven. Ujímá se ho plánovač procesu, a jakmile je možné úloze přidělit procesor, plánovač to udělá. Procesor je úloze přidělen pouze na určitou dobu. Pokud během ní úloha není dokončena, dispečer uloží stav registrů a procesu, plánovač procesu jí procesor odebere a vrátí do stavu připraven. Je-li úloha ve stavu probíhající a žádá o čtení ze souboru (nebo jinou I/O operaci), modul správy souborů volá modul přidělování periferií, aby zahájil čtení (nebo jinou I/O operaci). Modul přidělování periferií ji zahájí a zároveň požádá plánovač procesů, aby proces převedl do stavu čekající. Je-li I/O operace dokončena, je patřičný signál přerušení vyhodnocen jako žádost o navrácení úlohy do stavu připraven. Pokud je úloha ve stavu probíhající dokončena, modul přidělování periferií jí odebere přidělené periferie, modul přidělování paměti uvolní paměť, která byla úloze alokována a plánovač procesu ji odebere procesor. Tím je výpočet úlohy ukončen. Obrázek 4 - Přechod mezi stavy procesu v OS

10 3.4 Hierarchická struktura OS, virtuální počítač virtuální počítač = počítač + operační systém OS umožňuje ovládání počítače na přijatelné úrovni. Ke strojovým instrukcím počítače přidá množinu svých příkazů, které strojové instrukce používají. Vzniká množina instrukcí virtuálního počítače. Uživatelské programy zpracovává virtuální počítač. Obrázek 5 - Virtuální počítač U velkých systémů není možné řešit OS jako jediný program. Struktura dnešních operačních systémů je hierarchická, modulární: Klíčové funkce používané mnoha systémovými moduly jsou včleněny do "vnitřního virtuálního počítače". Jiné funkce jsou ve vlastním virtuálním počítači a jsou prováděny v podstatě stejně jako uživatelské procesy.

11 Obrázek 6 - Jednoduchá struktura virtuálního počítače Kam tedy s jednotlivými moduly OS? Procesy OS mohou být spolu různě provázané (např. mohou komunikovat); lze je uspořádat do tzv. vrstev procesu. (tady vzniká modulární programování). V hierarchickém systému je dovoleno volat pouze moduly na stejné nebo nižší úrovni. Které funkce na kterou úroveň? Na nejnižší úrovni musí byt funkce, které jsou volány všemi moduly, funkce, jejichž úlohou je přidělování prostředků: P operace zaznamenávají přidělení nebo žádost o přidělení prostředku, synchronizuji žádosti (operace čekej na semaforu); V operace zaznamenávají, že byl prostředek uvolněn (operace signál na semaforu); Tyto operace se provádějí nad datovou strukturou zvanou semafor. Žádost o prostředek: P operace nad semaforem onoho prostředku. Je-li semafor otevřen, P operace ho převede do stavu uzavřen a její provádění končí. Je-li původně semafor uzavřen, převede P operace žádající proces do stavu čekající a její provádění se ukončí. Uvolnění prostředku: V operace nad semaforem. Převede jeden z čekajících procesů do stavu připraven; pokud žádný takový proces není, převede semafor do stavu otevřen.

12 Obrázek 7 - Hierarchická struktura operačního systému Příklady primitivních funkcí na různých úrovních jádra: úroveň 1: modul přidělování procesoru na nižší úrovni provádění P operací, provádění V operací, plánování procesů multiprogramování, úroveň 2: modul přidělování paměti přiděl paměť, uvolni paměť. úroveň 3: modul přidělování procesoru na vyšší úrovni vytvoř / zruš proces, zašli / přijmi zprávu mezi procesy, zastav proces, zahaj proces. úroveň 4: modul přidělování periferních zařízení: sleduj stav všech I/O zařízení,

13 naplánuj I/O operace, zahaj I/O proces. úroveň 5: modul ovládání systému souborů Příklad: vytvoř / zruš soubor, otevři / uzavři soubor, operace čtení a zápisu do souboru. Použijme analogii mezi operačním systémem (resp. aplikačním programátorem) a tesařem, který staví dům. Jeho základní používané součástky jsou hřebíky, sklo, cement, tmel a dřevo. 1. S jakými problémy se potýká, pokud nemá žádné prefabrikáty (polotovary)? 2. Nechť má tesař k dispozici tyto prvky vyšší úrovně, např. okna, dveře apod. V prvním případě bude mít tesař každopádně více práce: Musí polotovary sám vyrábět - protože se bez nich stejně neobejde a jeho výtvory budou jistě horší než výrobky specialistů. Jeho pracoviště nebude příliš přehledné, protože bude potřeba spousty základních surovin. Tesař sám se více nadře, protože musí všechno dělat sám. Ve druhém případě bude všechno snazší: Tesař využije kvalifikované práce specialistů zkvalitnění výstupu a urychlení práce. Staveniště bude přehledné, protože nebude potřeba tolik (dílčích) surovin.