+ All Categories
Home > Documents > Operačnísystémy a databáze...

Operačnísystémy a databáze...

Date post: 07-Jul-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
14
Úvod, Technické vybavení 1 A3B33OSD (J. Lažanský) verze: Jaro 2014 Operační systémy a databáze A3B33OSD Jiří Lažanský, K13133 [email protected] Úvod, Technické vybavení 2 A3B33OSD (J. Lažanský) verze: Jaro 2014 Téma 1: Úvod, Technické vybavení 1. Obsah a organizace předmětu 2. Co to je Operační systém 3. Multiprogramování, sdílení času 4. Rozmanitost operačních systémů, historie 5. Základní struktura technického vybavení 6. Procesor a jeho registry 7. Instrukce a jejich vykonávání 8. Vstup a výstup 9. Režimy práce procesoru 10. Výjimečné situace, přerušení 11. Paměti a jejich hierarchie 12. Ochranné mechanismy Obsah Úvod, Technické vybavení 3 A3B33OSD (J. Lažanský) verze: Jaro 2014 O čem tento předmět NENÍ Poznat principy práce OS a databázových systémů Naučit se systémy využívat efektivně a bezpečně Vhodným programováním na uživatelské úrovni lze mnohdy výrazně zefektivnit běh úloh Ukážeme proč a jak Při tvorbě složitějších systémů lze narazit na zřídka se vyskytující, o to však nebezpečnější situace Systematická organizace dat v databázích je základem efektivního přístupu k nim a minimalizace duplicit v datech Vícenásobný přístup k datům vede na otázky řešené v operačních systémech Cíle předmětu Jaký JE účel tohoto předmětu O konkrétních implementacích konkrétních operačních systémů (OS) na konkrétních hardwarových platformách ani o konkrétních databázových systémech Konkrétní implementace pouze jako ilustrace principů O tvorbě operačních systémů jako celků Úvod, Technické vybavení 4 A3B33OSD (J. Lažanský) verze: Jaro 2014 Studijní podklady Předmět má dvě volně provázané části: OS a DBMS Souhrnná literatura v češtině není Tyto prezentace (stránka předmětu): http://labe.felk.cvut.cz/vyuka/A3B33OSD/ Cvičení částečně seminární a samostatná práce Odkaz na cvičení z uvedené stránky Vedoucí cvičení: RNDr. Petr Štěpán, PhD. • Zkouška: Výsledky cvičení (až 10 b.) Test u zkoušky (až 5 b. – k pokračování ve zkoušce nutno aspoň 3 body) Zadané příklady/úlohy (až 15 b.) Hodnocení: ≥ 27 & Minimálně 9 b. ze cvičení + ≥ 4.5 b. z testu A (výborně) ≥ 24 & Minimálně 8 b. ze cvičení B (velmi dobře) ≥ 21 & Minimálně 7 b. ze cvičení C (dobře) ≥ 18 D (uspokojivě) ≥ 15 E (dostatečně)
Transcript
Page 1: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 1A3B33OSD (J. Lažanský)verze: Jaro 2014

Operační systémy a databázeA3B33OSD

Jiří Lažanský, [email protected]

Úvod, Technické vybavení 2A3B33OSD (J. Lažanský)verze: Jaro 2014

Téma 1: Úvod, Technické vybavení

1. Obsah a organizace předmětu2. Co to je Operační systém3. Multiprogramování, sdílení času4. Rozmanitost operačních systémů, historie5. Základní struktura technického vybavení6. Procesor a jeho registry7. Instrukce a jejich vykonávání8. Vstup a výstup9. Režimy práce procesoru10. Výjimečné situace, přerušení11. Paměti a jejich hierarchie12. Ochranné mechanismy

Obsah

Úvod, Technické vybavení 3A3B33OSD (J. Lažanský)verze: Jaro 2014

O čem tento předmět NENÍ

• Poznat principy práce OS a databázových systémů• Naučit se systémy využívat efektivně a bezpečně

– Vhodným programováním na uživatelské úrovni lze mnohdy výraznězefektivnit běh úloh

• Ukážeme proč a jak– Při tvorbě složitějších systémů lze narazit na zřídka se vyskytující, o

to však nebezpečnější situace– Systematická organizace dat v databázích je základem efektivního

přístupu k nim a minimalizace duplicit v datech• Vícenásobný přístup k datům vede na otázky řešené v operačních

systémech

Cíle předmětu

Jaký JE účel tohoto předmětu

• O konkrétních implementacích konkrétních operačních systémů (OS) na konkrétních hardwarových platformách ani o konkrétních databázových systémech

– Konkrétní implementace pouze jako ilustrace principů• O tvorbě operačních systémů jako celků

Úvod, Technické vybavení 4A3B33OSD (J. Lažanský)verze: Jaro 2014

Studijní podklady• Předmět má dvě volně provázané části: OS a DBMS• Souhrnná literatura v češtině není• Tyto prezentace (stránka předmětu):

