52
Úvod, Technické vybavení 1 A4B33OSS (J. Lažanský) verze: Podzim 2010 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 Jiří Lažanský, K13133 [email protected] Obsah

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

Embed Size (px)

DESCRIPTION

Jiří Lažanský, K13133 [email protected] Obsah. O bsah a organizace předmětu Co to je Operační systém Multiprogramování, sdílení času Rozmanitost operačních systémů , historie Základní struktura technického vybavení Procesor a jeho registry Instrukce a jejich vykonávání - PowerPoint PPT Presentation

Citation preview

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

Úvod, Technické vybavení 1A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Obsah

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

Úvod, Technické vybavení 2A4B33OSS (J. Lažanský)verze: Podzim 2010

O čem tento předmět NENÍ

• Poznat principy práce OS• Naučit se OS využívat efektivně a bezpečně

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

• Uvidíme 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

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

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

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

Úvod, Technické vybavení 3A4B33OSS (J. Lažanský)verze: Podzim 2010

Studijní podklady

• Souhrnná literatura v češtině není• Tyto prezentace (stránka předmětu):

http://labe.felk.cvut.cz/vyuka/A4B33OSS/• 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ž 6 b.) – Zadaný příklad/úloha (až 14 b.) – Hodnocení:

• ≥ 27 & Minimálně 9 bodů ze cvičení → A (výborně)• 24 – 26 & Minimálně 8 bodů ze cvičení → B (velmi dobře)• 21 – 23 & Minimálně 7 bodů ze cvičení → C (dobře)• 18 – 20 → D (uspokojivě)• 15 – 17 → E (dostatečně)

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

Úvod, Technické vybavení 4A4B33OSS (J. Lažanský)verze: Podzim 2010

Literatura

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

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

• Tanenbaum A. S.: Modern Operating Systems– http://www.cs.vu.nl/~ast/books/mos2/

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

– http://williamstallings.com/OS/OS6e.html

• Comer D. E.: Internetworking With TCP/IP Volume 1: Principles Protocols, and Architecture,

– http://www.cs.purdue.edu/homes/dec/vol1/vol1_presentation.pdf

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

Úvod, Technické vybavení 5A4B33OSS (J. Lažanský)verze: Podzim 2010

A. S. Tanenbaum:Modern Operating Systems

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

Úvod, Technické vybavení 6A4B33OSS (J. Lažanský)verze: Podzim 2010

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– 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 rozumě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)

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

Úvod, Technické vybavení 7A4B33OSS (J. Lažanský)verze: Podzim 2010

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í’ program• ostatní (tzv. systémové) programy lze chápat jako nadstavbu jádra• aplikační programy jsou vlastně jádrem spouštěné „rutiny“

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

Úvod, Technické vybavení 8A4B33OSS (J. Lažanský)verze: Podzim 2010

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 systému)

• OS jako rozšíření počítače– Zakrývá komplikované detaily hardware– 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

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

Úvod, Technické vybavení 9A4B33OSS (J. Lažanský)verze: Podzim 2010

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 problémů (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)

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

Úvod, Technické vybavení 10A4B33OSS (J. Lažanský)verze: Podzim 2010

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

...

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

Úvod, Technické vybavení 11A4B33OSS (J. Lažanský)verze: Podzim 2010

Různorodost operačních systémů• OS „střediskových“ (mainframe) počítačů• 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 12: Téma 1: Úvod,  Technické vybavení

Úvod, Technické vybavení 12A4B33OSS (J. Lažanský)verze: Podzim 2010

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 „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)

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

Úvod, Technické vybavení 13A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Úvod, Technické vybavení 14A4B33OSS (J. Lažanský)verze: Podzim 2010

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

• Funkcionalita pro ovládání I/O– Řízení operací provádí výhradně operační systém– 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

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

Úvod, Technické vybavení 15A4B33OSS (J. Lažanský)verze: Podzim 2010

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

– reaguje se na generátor časových značek (timer) – po uplynutí daného intervalu 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í exklusivní či sdílené

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

Úvod, Technické vybavení 16A4B33OSS (J. Lažanský)verze: Podzim 2010

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ů

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

Úvod, Technické vybavení 17A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Úvod, Technické vybavení 18A4B33OSS (J. Lažanský)verze: Podzim 2010

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)

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

Úvod, Technické vybavení 19A4B33OSS (J. Lažanský)verze: Podzim 2010

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)

– podporová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 20: Téma 1: Úvod,  Technické vybavení

Úvod, Technické vybavení 20A4B33OSS (J. Lažanský)verze: Podzim 2010

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

– lze sdílet 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

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

Úvod, Technické vybavení 21A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Úvod, Technické vybavení 22A4B33OSS (J. Lažanský)verze: Podzim 2010

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 –tolerantní RT systémy – Soft real-time systems

• použití např. v průmyslovém řízení, v robotice• 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”

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

Úvod, Technické vybavení 23A4B33OSS (J. Lažanský)verze: Podzim 2010

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 24: Téma 1: Úvod,  Technické vybavení

Úvod, Technické vybavení 24A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Úvod, Technické vybavení 25A4B33OSS (J. Lažanský)verze: Podzim 2010

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ů

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

