Téma 1: Úvod předmětu, Technické vybavení

Podobné dokumenty
Téma 1: Úvod předmětu, Technické vybavení

Operačnísystémy a databáze

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

Operačnísystémy a databáze

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

Operační systémy. Přednáška 1: Úvod

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

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

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

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

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

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

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

Procesy a vlákna (Processes and Threads)

Systémy pro sběr a přenos dat

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Princip funkce počítače

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

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

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

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

Témata profilové maturitní zkoušky

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

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

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

Systém adresace paměti

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

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. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

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

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

Pokročilé architektury počítačů

Témata profilové maturitní zkoušky

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

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

Vstupně - výstupní moduly

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

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

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

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

Komunikace procesoru s okolím

Témata profilové maturitní zkoušky

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

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

Činnost počítače po zapnutí

Mikrokontroléry. Doplňující text pro POS K. D. 2001

PB002 Základy informačních technologií

SADA VY_32_INOVACE_PP1

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

Služba ve Windows. Služba (service) je program

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

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:

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Pohled do nitra mikroprocesoru Josef Horálek

Systém řízení sběrnice

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

ÚVOD DO OPERAČNÍCH SYSTÉMŮ. Správa paměti. Přímý přístup k fyzické paměti, abstrakce: adresový prostor, virtualizace, segmentace

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

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

Integrovaná střední škola, Sokolnice 496

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

Architektury počítačů a procesorů

Profilová část maturitní zkoušky 2017/2018

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Technické prostředky počítačové techniky

Architektura počítačů

Operační systémy. Přednáška 7: Správa paměti I

Architektura procesoru ARM

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

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

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í

MSP 430F1611. Jiří Kašpar. Charakteristika

PB002 Základy informačních technologií

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

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

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

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

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

Úvod do počítačových sítí

I/O systém Vnější paměti. PB 169 Počítačové sítě a operační systémy

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Operační systémy a sítě

Management procesu I Mgr. Josef Horálek

Přednášející: Zdeněk Kotásek. Ústav počítačových systémů, místnost č. 25

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

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

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í

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Virtualizace. Lukáš Krahulec, KRA556

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

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

AGP - Accelerated Graphics Port

Disková pole (RAID) 1

Principy činnosti sběrnic

Transkript:

Téma 1: Úvod předmětu, Technické vybavení Jiří Lažanský, K13133 lazan@labefelkcvutcz Obsah 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 Cíle předmětu O čem tento předmět NENÍ 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í příklady pouze jako ilustrace principů O tvorbě operačních systémů jako celků Jaký JE účel tohoto předmětu 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 Seznámit se s principy fungování počítačových sítí 1 2 Studijní podklady Souhrnná literatura v češtině není Tyto prezentace (stránka předmětu): http://labefelkcvutcz/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ž 5 b, 3 b minimum) Zadané 2 příklady/úlohy (až 15 b) Hodnocení: 27 & Minimálně 9 bodů ze cvičení A (výborně) 24 26,9 & Minimálně 8 bodů ze cvičení B (velmi dobře) 21 23,9 & Minimálně 7 bodů ze cvičení C (dobře) 18 20,9 D (uspokojivě) 15 17,9 E (dostatečně) Literatura Silberschatz A, Galvin P B, Gagne G: Operating System Concepts Tanenbaum A S: Modern Operating Systems Comer D E: Internetworking With TCP/IP Volume 1: Principles Protocols, and Architecture, 3 4