http://labe.felk.cvut.cz/vyuka/A3B33OSD/• Cvičení částečně seminární a samostatná práce

– Odkaz na cvičení z uvedené stránky– Vedoucí cvičení: RNDr. Petr Štěpán, PhD.

• Zkouška:– Výsledky cvičení (až 10 b.)– Test u zkoušky (až 5 b. – k pokračování ve zkoušce nutno aspoň 3 body)– Zadané příklady/úlohy (až 15 b.) – Hodnocení:

• ≥ 27 & Minimálně 9 b. ze cvičení+ ≥ 4.5 b. z testu → A (výborně)

• ≥ 24 & Minimálně 8 b. ze cvičení → B (velmi dobře)• ≥ 21 & Minimálně 7 b. ze cvičení → C (dobře)• ≥ 18 → D (uspokojivě)• ≥ 15 → E (dostatečně)

Page 2: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 5A3B33OSD (J. Lažanský)verze: Jaro 2014

Literatura

• Tanenbaum A. S.: Modern Operating Systems

• Stallings W.: Operating Systems: Internals and Design Principles

• Silberschatz A., Korth H. F., Sudarshan S.: Database System Concepts

– http://codex.cs.yale.edu/avi/db-book/

• Silberschatz A., Galvin P. B., Gagne G.:Operating System Concepts

– http://codex.cs.yale.edu/avi/os-book/OS7/os7c/index.html

Úvod, Technické vybavení 6A3B33OSD (J. Lažanský)verze: Jaro 2014

A. S. Tanenbaum:Modern Operating Systems

Úvod, Technické vybavení 7A3B33OSD (J. Lažanský)verze: Jaro 2014

Proč studovat OS?• Pravděpodobně nikdo z nás nebude psát celý nový OS• Proč tedy OS studovat?

– Jde o nejrozsáhlejší a nejsložitější IT systémy• inspirace a systémový pohled na řadu jiných úloh

– Uplatňují se v nich mnohé různorodé oblasti• softwarové inženýrství, • netradiční struktury dat, • sítě, • algoritmy, …

– Čas od času je potřeba OS upravit• pak je potřeba operačním systémům porozumět• psaní ovladačů, …

– Techniky užívané v OS lze uplatnit i v jiných oblastech• neobvyklé struktury dat, krizové rozhodování, problémy souběžnosti,

správa zdrojů, ... • mnohdy aplikace technik z jiných disciplin (např. operační výzkum)• naopak techniky vyvinuté pro OS se uplatňují v jiných oblastech

(např. při plánování aktivit v průmyslu)

Úvod, Technické vybavení 8A3B33OSD (J. Lažanský)verze: Jaro 2014

Co to je Operační systém? (1)• Neexistuje žádná obecně uznávaná definice• OS je programový subsystém fungující jako mezičlánek,

který spojuje uživatele a hardware počítače• Úkoly OS:

– dohlížet na provádění výpočtů řízených uživatelskými programy

– usnadňovat řešení uživatelských problémů– umožnit efektivní využití hardware počítače– učinit počítač snáze použitelný

• OS je – správce prostředků – spravuje a přiděluje zdroje systému– řídicí program – řídí provádění ostatních programů

• Jádro operačního systému – trvale ‘aktivní’ sada spolupracujících programových komponent

• ostatní (tzv. systémové) programy lze chápat jako nadstavbu jádra• aplikační programy jsou vlastně jádrem spouštěné „rutiny“

Page 3: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 9A3B33OSD (J. Lažanský)verze: Jaro 2014

Co to je Operační systém? (2)• Několik koncepcí pojmu OS

– systémové (jen jádro a s ním související nadstavby)– „obchodní“ (to, co si koupíme pod nálepkou OS)– organizační (včetně pravidel pro hladký chod výpočetního

systému)

• OS jako rozšíření počítače– Zakrývá komplikované detaily hardware závislé na

konkrétní výpočetní platformě– Poskytuje uživateli „virtuální stroj“, který má se snáze

ovládá a programuje

• OS jako správce systémových prostředků– Každý program dostává prostředky v čase– Každý program dostává potřebný prostor na potřebných

prostředcích

Úvod, Technické vybavení 10A3B33OSD (J. Lažanský)verze: Jaro 2014

Skladba počítačového systému

• Hardware– základní výpočetní zdroje (CPU/procesor, paměť, I/O

zařízení)• Operační systém

– řídí a koordinuje používání hardware různými aplikačními programy různých uživatelů

• Aplikační programy– definují způsoby, jak se zdroje výpočetního systému

používají pro řešení uživatelských výpočetních úloh (kompilátory, databázové systémy, video hry, programy účetní správy, rezervace místenek, programovatelný logický automat, ...)

• Uživatelé– lidé, stroje (řízení klimatizace budovy), jiné počítače (sítě,

distribuované systémy)

Úvod, Technické vybavení 11A3B33OSD (J. Lažanský)verze: Jaro 2014