Úvod, Technické vybavení 26A4B33OSS (J. Lažanský)verze: Podzim 2010

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ě– řá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

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

Úvod, Technické vybavení 27A4B33OSS (J. Lažanský)verze: Podzim 2010

Sběrnicový pohled na počítač

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

Úvod, Technické vybavení 28A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

komponenty centrální jednotky

počítače

PC = Program Counter = Čítač instrukcí

IR = Instruction Register = Registr instrukcí

MAR = Memory Address Register = Adresní registr paměti

MBR = Memory Buffer Register = Datový vyrovnávací registr paměti

I/O AR = I/O Address Register = Adresní registr I/O

I/O BR = I/O Buffer Register = Datový vyrovnávací registr I/O

DBR = Data Buffer Register = Datový vyrovnávací registr řadiče

CSR = Control & Status Register = Řídicí a stavový registr na řadiči

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

Úvod, Technické vybavení 29A4B33OSS (J. Lažanský)verze: Podzim 2010

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éž Instruction Pointer =

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

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

Úvod, Technické vybavení 30A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Úvod, Technické vybavení 31A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Úvod, Technické vybavení 32A4B33OSS (J. Lažanský)verze: Podzim 2010

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)

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

Úvod, Technické vybavení 33A4B33OSS (J. Lažanský)verze: Podzim 2010

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

STARTNahrát instrukci

Vykonat instrukci

STOP

Přípravný cyklus Výkonný cyklus

Přerušeni zakázána

Přerušeni povolena

Existuje žádost o

přerušení?

Ne

Ano

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

Adr

esy

obsl

užný

ch

podp

rogr

amů.

V

ekto

r ind

exov

án z

droj

em p

řeru

šení

Akt

ivity

při

zpra

cová

přer

ušen

í

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

Úvod, Technické vybavení 34A4B33OSS (J. Lažanský)verze: Podzim 2010

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ě

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

Úvod, Technické vybavení 35A4B33OSS (J. Lažanský)verze: Podzim 2010

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 36: Téma 1: Úvod,  Technické vybavení

Úvod, Technické vybavení 36A4B33OSS (J. Lažanský)verze: Podzim 2010

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“)

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

Úvod, Technické vybavení 37A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Úvod, Technické vybavení 38A4B33OSS (J. Lažanský)verze: Podzim 2010

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í

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

Úvod, Technické vybavení 39A4B33OSS (J. Lažanský)verze: Podzim 2010

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 40: Téma 1: Úvod,  Technické vybavení

Úvod, Technické vybavení 40A4B33OSS (J. Lažanský)verze: Podzim 2010

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í

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

Úvod, Technické vybavení 41A4B33OSS (J. Lažanský)verze: Podzim 2010

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ékolivpřerušení

vč. synchronního

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

Úvod, Technické vybavení 42A4B33OSS (J. Lažanský)verze: Podzim 2010

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 1

ISR 2

Aplikační program

ISR 2

ISR 1

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

Úvod, Technické vybavení 43A4B33OSS (J. Lažanský)verze: Podzim 2010

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 cyklu

1. 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 44: Téma 1: Úvod,  Technické vybavení

Úvod, Technické vybavení 44A4B33OSS (J. Lažanský)verze: Podzim 2010

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

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

Úvod, Technické vybavení 45A4B33OSS (J. Lažanský)verze: Podzim 2010

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 – 8 GB

10 ms 5 – 400 GB

100 s

Registry

Cache

Hlavní paměť

Pevný magnetický disk

Magnetická páska 20 – 1000 GB

Energeticky nezávislé (persistent)

Energeticky závislé (volatile)

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

Úvod, Technické vybavení 46A4B33OSS (J. Lažanský)verze: Podzim 2010

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

Úroveň 1 2 3 4

Označení registry CPU cache hlavní paměť disk

Typická velikost ≤ 1 KB ≤ 16 MB ≤ 8 GB > 100 GB

Technologie Uvnitř CPU (CMOS)

CMOS SRAM

CMOS DRAM

magnetický disk

Přístupová doba ~ 0,5 ns 1 – 25 ns 80 – 500 ns ~ 5 mso 4 řády pomalejší

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

operačním systémem

Obsah zálohován v cache v hlavní paměti na disku

na DVD, magnetické pásce, apod.

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

Úvod, Technické vybavení 47A4B33OSS (J. Lažanský)verze: Podzim 2010

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 48: Téma 1: Úvod,  Technické vybavení

Úvod, Technické vybavení 48A4B33OSS (J. Lažanský)verze: Podzim 2010

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ěť

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

Úvod, Technické vybavení 49A4B33OSS (J. Lažanský)verze: Podzim 2010

Struktura diskové jednotky

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

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

Úvod, Technické vybavení 50A4B33OSS (J. Lažanský)verze: Podzim 2010

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)

• Rovněž přístupy k vektoru přerušení musí být v uživatelském režimu zakázány

11 kroků k provedení služby read (fd, buffer, nbytes)

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

Úvod, Technické vybavení 51A4B33OSS (J. Lažanský)verze: Podzim 2010

Další ochranné mechanismy• 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(ů)

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

Úvod, Technické vybavení 52A4B33OSS (J. Lažanský)verze: Podzim 2010

Struktura standardního PC