A S Tanenbaum: Modern Operating Systems Plán přednáškových témat Č 02 03 05 06 07 08 12112013 Tvorba spustitelného programu aneb "Od zdrojového programu k procesu" 09 10 26112013 Základní protokoly Internetu (ICMP, UDP, TCP) Protokol TCP/IP, vlastnosti, virtuální spoje 11 12 13 Datum Téma 01 24092013 Úvod, organizace předmětu Přehled počítačového hardware, hypotetický počítač Pojem operační systém (OS), jeho typy a architektury, služby OS a jejich volání, 01102013 API standardy Výpočetní procesy a jejich životní cyklus Plánování procesů Vlákna a jejich implementace, vztah 08102013 k procesům Problém souběhu 04 15102013 Plánování práce procesorů, plánovací algoritmy Systémy reálného času a plánování v nich Meziprocesní komunikace, synchronizace procesů a vláken Problém uváznutí, definice, přístupy 22102013 k řešení Správa paměti: techniky a problémy, segmentace, stránkování Virtualizace, problém "výprasku", 29102013 pracovní množina Souborové systémy, organizace dat na vnějších pamětích, alokace diskového prostoru, principy, 05112013 řešení, ochrany Úvod do počítačových sítí, modely "ISO-OSI" a "TCP/IP" Technologie LAN, propojování LAN IP 19112013 adresování, datagramy, směrování Lokální doručování (ARP) Virtuální privátní sítě, tunelování NAT Filtrování IP (firewally)podpora sítí v OS, sokety a jejich 03122013 programování, schéma klient-server Systém doménových jmen (DNS), hierarchie globálního DNS, jmenné servery Struktura systému 10122013 elektronické pošty, souvislost s DNS Vybrané aplikační IP protokoly: SMTP a POP3 (pošta), HTTP (web), Telnet, SSH (vzdálený 17122013 přístup) 5 6 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) Co to je Operační systém? (1) Neexistuje žádná obecně platná 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 7 8

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 označením 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 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) 9 10 Uživatel 1 Překladač Model počítačového systému Uživatel 2 Textový editor Uživatel 3 Počítačová hra Systémové a aplikační programy Operační systém (jádro) Uživatel n Databáze 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ů Hardware počítače 11 12

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 nebo tzv clustery Hlavní rysy střediskových počítačů Historicky 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) 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 13 14 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 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é 15 16

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ů 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 17 18 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) 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 19 20

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 Těsně vázaný multiprocesorový systém Distribuovaný systém typu klient-server Paralelní a distribuované systémy CPU CPU Paměť Sběrnice CPU Klient Klient Klient Klient Server Síťová infrastruktura 21 22 Real-Time systémy (RT systémy) Nejčastěji ří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 Někdy také subsystém univerzálního OS 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 Kapesní systémy Handheld Systems, Personal Digital Assistants (PDA) Charakteristiky: Požadavek energetické úspornosti => Pomalé procesory Relativně 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 pro datové přenosy 23 24

Základní komponenty osobního počítače Komponenty univerzálního počítače Tiskárny Disky Měnič DVD-RW disků CPU Řadič disků Řadič tiskáren Řadič měniče DVD Jednotka správy paměti (MMU) Systémová sběrnice Hlavní paměť 25 26 Souvislost operací I/O a CPU Sběrnicový pohled na počítač 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 Arbiter sběrnice RAM (OP) Systémová sběrnice MMU LAP->FAP Procesor FA LA logické adresy CPU Řadič 1 Tři sekce: datová adresní (fyzické adresy) služební Řadič 2 ZVV 27 28

PC IR ALU CPU Centrální jednotka počítače (CPU) MAR MBR I/O AR I/O BR I/O Řadič DBR DBR CSR Systémová sběrnice Hlavní paměť Instrukce Instrukce Instrukce Data Data Data Data Základní pohled na nejdůležitější komponenty centrální jednotky počítače 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 bit System (kernel, supervisor)/user mode bit 29 30 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í: movel D0,(A4)+ (MC 680*0) addb (A1,D3),D0 START Základní instrukční cyklus CPU Přípravný cyklus Nahrát instrukci Výkonný cyklus Vykonat instrukci Instrukce stop STOP 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 Animace 31 32

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) 33 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 then Ulož PSW do PSWbf; Do PSW vygeneruj slovo s indikací System mode a Interrupt disabled; Aktivity při zpracování přerušení Přípravný cyklus Výkonný cyklus Přerušeni zakázána Přerušeni povolena Přerušovací cyklus Ulož PSWbf na vrchol zásobníku; Ulož PC na vrchol zásobníku; Do PC zaveď obsah příslušné položky vektoru přerušení end loop Ne Ano Vektor přerušení Adresy obslužných podprogramů Vektor indexován zdrojem přerušení 34 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 okamžitě 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í 35 36