Model počítačového systému

Překladač Textový editor

Počítačováhra

Databáze

Systémové a aplikační programy

Operační systém

(jádro)

Hardware počítače

Uživatel 1

Uživatel 2

Uživatel 3

Uživatel n

...

Úvod, Technické vybavení 12A3B33OSD (J. Lažanský)verze: Jaro 2014

Různorodost operačních systémů• OS „střediskových“ (mainframe) počítačů nebo

„cloudů“• OS datových a síťových serverů• OS multiprocesorových počítačů• OS osobních počítačů a pracovních stanic• OS reálného času (Real-time OS)• Vestavěné OS (tiskárna, pračka, telefon, ...)• OS čipových karet (smart card OS)• ... a mnoho dalších specializovaných systémů

Page 4: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 13A3B33OSD (J. Lažanský)verze: Jaro 2014

Klasické „střediskové“ počítače (1)• Střediskový počítač – dnes již historický pojem• V současnosti vystupují v jejich rolích podnikové

servery• Hlavní rysy „historických střediskových“ počítačů

– Zpravidla děrnoštítkové systémy– Redukce režijního času pro přípravu výpočtů se dosahovalo

řazením podobných prací/zakázek (jobs) do dávek – batch– Batch processing, automatizace řazení dávek včetně

automaticky předávaného řízení mezi definovanými zakázkami(jobs)

– Rezidentní řídicí program – monitor – předává řízení mezi zakázkami; když zakázka končí – řízení se vrací monitoru

– Multiprogramní režim činnosti – na primitivní úrovni (aspoň z dnešního pohledu)

Úvod, Technické vybavení 14A3B33OSD (J. Lažanský)verze: Jaro 2014

Klasické „střediskové“ počítače (2)

Historický systém dávkového zpracování– Operátor přinesl děrné štítky k IBM 1401– Zde vznikla tzv. „dávka“ (in-spooling)– Na IBM 7094 proběhlo vlastní zpracování– Výstupní IBM 1401 poslal výsledky na tiskárnu (out-spooling)

• Spooling se samozřejmě používá i v nejmodernějších systémech

Úvod, Technické vybavení 15A3B33OSD (J. Lažanský)verze: Jaro 2014

OS implementující multiprogramování (1)

• Funkcionalita pro ovládání I/O– Řízení operací provádí výhradně operační systém (proč?)– Dva režimy práce CPU (jádro vs. uživatel) →

privilegované instrukce• Funkcionalita pro správu paměti

– Systém musí být schopný přidělovat paměť různým zakázkám a ze zakázek odvozeným procesům dynamicky přidělovat paměť

– Dvojí pohled na paměť• z hlediska její fyzické konstrukce a šířky fyzických adresovacích

sběrnic – fyzický adresní prostor, FAP• z hlediska konstrukce adresy ve strojovém jazyku – logický adresní

prostor, LAP

– Ochrana oblastí paměti před neautorizovaným přístupem

Úvod, Technické vybavení 16A3B33OSD (J. Lažanský)verze: Jaro 2014

OS implementující multiprogramování (2)• Mechanismus přerušení

– předávání řízení mezi aplikačním programem a „monitorem“→ implementace reakcí na asynchronní události

– OS je systém řízený přerušeními• Plánování práce CPU

– spolupráce s generátorem časových značek (timer) – po uplynutí daného intervalu se generuje přerušení

– ochrana proti trvalému obsazení CPU uživatelským procesem (záměrně, chybou, ...)

– OS musí být schopen volit mezi různými výpočetními procesy připravenými k činnosti

• Funkcionalita pro přidělování zařízení (systémových zdrojů)

– dynamické přidělování– přidělování exkluzivní či sdílené

Page 5: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 17A3B33OSD (J. Lažanský)verze: Jaro 2014

Systémy s přidělováním časových kvant

• Tzv. Time-Sharing Systems (TSS)• Multiprogramování vzniklo jako nástroj pro efektivní

řešení dávkového zpracování• TSS rozšiřují plánovací pravidla

– o rychlé (spravedlivé, cyklické ) přepínání mezi procesy řešícími zakázky interaktivních uživatelů

• Podpora on-line komunikace mezi uživatelem a OS – původně v konfiguraci počítač – terminál– v současnosti v síťovém prostředí

• Systém je uživatelům dostupný on-line jak pro zpřístupňování dat tak i programů

Úvod, Technické vybavení 18A3B33OSD (J. Lažanský)verze: Jaro 2014

Osobní (personální) počítače – PC

• Typicky orientované na jednoho uživatele – v současné době ale vesměs s multiprogramováním

(multitaskingem)

• Typizované I/O vybavení– klávesnice, myš, obrazovka, malá tiskárna, komunikační

rozhraní• Upřednostňovaným cílem je uživatelovo pohodlí

– minimum ochran – hlavní roli hraje odpovědnost uživatele– často se nevyužívají ochranné vlastnosti CPU

