Operační systémy Přednášky pro předmět Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.

Slides:



Advertisements
Podobné prezentace
CIT Paměti Díl X.
Advertisements

Informatika a výpočetní technika
Paměti Karel Brambora Martin Císař.
Mikroprocesory Procesory. Procesor je synchronní zařízení provádí operace s daty je programovatelný pomocí mikroinstrukcí je více rodin procesorů (jednočipy.
Komunikace periférii.
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
SYSTÉM PŘERUŠENÍ U 68HC11.
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
Otázky k absolutoriu HW 1 - 5
Informatika 1_6 6. Týden 11. A 12. hodina.
Blokové schéma PC a jeho hardwarová realizace
Informatika I 7.a 8. hodina 4. týden.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_02A13 Autor Ing. Jiří Kalousek Období vytvoření duben 2014.
Architektura a vývoj PC 2.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Paměťové obvody a vývoj mikroprocesoru
Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.
Tato prezentace byla vytvořena
= monolitický integrovaný obvod obsahující kompletní mikropočítač
Zdroj Parametry – napájení všech komponent PC
Výrok "Pokud nejste príliš bohatí a velmi excentričtí, nebudete mít důvod, proč si dopřát luxus počítače ve vaší domácnosti." (E.Yourdon, 1975)
Operační systém (OS) ICT Informační a komunikační technologie.
Informatika / …o počítači (základní pojmy, jednoduché představy) 2006.
13AMP 2. přednáška Ing. Martin Molhanec, CSc.. Stav procesu (kontext) Stav procesu je úplná informace, kterou je nutné uschovat při přerušení procesu,
Sběrnice Obr. 1.
Druhy počítačů Osobní počítače Pracovní stanice Superpočítače
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
TEP EEPROM č.8. EEPROM Téma EEPROM TEP Předmět TEP Juránek Leoš Ing. Autor Juránek Leoš Ing. TEP.
13AMP 3. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled I. Co je to kontext úlohy Co je to kontext úlohy Task switching (přepnutí úlohy)
MainBoard.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Autor:Jiří Gregor Předmět/vzdělávací oblast: Digitální technika Tematická oblast:Digitální technika Téma:Statické paměti RWM – RAM 1. část Ročník:3. Datum.
1. ELEKTRICKÝ SIGNÁL VSTUPUJE DO uPROCESORU 2.VYMAŽE DATA KTERÁ ZŮSTALA V REGISTRECH VNITŘNÍ PAMĚTI 3. NASTAVÍ REGISTR CPU – ČÍTAČ INSTRUKCÍ NA F000 ADRESA.
Výpočetní technika kód předmětu: VT Ing. Miroslav Vachůn, Ph.D.
Architektura počítače
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Univerzita třetího věku kurz Znalci Hardware 1.
Mikroprocesor.
Procesory.
Instrukce procesoru.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Číslo projektu CZ.1.07/1.5.00/ Název školy Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64 Název materiálu VY_32_INOVACE_IVT_1_KOT_04_PROCESOR.
Technika počítačů 3. Mikroprocesory © Milan Keršlágerhttp:// Obsah: ●
Univerzální procesor. Jako vhodný procesor na místo virtuálního univerzálního mikroprocesoru (procesoru) byl pro výklad jako vhodný typ vybrán procesor.
John von Neumannova koncepce. John von Neumann  Narozen 28. prosince 1903 Budapešť Rakousko-Uhersko  Zemřel 8. února 1957 Spojené státy americké.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_10_NEUMANN_S1.
Operační systém (OS) Základní funkce operačního systému: – Zajištění komunikace s okolím. – Řízení a zpracování programů. – Údržba informací na externích.
ZŠ Brno, Řehořova 3 S počítačem snadno a rychle Informatika 7. ročník III
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
Software,hardware,data,biti a bajty.  Software je v informatice sada všech počítačových programů používaných v počítači, které provádějí nějakou činnost.
Základní desky Marek Kougl 1.L.
Vypracoval / Roman Málek
ALU Aritmeticko-logická jednotka
Aritmetickologická jednotka
Jednočipové počítače – instrukční sada
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
1. ročník oboru Mechanik opravář motorových vozidel
1. ročník oboru Mechanik opravář motorových vozidel
Mikropočítač Soubor instrukcí
Operační systémy 9. Spolupráce mezi procesy
1. ročník oboru Mechanik opravář motorových vozidel
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
přerušení (instrukční cyklus, obsluha) vztahy mezi tématy
Informatika / …o počítači
Informační a komunikační technologie 5. ročník
Sériový port (1) Určen k připojení:
Transkript prezentace:

Operační systémy Přednášky pro předmět Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003

Kapitola 1 Požadavky na hardware

 OS je softwarovou nadstavbou hardware počítače které funkce hardware jsou z hlediska OS důležité?

Základní prvky hardware  procesor (CPU) hardware umožňující provádění instrukcí programu  operační paměť hardware sloužící k uložení programu a dat  I/O moduly (řadiče, kanály, koprocesory...) hardware pro ovládání periferií  sekundární paměť (disky)  klávesnice, displej, tiskárna...  komunikační zařízení (LAN, modem,...)  systémové spoje (sběrnice) komunikace mezi CPU, pamětí a I/O moduly

Procesor  procesor (CPU, Central Processing Unit) obsahuje:  HW pro provádění programu - programový čítač PC - instrukční registr IR - dekodér instrukce a řídící obvody - registr(y) s informacemi o stavu procesoru PSW  HW pro zpracování dat - registry pro krátkodobé uložení adres a dat - operační jednotka ALU  další pomocné registry a obvody - ukazatel zásobníku SP,...

Provedení instrukce před: 1234 po: 1235 PC IR R3 CPU paměť program data LDI R3 -7 ADD R před: –7 po: 0 ALU FETCH EXECUTE ADD R před: 0100 po: 0010 PSW CNZV operace = ADD operand_1= R3 operand_2= M[5678] F A B

Registry CPU  Řídící a stavové registry (Control & Status)  nejsou obecně dostupné uživatelským programům  CPU je používá k řízení vlastní činnosti  některé OS používá k řízení provádění programů  Uživateli přístupné registry (user-visible)  dostupné systémovým i uživatelským programům  obsahují data, adresy a další informace...

Řídící a stavové registry  Programový čítač (Program Counter, PC) obsahuje adresu následující instrukce  Instrukční registr (Instruction Register, IR) obsahuje naposledy načtenou instrukci  Stavový registr (Program Status Word, PSW) registr(y) obsahující informace o stavu CPU, nastavení pracovního režimu, nastavení přerušovacího systému, příznaky výsledku operace,... Někdy se jako PSW označuje kompletní stavová informace, která se ukládá při přerušení (kontext)

Uživateli přístupné registry  Datové registry mohou být použity uživatelským programem k přechodnému uložení dat  Adresní registry obsahují paměťové adresy dat a instrukcí mohou obsahovat pouze část adresy, která pak je použita k výpočtu úplné adresy U některých platforem jsou registry specializované (Intel), u jiných se používají tzv. univerzální registry, které mohou převzít libovolnou úlohu (Motorola)

Adresní registry  Index/Offset registr při výpočtu skutečné adresy se obsah tohoto registru přičte k hodnotě báze (relativní adresa)  Segment Pointer u paměti rozdělené na segmenty obsahuje tento registr bázovou adresu segmentu  Stack Pointer registr ukazující na aktuální vrchol zásobníkové paměti Index/Offset Segment Pointer Memory Address

Příznaky výsledku operace  speciální jednobitové registry, které se nastavují automaticky při provádění operace procesorem  z programu jsou částečně dostupné např. podle jejich stavu lze větvit program, ale program je nemůže přímo měnit  Příklady:  příznak polarity (Negative sign flag)  příznak nulovosti (Zero flag)  příznak přenosu (Carry flag)  příznak přetečení (oVerflow flag) NZCVNZCV

CPU Intel 80C186

Operační paměť  Ideální paměť  nulová doba přístupu  nekonečná kapacita  nulová cena a provozní náklady  Reálná paměť kde K = technologická konstanta:  čím rychlejší paměťové prvky, tím dražší 1 bit  s časem cena za bit klesá (vývoj technologie)

Hierarchická paměť  kombinace několika technologií  rychlost určuje nejvyšší vrstva  kapacitu určuje nejnižší vrstva  cena je dána součtem cen všech vrstev Pevné disky Výměnná media Disková paměť cache Operační paměť Paměť cache Registry rychlejší dražší menší pomalejší levnější větší

Paměť cache  Požadovaný efekt:  kapacita a cena daná použitou operační pamětí  rychlost blízká rychlosti paměti cache vyrovnávací paměť zařazená mezi CPU a operační paměť, používající drahé ale velmi rychlé paměťové prvky

Funkce paměti cache  pro OS a programy transparentní  spolupracuje s hardwarem řízení paměti (memory management)  procesor čte instrukce a data z paměti cache  pokud adresované slovo není v paměti cache, načte se z operační paměti do cache celý blok, obsahující požadované slovo Zápis: pokud procesor některé slovo v bloku modifikuje, musí se toto slovo (celý blok) zapsat zpět do operační paměti

Princip lokality odkazů  Odkazy na paměť (Memory References) mají pro instrukce i data v delších časových úsecích tendenci odkazovat se do omezených oblastí paměti Příklad: jakmile vstoupí program do smyčky, opakuje se jen krátká posloupnost instrukcí  Důsledky:  jakmile procesor adresuje určité slovo paměti, je velmi pravděpodobné, že v blízké budoucnosti bude pracovat jen s okolními slovy  Činitel úspěšnosti (Hit Ratio) se bude blížit k 1 již při poměrně malé kapacitě paměti cache

Činitel úspěšnosti  HR=Hit Ratio poměr počtu úspěšných přístupů k celkovému počtu přístupů HIT=úspěšný přístup (trefa), MISS=neúspěšný přístup (vedle)  střední přístupová doba T S =T 1 +(1-HR)*T 2 T 1 = přístupová doba paměti cache T 2 = přístupová doba operační paměti T 2 >> T 1  Důsledek: Jestliže se HR blíží k 1 tj. většina přístupů je úspěšná, blíží se střední přístupová doba celé paměti k T1 (T 2 >> T S >T 1 )

Příklad  přístupová doba paměti cache T 1 = 5ns  přístupová doba operační paměti T 2 =100ns  při 1000 přístupech je 960 úspěšných, 40 neúspěšných (HIT=960, MISS=40) HR=960/1000=0,96  střední přístupová doba celé paměti T S =T 1 +(1-HR)*T 2 =5+0,04*100=9ns

I/O modul  obecný termín pro HW, sloužící pro připojení periferního zařízení k procesoru a paměti  každé periferní zařízení vyžaduje specifickou obsluhu  I/O moduly jednotlivých zařízení se od sebe mohou značně lišit funkcí, složitostí...

Struktura I/O modulu (1) I/O Logic Data Status Control External Device Interface Logic Data Status Control External Device Interface Logic Data Lines Address Lines Control Lines Data Register Status/Control Register Interface to External Device Interface to System Bus

Struktura I/O modulu (2)  Datový registr (registry) přechodné uložení dat při přenosu (vyrovnávací paměť)  Stavový a řídící registr (registry)  informace o aktuálním stavu modulu a zařízení  aktuální řídící informace z programu (příkaz, parametry)  I/O logika  zajišťuje interakci modulu s CPU přes řídící část sběrnice  je zde implementován protokol systémové sběrnice (ISA, PCI, AGP...)  Logika rozhraní zařízení  obsahuje logiku rozhraní periferního zařízení  často má také podobu sběrnice (IDE, SCSI, USB,...)

I/O operace řízená programem  příkaz WRITE v programu uživatele předá řízení I/O programu (ovladači tiskárny)  I/O program připraví I/O modul pro požadovanou akci (např. vytisknutí řádku textu) tím, že odešle potřebné příkazy a data  nyní musí I/O program čekat na dokončení operace testováním stavu I/O modulu CPU provádí neproduktivní činnost!  Po dokončení operace předá I/O program řízení zpět programu uživatele

Přerušení  Dnešní počítače při provádění I/O operací využívají přerušení činnosti CPU  V tomto režimu I/O program pouze předá I/O modulu povel a povolí přerušení  pak program uživatele může pokračovat dál, dokud nebude potřebovat provést další I/O operaci. V operačních systémech je obvykle takový program pozastaven, dokud není I/O operace dokončena, a procesor je zaměstnán jinou prací  Po dokončení I/O operace vyšle I/O modul po systémové sběrnici požadavek na přerušení (Interrupt Request)  po přerušení CPU provede proceduru pro obsluhu přerušení (Interrupt Handler)

Základní instrukční cyklus  V okamžiku zahájení provádění instrukce programový čítač PC obsahuje adresu příští instrukce  CPU načte novou instrukci z operační paměti podle PC  CPU dekóduje a provede načtenou instrukci operandy instrukce se čtou z paměti nebo registrů  obsah PC se automaticky zvýší tak, aby obsahoval adresu příští instrukce skokové instrukce jinak: obsah PC se nezvyšuje, ale přepisuje novou adresou START načtení další instrukce provedení instrukce Fetch Cycle Execute Cycle HALT

Instrukční cyklus s přerušením START načtení další instrukce provedení instrukce přerušení Fetch Cycle Execute Cycle Interrupt Cycle HALT přeručení povoleno? požadováno přeručení? NE ANO NE ANO  CPU ověřuje požadavky na přerušení vždy před načtením nové instrukce  Pokud není přerušení povoleno nebo požadováno, CPU pokračuje normálně, tj. načte následující instrukci podle PC  Pokud je přerušení povoleno a požadováno, uloží se automaticky obsah PC a PSW např. do zásobníku a do PC a PSW se nahraje tzv. přerušovací vektor tím se změní adresa příští instrukce a nastavení přerušovacího systému

Procedura pro obsluhu přerušení  program, určující reakci počítače na událost, která vyvolala přerušení  přebírá automaticky řízení CPU v případě, že dojde k takové události různé události vyvolávají různé procedury pro obsluhu přerušení  k přerušení programu může dojít kdykoliv říkáme, že událost je vzhledem k programu asynchronní  po dokončení obslužné procedury musí jít přerušený program znovu spustit od místa, ve kterém byl přerušen při přerušení je nutné uložit všechny informace, potřebné k úplnému obnovení původního stavu CPU (obsah PC a PSW, datové a adresní registry použité během obsluhy přerušení...)

Průběh obsluhy přerušení I/O modul nebo jiný systémový HW vyšle požadavek na přerušení procesor dokončí rozpracovanou instrukci procesor signalizuje I/O modulu akceptování požadavku procesor uloží PSW a PC do zásobníku procesor načte do PSW a PC přerušovací vektor obnov původní PSW a PC obnov informace o stavu procesu obsluž požadavek ulož zbytek informací o stavu procesu ulož zbytek informací o stavu procesu probíhá v hardware I/O modul zaregistruje převzetí požadavku a ukončí jeho vysílání probíhá v software pokud není povoleno přerušení, provede procesor další instrukci programu

Přerušení zlepšuje využití CPU  I/O program aktivovaný programem uživatele připraví I/O modul k akci a povolí přerušení  I/O program vrátí řízení programu uživatele nemusí to být nutně tentýž program (rozhoduje o tom OS)  během provádění I/O operace běží program uživatele dál CPU nečeká, je smysluplně využita!  v okamžiku dokončení I/O operace je program uživatele přerušen  procedura pro obsluhu přerušení převezme informace o výsledku I/O operace (stavu modulu)  Po obsloužení přerušení se řízení vrátí zpět programu uživatele

Typy přerušení  I/O přerušení  signalizuje dokončení I/O operace (správné nebo chybové)  Časovač (Timer)  poskytuje OS a programům informace o reálném nebo relativním čase  Programové chyby (Exceptions)  přetečení při aritmetické operaci  pokus o provedení nedovolené instrukce často se záměrně využívá pro vyvolání akce OS z programu uživatele  pokus o adresování neexistující nebo zakázané oblasti paměti  Chyby hardware  např. chyba parity paměti, výpadek napájení,...

Sekvenční obsluha přerušení  během obsluhy přerušení je další přerušení zakázáno to může způsobit problémy, pokud obsluha přerušení trvá dlouho  požadavek na přerušení trvá, dokud procesor znovu nepovolí přerušení  teprve po dokončení obsluhy přerušení procesor zjišťuje, zda nejsou další požadavky na přerušení po tuto dobu počítač nemůže reagovat na událost Y !

Prioritní přerušovací systém  požadavek na přerušení s vyšší prioritou (Y) může přerušit provádění obslužné rutiny přerušení s nižší prioritou (X)  obsluha přerušení s nižší prioritou (X) se dokončí až po obsloužení všech požadavků s vyšší prioritou Příklad: přerušení přicházející od rozhraní LAN má přednost před přerušením z tiskárny, protože vyrovnávací paměť je nutné rychle uvolnit pro další data

Techniky I/O komunikace  Pro I/O operace lze použít 3 různé techniky:  Programovaný I/O přenos nepoužívá se přerušení; CPU musí čekat na dokončení každé I/O operace  I/O přenos s přerušením během provádění I/O operace může CPU pracovat; činnost CPU je přerušena po dokončení I/O operace  I/O přenos s přímým přístupem do paměti (Direct Memory Access, DMA) data se přenášejí po blocích přímo mezi I/O modulem a pamětí, bez účasti CPU; program pouze inicializuje DMA přenos (odkud, kam, kolik,...)

Programovaný I/O přenos  nevyžaduje od hardware, aby dokázal přerušit činnost CPU po dokončení I/O operace  dokud I/O modul nedokončí akci, musí program čekat  v době čekání na dokončení I/O operace zůstává procesor zaměstnán testováním stavu I/O modulu testuj stav přenos dokončen? zapiš data do paměti přečti slovo dat z I/O modulu přečti stav I/O modulu odešli příkaz ČTI do I/O modulu ANO NE CPU  paměť I/O  CPU chyba I/O  CPU CPU  I/O data připravena nepřipr. čti další slovo čekej data reaguj na chybu pokračuj

I/O přenos s přerušením  činnost procesoru je přerušena, jakmile je I/O modul připraven k další akci  odpadá zbytečné čekání, po dobu provádění I/O operace je procesor volný pro jinou činnost  pro přenos se spotřebuje část času procesoru (procedura pro obsluhu přerušení musí obsloužit přenos každého slova dat) testuj stav přenos dokončen? zapiš data do paměti přečti slovo dat z I/O modulu přečti stav I/O modulu odešli příkaz ČTI do I/O modulu ANO NENE CPU  paměť I/O  CPU chyba I/O  CPU CPU  I/O data připravena další slovo reaguj na chybu pokračuj CPU dělá něco jiného přerušení CPU dělá něco jiného přerušení

DMA přenos  procesor předá požadavek na přenos bloku dat DMA modulu může se jednat o samostatný modul nebo je DMA součástí normálního I/O modulu  DMA modul přenese blok dat přímo mezi I/O modulem a pamětí, bez účasti CPU částečně omezuje procesor pouze v přístupu k operační paměti  po dobu přenosu bloku je procesor zcela volný pro jiné použití  o dokončení přenosu bloku je procesor informován přerušením testuj stav přečti stav DMA modulu inicializuj DMA přenos chyba I/O  CPU CPU  DMA konec přenosu reaguj na chybu pokračuj CPU dělá něco jiného přerušení CPU dělá něco jiného přerušení

Princip multiprogramování  Jestliže program čte znak z periferního zařízení, musí po vydání příkazu čekat, dokud periferní zařízení neoznámí, je je znak připraven Při zápisu je situace podobná - před odesláním znaku musí program zkontrolovat, zda smí znak odeslat. Pokud zařízení nemůže znak přijmout, musí program čekat  Provádění programu procesorem lze po dokončení kterékoliv instrukce přerušit, uložit informace o aktuálním stavu procesu a začít provádět jiný program  Přerušení umožňuje efektivní využití procesoru, pokud je sdílen několika vzájemně si konkurujícími aktivními procesy (programy). V době, kdy jeden program čeká na dokončení I/O operace, lze CPU využít k provádění jiného programu

Princip sdílení času  technika umožňující interaktivní práci více uživatelů  typický interaktivně připojený uživatel potřebuje během 1 minuty pouze 2 sec času CPU Důsledek: i když bude cca 30 uživatelů sdílet jeden procesor, nezaznamenají uživatelé významné prodloužení reakční doby počítače  každý uživatel má pocit, že má počítač sám pro sebe ve skutečnosti se programy jednotlivých uživatelů v krátkých časových intervalech střídají Příklad: 16 uživatelů se střídá tak, že program každého uživatele je spuštěn jednou za 320ms na dobu 20ms každý uživatel má k dispozici pouze 1/16 času CPU program každého uživatele je spuštěn cca 3x za 1 sec

Princip sdílení času T1 T2 T4 T5 T6 T7 T8T9 T10 T11 T12 T13 T14 T15 T16 T3 16 x 20ms = 320ms