Synchronní a asynchronní I/O operace I/O s aktivním čekáním Uživat Systém Proces požadující I/O Ovladač periferie Obslužná rutina přerušení Hardware Datový přenos Čas čeká Událost ukončující čekáni Proces požadující I/O pracuje Ovladač periferie Obslužná rutina přerušení Hardware Datový přenos Synchronní operace Asynchronní operace Jedná se o chování z hlediska aplikačního programu Synchronní operace Obvyklé řešení Asynchronní operace Obtížnější programování Výstup relativně schůdné Vstup: Více vyrovnávacích pamětí ( houpačka ) Čas Oznámení o ukončení I/O operace CPU zahajuje elementární přenos údajů a v dotazovací smyčce čeká na připravenost dat Programově velmi jednoduché Velmi neefektivní až na zcela výjimečné případy Použitelné jen v primitivních systémech bez multiprogramování Nepřipraven Ne Zadej příkaz "read" I/O řadiči Přečti stavový registr řadiče Analyzuj stav řadiče Přečti datové slovo z datového registru řadiče Ulož údaj do hlavní paměti Hotovo? Data platná Ano Další instrukce CPU I/O I/O CPU Chyba I/O CPU CPU Paměť 37 38 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á ze své fyzikální podstaty pozastavit přenos dat kdykoliv a na libovolně dlouhou dobu beze ztrát Ne Zadej příkaz "read" I/O řadiči Přečti stavový registr řadiče Analyzuj stav řadiče Přečti datové slovo z datového registru řadiče Ulož údaj do hlavní paměti Hotovo? Data platná Ano Další instrukce CPU I/O Věnuj se jiné činnosti Přerušení I/O CPU Chyba I/O CPU CPU Paměť 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ů 39 40

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 úspěšnost přenosu a informuje OS, že přenos skončil Zadej příkaz "block read" I/O řadiči Přečti stavový registr DMA Analyzuj stav DMA Další operace po úspěšném přenosu CPU > DMA Věnuj se jiné činnosti Přerušení DMA > CPU Chyba 41 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í stroje systémový režim S Jakékoliv přerušení vč synchronního Speciální instrukce U 42 Vícenásobná přerušení Postup přijímání přerušení (1) 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 Žá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í 43 44

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í Programově se musí uložit všechny registry CPU, které obslužná rutina použije, a před návratem z přerušení se opět vše musí obnovit tak, aby přerušená posloupnost instrukcí nepoznala, že byla přerušena 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 Typická přístupová doba Energeticky závislé (volatile) Energeticky nezávislé (persistent) Hierarchie pamětí (1) Typická kapacita 1 ns Registry < 1 KB 3 ns Cache < 16 MB 50 ns Hlavní paměť 32 MB 8 GB 10 ms Pevný magnetický disk 5 400 GB 100 s Magnetická páska 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 20 1000 GB 45 46 Typické údaje Označení Technologie Úroveň Typická velikost Přístupová doba Hierarchie pamětí (2) 1 registry CPU 1 KB Uvnitř CPU (CMOS) ~ 0,5 ns 2 cache 16 MB CMOS SRAM 1 25 ns 3 hlavní paměť 8 GB CMOS DRAM 80 500 ns 4 disk > 100 GB magnetický disk ~ 5 ms 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 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é lokality běžných programů Problém udržení konzistence více kopií těchže dat v multiprocesorových systémech Spravováno Obsah zálohován překladačem v cache hardwarem v hlavní paměti operačním systémem na disku operačním systémem na DVD, magnetické pásce, apod CPU Cache Jednoslovní přenosy CPU Cache Blokové přenosy Hlavní paměť 47 48

Caching, cache paměti (2) Struktura diskové jednotky 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 Třírozměrná adresa bloku: cylindr, povrch, sektor Moderní LBA (lineární adresování bloků) hardwarově realizované principy původně vyvinuté pro virtuální paměť 49 Bezpečnostní mechanismy v hardware 50 Struktura standardního PC 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(ů) 51 52

Dotazy 53