• OS PC často adoptují technologie vyvinuté pro OS větších počítačů

• Mnohdy lze provozovat různé typy operačních systémů– M$ Windows , UNIXy , Linux ...

Úvod, Technické vybavení 19A3B33OSD (J. Lažanský)verze: Jaro 2014

Paralelní a distribuované systémy• Paralelní systémy

– více procesorů (tzv. multiprocesory)– sdílí společný FAP– všechny procesory mohou „současně” vidět stav paralelně

řešené úlohy udržovaný ve sdíleném FAP– paralelní systémy jsou řízeny paralelními algoritmy– někdy též „těsně vázané“ systémy (tightly-coupled systems)

• Distribuované systémy– více počítačů (ne nutně shodných)– každý má samostatný FAP– komunikují periferními operacemi (komunikační spoje, síť)– stav distribuovaně řešené úlohy si musí každý zúčastněný

počítač postupně získávat výměnou zpráv řízenou distribuovanými algoritmy

– někdy též „volně vázané“ systémy (loosely-coupled systems)

Úvod, Technické vybavení 20A3B33OSD (J. Lažanský)verze: Jaro 2014

Paralelní systémy• Zvyšují propustnost a spolehlivost při rozumných

nákladech na výpočetní systém• Multiprocesorové systémy

– systémy s více procesory vzájemně komunikujícími vnitřními prostředky jednoho výpočetního systému (např. společnou sběrnicí)

• Nesymetrický multiprocesing– každý procesor má přidělený specifický úkol– hlavní (master) procesor plánuje a přiděluje práci podřízeným

(slave) procesorům• Symetrický multiprocesing (SMP)

– využíván většinou soudobých OS– současně může běžet více procesů na různých CPU– kterýkoliv proces (i jádro OS) může běžet na kterémkoliv

procesoru

Page 6: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 21A3B33OSD (J. Lažanský)verze: Jaro 2014

Distribuované systémy• Rozdělení výpočtů mezi více počítačů propojených sítí

– lze vyvažovat zátěž (load-sharing), výpočty se tím zrychlují i za cenu vyšší režie spojené s komunikací

– zvyšuje se spolehlivost a komunikační schopnosti– každý samostatný procesor má svoji vlastní lokální paměť– vzájemně se komunikuje pomocí přenosových spojů (sítě)

mechanismem výměny zpráv• Vynucují si použití vhodné síťové infrastruktury

– LAN, Local Area Networks– WAN, Wide Area Networks

• Klasifikace– asymetrické distribuované systémy – klient-server– symetrické distribuované systémy – peer-to-peer

• OS:– Distribuovaný OS vs. síťový OS

Úvod, Technické vybavení 22A3B33OSD (J. Lažanský)verze: Jaro 2014

Paralelní a distribuované systémy

Těsně vázaný multiprocesorový systém

CPUCPUCPU ...

Paměť

Sběrnice

Klient Klient Klient Klient...

Server

Síťová infrastruktura

Distribuovaný systém typu klient-server

Úvod, Technické vybavení 23A3B33OSD (J. Lažanský)verze: Jaro 2014

Real-Time systémy (RT systémy)• Zpravidla řídicí zařízení v dedikovaných (vestavěných)

aplikacích:–vědecký přístroj, diagnostický zobrazovací systém, systém

řízení průmyslového procesu, monitorovací systémy

• Obvykle dobře definované pevné časové limity• Klasifikace:

–striktní RT systémy – Hard real-time systems• omezená nebo žádná vnější paměť, data se pamatují krátkodobě v RAM

paměti• protipól TSS, univerzální OS nepodporují striktní RT systémy• plánování musí respektovat požadavek ukončení kritického úkolu v

rámci požadovaného časového intervalu • použití např. v přímém průmyslovém řízení, v robotice

–tolerantní RT systémy – Soft real-time systems• použitelné v aplikacích požadujících dostupnost některých vlastností

obecných OS (multimedia, virtual reality, video-on-demand)• kritické úkoly mají přednost „před méně šťastnými”

Úvod, Technické vybavení 24A3B33OSD (J. Lažanský)verze: Jaro 2014

Kapesní systémy• Handheld Systems, Personal Digital Assistants (PDA)• Charakteristiky:

– Požadavek energetické úspornosti => Pomalé procesory– Omezená kapacita paměti– Zpravidla malý display – Potřeba multiprogramování, avšak obvykle bez sdílení času

• Mobilní telefony– Navíc podpora síťových komunikačních protokolů– Softwarové modemy

Page 7: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 25A3B33OSD (J. Lažanský)verze: Jaro 2014

Základní komponenty osobního počítače

Úvod, Technické vybavení 26A3B33OSD (J. Lažanský)verze: Jaro 2014

Komponenty „univerzálního“ počítačeTiskárny

CPUŘadičdisků

Řadičtiskáren

Řadičměniče

DVD

Jednotka správy paměti (MMU)

Hlavní paměť

Systémová sběrnice

Disky MěničDVD-RW

disků

Úvod, Technické vybavení 27A3B33OSD (J. Lažanský)verze: Jaro 2014

Souvislost operací I/O a CPU

• I/O = to co se děje mezi lokální vyrovnávací pamětířadiče a vlastní fyzickou periferií

• I/O zařízení (periferie) a CPU by měly pracovat souběžně– mnohdy řádově odlišné rychlosti – každý řadič zařízení má lokální vyrovnávací paměť, buffer

• Každý řadič zařízení je odpovědný za činnost zařízeníjistého typu

– periferie jsou velmi rozmanité• Přesun dat mezi operační pamětí a lokální vyrovnávací

pamětí periférie – zajišťuje CPU programovými prostředky (tzv. programový

kanál)– specializovaný hardware (tzv. DMA kanál)

• Řadič zařízení informuje CPU o ukončení své činnosti přerušením

Úvod, Technické vybavení 28A3B33OSD (J. Lažanský)verze: Jaro 2014

Sběrnicový pohled na počítač

Arbiter sběrnice

ZVV

RAM (OP)

MMU LAP->FAP

Procesor

Tři sekce: • datová • adresní (fyzické adresy) • služební

FA

LA – logické adresy

Řadič 1

Řadič 2 …

CPU

Systémová sběrnice

Page 8: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 29A3B33OSD (J. Lažanský)verze: Jaro 2014

Centrální jednotka počítače (CPU)

Základní pohled na nejdůležitější

komponenty centrální jednotky

počítače

CPU

PC MAR

IR MBR

I/O AR

I/O BR

.

.

.

InstrukceInstrukce

Instrukce...

Data

DataDataData

.

.

.

Hlavní paměť

Systémovásběrnice

ALU

I/O Řadič

DBR

CSRDBR

Úvod, Technické vybavení 30A3B33OSD (J. Lažanský)verze: Jaro 2014

Registry procesoru• Uživatelské registry

– Uživatelsky viditelné (programově dostupné) registry– Umožňují vlastní programování a zpracování dat– Obsahují data, adresy a podmínkové kódy

• Řídicí a stavové registry– Obecně nedostupné uživatelským procesům– Procesor modifikuje svoji činnost jejich obsahem (řídicí) a

vykazuje v nich svůj stav (stavové)– Některé z nich používá CPU pro řízení práce programů

• Program Counter (PC) – adresa získávané instrukce (někdy též InstructionPointer = IP)

• Instruction Register (IR) – kód instrukce přečtené z paměti• Program Status Word (PSW) – obsahuje:

Bity podmínkových kódu a stavu (např. vlastnosti výsledku předchozí operace)Interrupt enable/disable bitSystem (kernel, supervisor)/User mode bit

Úvod, Technické vybavení 31A3B33OSD (J. Lažanský)verze: Jaro 2014

Uživatelské registry• Uživatelské registry

– Dostupné běžnými strojovými instrukcemi– Používány všemi programy (tj. aplikačními i

systémovými)• Typy uživatelských registrů

– Datové – většinou univerzální použití– Adresní

• Obecné adresní• Bázové registry • Segmentační registry• Indexní registry – obsahují relativní adresy• Ukazatel zásobníku (Stack pointer)

• Příklady instrukcí: move.l D0,(A4)+(MC 680*0) add.b (A1,D3),D0

Úvod, Technické vybavení 32A3B33OSD (J. Lažanský)verze: Jaro 2014

Základní instrukční cyklus CPU

• Přípravná fáze (fetch cycle)– nahrává do procesoru instrukci podle PC a umístí její kód

do IR– na jejím konci se (zpravidla) inkrementuje PC

• Výkonná fáze (execute cycle)– vlastní provedení instrukce– může se dále obracet (i několikrát) k paměti

loop: FETCH; /* ((PC)) → IR */

Increment(PC);

EXECUTE; /* proveď operaci dle (IR) */

end loop

STARTNahrát

instrukciVykonat instrukci

STOP

Přípravný cyklus Výkonný cyklusInstrukce stop

Animace

Page 9: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 33A3B33OSD (J. Lažanský)verze: Jaro 2014

Přerušení• Přerušení normální posloupnosti provádění instrukcí

– cílem je zlepšení účinnosti práce systému– je potřeba provést jinou posloupnost příkazů jako reakci na

nějakou „neobvyklou” událost– přerušující událost způsobí, že se pozastaví běh procesu v

CPU takovým způsobem, aby ho bylo možné později znovu obnovit, aniž by to přerušený proces „poznal“

• Souběh I/O operace – Přerušení umožní, aby CPU prováděla jiné akce než

instrukce programu čekajícího na konec I/O operace– Činnost CPU se později přeruší iniciativou „I/O modulu”– CPU předá řízení na obslužnou rutinu přerušení (Interrupt

Service Routine) – standardní součást OS• CPU testuje nutnost věnovat se obsluze přerušení

alespoň po dokončení každé instrukci– existují výjimky (např. „blokové instrukce“ Intel)

Úvod, Technické vybavení 34A3B33OSD (J. Lažanský)verze: Jaro 2014

Cyklus CPU s přerušovacím systémem• Je nevyřízená žádost o přerušení, a přerušení je povoleno

– spustí se obslužný podprogram přerušení, jehož adresa se získáz vektoru přerušení

INTF: Boolean:=False; /* Při žádostí o přerušení → True */loop: FETCH;

Increment(PC);EXECUTE;if INTF thenUlož PSW do PSWbf;Do PSW vygeneruj slovo s indikací System mode a

Interrupt disabled;Ulož PSWbf na vrchol zásobníku;Ulož PC na vrchol zásobníku;Do PC zaveď obsah příslušné položky vektorupřerušení

end loop

Přípravný cyklus Výkonný cyklus

Přerušeni zakázána

Přerušeni povolena

Ne

Ano

Přerušovací cyklus Vektor přerušení

Ad

resy

obs

lužn

ých

podp

rogr

amů.

V

ekt

or in

dexo

ván

zdro

jem

pře

ruše

Akt

ivity

při

zpra

cová

níp

řeru

šení

Úvod, Technické vybavení 35A3B33OSD (J. Lažanský)verze: Jaro 2014

Výjimky a jejich třídy• Přerušení je speciálním případem výjimečné situace• Synchronní (s během programu)

– Programové (naprogramované)• speciální instrukce (INT, TRAP)

– Generované kontrolními obvody počítače:• aritmetické přetečení, dělení nulou• pokus o vykonání nelegální či neznámé instrukce• neoprávněný pokus o přístup k paměťové lokaci (narušení ochrany

paměti, virtuální paměť )

• Asynchronní (přicházející zvenčí – klasické přerušení)– I/O, časovač, hardwarové problémy (např. výpadek napájení ...)

• Kdy se na výjimečné situace reaguje?– Standardní přerušení: Po dokončení instrukce během níž vznikl

požadavek– Výjimka vysoké úrovně: Během provádění instrukce (po

dokončení některé fáze provádění instrukce) – instrukci nelze dokončit – Kritická výjimka: Nelze dokončit ani cyklus přenosu dat a je

nutno reagovat neprodleně

Úvod, Technické vybavení 36A3B33OSD (J. Lažanský)verze: Jaro 2014

Organizace I/O – 2 způsoby obsluhy• I/O operace:

– Zpravidla přenos sekvence údajů– Přenos dat z I/O zařízení do OP – vstup– Přenos dat z OP do I/O – výstup

• Dva způsoby obsluhy– S aktivním čekáním (busy waiting)

• v systémech bez řízení IO pomocí OS • žádné souběžné zpracovává ní I/O, nedořešený zůstává nejvýše jeden

I/O požadavek• program testuje konec IO operace opakovanými dotazy na příslušný

stavový registr IO zařízení– S přerušením a OS řízeným souběžným prováděním

• v systémech s řízením IO pomocí OS • souběžné zpracovává ní I/O s během programu(ů)• I/O operaci zahajuje OS na žádost z uživatelské ho procesu• uživatelský proces čeká na dokončení I/O operace – synchronní řešení

I/O • uživatelský proces nečeká na dokončení I/O operace – asynchronní

řešení I/O, může běžet souběžně s I/O operací

Page 10: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 37A3B33OSD (J. Lažanský)verze: Jaro 2014

Synchronní a asynchronní I/O operace

Čas

Ovladač periferie

Hardware

Datový přenos

Proces požadující I/O

Obslužná rutina přerušení

čeká

Událost ukončujícíčekáni

Synchronní operace

Uži

vat.

Sys

tém

.

Čas

Ovladač periferie

Hardware

Datový přenos

Proces požadující I/O

Obslužná rutina přerušení

pracuje

Oznámení o ukončení I/O operace

Asynchronní operace

• Synchronní operace – Obvyklé řešení

• Asynchronní operace– Obtížné programování

• Výstup – relativně schůdné• Vstup: Více vyrovnávacích pamětí („houpačka“)

Úvod, Technické vybavení 38A3B33OSD (J. Lažanský)verze: Jaro 2014

I/O s aktivním čekáním

• CPU zahajuje elementární přenos údajů a v „dotazovací smyčce“ čekána připravenost dat

• Jednoduché• Velmi neefektivní (až na zcela výjimečné

případy)

• Použitelné jen v primitivních systémech bez multiprogramování

Zadej příkaz "read"

I/O řadiči

Přečti stavový registr řadiče

Přečti datové slovo z datového

registru řadiče

Ulož údaj do hlavní paměti

Analyzuj stav řadiče

Hotovo?

CPU→I/O

I/O→CPU

I/O→CPU

CPU→Paměť

Nepřipraven

Data platná

Chyba

Ne

Ano

Další instrukce

Úvod, Technické vybavení 39A3B33OSD (J. Lažanský)verze: Jaro 2014

Programový I/O s přerušením

• CPU inicializuje elementární přenos a věnuje se jiné činnosti

• Když je údaj připraven, adapter ZVV vyvolá přerušení

• Obslužná rutina přenese data mezi DBR a pamětí

• Pružné – data lze při přenosu upravovat• Relativně pomalé, účast CPU, řízeno

programem• Jen pro ZVV schopná práce v režimu

start-stop– Zařízení schopná pozastavit přenos dat

kdykoliv a na libovolně dlouhou dobu beze ztrát

Zadej příkaz "read"

I/O řadiči

Přečti stavový registr řadiče

Přečti datové slovo z datového

registru řadiče

Ulož údaj do hlavní paměti

Analyzuj stav řadiče

Hotovo?

CPU→I/O

I/O→CPU

I/O→CPU

CPU→Paměť

Data platná

Chyba

Ne

Ano

Další instrukce

Věnuj se jiné činnosti

Přerušení

Úvod, Technické vybavení 40A3B33OSD (J. Lažanský)verze: Jaro 2014

Přímý přístup do paměti - DMA

• Určeno pro blokové přenosy dat vysokou rychlostí• I/O přenosy se uskutečňují bez přímé účasti procesoru

mezi periferním zařízením a pamětí– Procesor dovolí I/O modulu přímo číst z nebo zapisovat do

operační paměti – kradení cyklů (cycle stealing)– Procesor zadá jen velikost a umístění bloku v paměti a směr

přenosu– Přerušení se generuje až po dokončení přenosu bloku dat

CPU PaměťŘadičdisků

Page 11: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 41A3B33OSD (J. Lažanský)verze: Jaro 2014

I/O operace s přímým přístupem do paměti

• CPU zadá parametry přenosu DMA jednotce

• Přenos probíhá autonomně bez účasti CPU

• DMA vyvolá přerušení po ukončení přenosu bloku (nebo při chybě)

• Obslužná rutina pouze testuje chybový stav a informuje OS, že přenos skončil

Zadej příkaz"block read"

I/O řadiči

Přečti stavovýregistr DMA

Analyzuj stavDMA

CPU > DMA

DMA > CPU

Další instrukce

Chyba

Věnuj sejiné činnosti

Přerušení

Úvod, Technické vybavení 42A3B33OSD (J. Lažanský)verze: Jaro 2014

Režimy práce procesoru• Dva režimy práce procesoru

– Základ hardwarových ochran– Systémový = privilegovaný režim

• procesor může vše, čeho je schopen

– Uživatelský = aplikační (ochranný) režim• privilegované operace jsou zakázány

– Privilegované operace• ovlivnění stavu celého systému (halt, reset, Interrupt

Enable/Disable, modifikace PSW, modifikace registrů MMU )• instrukce pro vstup/výstup (in, out)

– Okamžitě platný režim je zachycen v PSW (S-bit)

• Přechody mezi režimy– Po zapnutí systémový režim S U

Speciální

instrukce

Jakékoliv

přerušení

vč. synchronního

Úvod, Technické vybavení 43A3B33OSD (J. Lažanský)verze: Jaro 2014

Vícenásobná přerušení

• Sekvenční zpracování– během obsluhy jednoho

přerušení se další požadavky nepřijímají (pozdržují se)

– jednoduché, ale nevhodnépro časově kritické akce

• Vnořené zpracování– prioritní mechanismus– přijímají se přerušení s

prioritou striktně vyšší, než je priorita obsluhovaného přerušení

Aplikační program

ISR 2

ISR 1

Úvod, Technické vybavení 44A3B33OSD (J. Lažanský)verze: Jaro 2014

Postup přijímání přerušení (1)

• Žádost se vyhodnotí na přípustnost (priority přerušení)

• Procesor přejde do zvláštního cyklu1. Uschová se obsah stavového slova procesoru (PSW).2. Do PSW se vygeneruje "syntetické" stavové slovo s

nastaveným S-bitem. Nyní je CPU v privilegovaném režimu 3. Uschované původní PSW uloží na zásobník. Na zásobník se

uloží i čítač instrukcí PC (tzv. rámec přerušení).4. PC se nahradí hodnotou z vektoru přerušení, indexovaného

zdrojem přerušení.

Page 12: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 45A3B33OSD (J. Lažanský)verze: Jaro 2014

Postup přijímání přerušení (2)

• Procesor přechází do normálního režimu práce a zpracovává obslužnou rutinu přerušení

– Obslužná rutina musí být transparentní– Obslužnou rutinu končí instrukce „návrat z přerušení“

(IRET, RTE) mající opačný efekt: z vrcholu zásobníku vezme položky, které umístí zpět do PC a PSW

• Při vhodném naformulování položek na vrcholu systémového zásobníku se instrukce návratu z přerušení používá pro přechod ze systémového do uživatelského režimu

Úvod, Technické vybavení 46A3B33OSD (J. Lažanský)verze: Jaro 2014

Hierarchie pamětí (1)

• Hierarchie pamětí z pohledu rychlosti a kapacity– uvedená čísla představují pouze hrubá přiblížení– směrem dolů klesá rychlost i „cena za 1 bit“

• Typy prvků používaných v hlavní paměti– RAM, ROM, EEPROM, CMOS-RAM

Typická přístupová doba Typická kapacita

1 ns < 1 KB

3 ns < 16 MB

50 ns 32 MB – 16 GB

10 ms 5 – 4000 GB

100 s

Registry

Cache

Hlavní paměť

Pevný magnetický disk

Magnetická páska 20 – 1000 GB

Energeticky nezávislé

(persistent)

Energetickyzávislé

(volatile)

Úvod, Technické vybavení 47A3B33OSD (J. Lažanský)verze: Jaro 2014

Hierarchie pamětí (2)• Typické údaje

na DVD, magneticképásce, apod.

na diskuv hlavnípamětiv cacheObsah zálohován

operačním systémem

operačním systémemhardwarem„překladačem“Spravováno

~ 5 ms

80 – 500 ns1 – 25 ns~ 0,5 nsPřístupová doba

magnetický disk

CMOS DRAM

CMOS SRAM

Uvnitř CPU (CMOS)Technologie

> 100 GB≤ 8 GB≤ 16 MB≤ 1 KBTypická velikost

diskhlavní paměťcacheregistry CPUOznačení

4321Úroveň

Úvod, Technické vybavení 48A3B33OSD (J. Lažanský)verze: Jaro 2014

Caching, cache paměti (1)• Caching je princip používaný v OS velmi často

– části obsahu pomalejší paměti s vyšší kapacitou jsou podle potřeby dočasně kopírovány do paměti rychlejší

• Mezipaměť ležící mezi CPU a hlavní pamětí– Transparentní pro operační systém i pro programátora– Je mnohem rychlejší než operační (hlavní) paměť– Mikroprogramem řízené kopírování informací z hlavní paměti

do cache paměti po blocích– Princip časové a prostorové lokálnosti běžných programů– Problém udržení konzistence více kopií těchže dat v

multiprocesorových systémech

Hlavní paměť

CPU Cache

CPU Cache

Jednoslovní přenosy Blokové přenosy

Page 13: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 49A3B33OSD (J. Lažanský)verze: Jaro 2014

Caching, cache paměti (2)• Velikost cache

– čím větší, tím častěji se najdou požadovaná data v cache, ale také roste cena

• Velikost přenosového bloku – kompromis:– velké bloky = dlouhé přenosy– malé bloky = časté přenosy

• Mapovací funkce – kam přijde blok do cache

• Nahrazovací algoritmus:– určuje, který blok v cache bude nahrazen– Least-Recently-Used (LRU) algoritmus

• Analogie– hardwarově realizované principy původně vyvinuté pro

virtuální paměť

Úvod, Technické vybavení 50A3B33OSD (J. Lažanský)verze: Jaro 2014

Struktura diskové jednotky

• Třírozměrná adresa bloku: cylindr, povrch, sektor• Moderní LBA (lineární adresování bloků)

Úvod, Technické vybavení 51A3B33OSD (J. Lažanský)verze: Jaro 2014

Bezpečnostní mechanismy v hardware• Základní opatření

– Dva režimy práce procesoru(ů) – Vstup a výstup: Povinné a uživatelským režimem vynucené

volání služeb OS • I/O instrukce jsou privilegované

– Uživatelský program nikdy nesmí získat možnost práce v privilegovaném režimu

• Např. nesmí mít možnost zapsat do PSW a změnit tak režim práce CPU (S-bit v PSW) nebo modifikovat vektor přerušení

• Ochrana paměti• Musí zabezpečit izolaci jádra OS i aplikačních programů navzájem

– Souvisí s metodami správy paměti a zobrazováním LAP do FAP

• Ochrana dostupnosti CPU– Prevence před převzetím vlády jednoho aplikačního programu

nad CPU– Řešení: časovač (timer)

• V pravidelných (privilegovaně programovatelných) intervalech vyvolávápřerušení, a tak je aktivováno jádro OS

• Mnohdy realizován jako „periferní zařízení“• O přerušení od časovače se opírají mechanismy plánování procesoru(ů)

Úvod, Technické vybavení 52A3B33OSD (J. Lažanský)verze: Jaro 2014

Struktura standardního PC

Page 14: Operačnísystémy a databáze Obsahlabe.felk.cvut.cz/vyuka/A3B33OSD/Tema-01-UvodHardware-OSD-4.pdf · • OS jako rozšíření počítače – Zakrývá komplikovanédetaily hardware

Úvod, Technické vybavení 53A3B33OSD (J. Lažanský)verze: Jaro 2014

Dotazy


Recommended