Operační systémy 6. Hardwarové prostředky

Slides:



Advertisements
Podobné prezentace
POČÍTAČ.
Advertisements

Vytvořil: Petrásek Jan
Komunikace periférii.
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
SOFTWARE operační systémy
Martin Holý.  Druhá světová válka  První generace (1945 – 1951)  Elektronky, relé = drahé, pomalé  Druhá generace ( )  Tranzistory = zmenšování.
ZÁKLADNÍ DESKA.
INFORMATIKA - PC 6. Ročník Zpracoval: Mgr. Tomáš Rajnoha vyučující informatiky a komunikační technologie 1.
Operační systém Adam Greguš, 4.A.
HARDWARE PC Uvnitř počítače.
Informatika I 7.a 8. hodina 4. týden.
Štěpán Lískovec, 4.A.  =základní programové vybavení počítače (tj.software)  hlavní úkol:  A, zajistit uživateli možnost ovládat PC  B, vytvořit pro.
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.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Paměťové obvody a vývoj mikroprocesoru
Operační systémy.
Počítač, jeho komponenty a periferní zařízení
Referát č. 3 Počítač, jeho komponenty a periferní zařízení (principy fungování, digitální záznam informací, propojení počítače s dalšími (digitálními)
Operační systém (OS) ICT Informační a komunikační technologie.
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,
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 Přerušení č.7. Přerušení Téma Přerušení TEP Předmět TEP Juránek Leoš Ing. Autor Juránek Leoš Ing. TEP.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Operační systémy Mgr. Ludmila Faltýnková EU OPVK ICT2-4/Inf12 Základní škola Olomouc, Heyrovského 33 Určeno pouze pro výuku Žádná část ani celek nesmí.
OPERAČNÍ SYSTÉMY (OS): Programy, které obsluhují základní rutiny počítače a bez nichž by žádný další program nemohl na počítači běžet. Konkrétní programy.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Virtualizace Monika Broukalová Pavel Kolář. Co je to virtualizace? Jako virtualizace se v prostředí PC označují postupy a techniky, které umožňují k dostupným.
Architektura počítače
Vnitřní (operační paměť)
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.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Virtualizace PC.
OPERAČNÍ SYSTÉMY.
Základní pojmy v informatice Bohumil Bareš. Základní pojmy Data – soubory, jiný výraz pro „informace“, jsou to údaje, které vypovídají o světě, mohou.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Počítačová bezpečnost Cvičení 1: Zabezpečení startu PC © Milan Keršláger
NÁZEV ŠKOLY:Základní škola a mateřská škola Bohdalov ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ ŠABLONA:III/2 TÉMATICKÁ OBLAST:Informační a komunikační technologie.
Technika počítačů 3. Mikroprocesory © Milan Keršlágerhttp:// Obsah: ●
Operační systémy Grafický subsystém © Milan Keršláger Obsah:
Technologie počítačů 1. Stavba počítače © Milan Keršláger
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.
VIRTUÁLNÍ PAMĚŤ EP1. Kryštof Supek. Umožňuje předložit běžícímu procesu adresní prostor paměti, který je větší, než je fyzicky připojená paměť RAM Procesor.
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů Zpracování a využití informací pro 6. ročník Název materiálu VY_32_INOVACE_01_Základní pojmy,
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.
Počítačová bezpečnost Cvičení 1: Start počítače IBM PC © Milan Keršláger
ZÁKLADNÍ ŠKOLA SLOVAN, KROMĚŘÍŽ, PŘÍSPĚVKOVÁ ORGANIZACE ZEYEROVA 3354, KROMĚŘÍŽ projekt v rámci vzdělávacího programu VZDĚLÁNÍ PRO KONKURENCESCHOPNOST.
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
PC základní jednotka.
Vypracoval / Roman Málek
Počítačové systémy 4. Sběrnice
Programování mikropočítačů Platforma Arduino
Služby Windows 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: 
Operační systémy Hardwarové prostředky využívané počítačem
OPERAČNÍ SYSTÉMY Číslo projektu CZ.1.07/1.5.00/ Název školy
Technologie počítačů 1. Stavba počítače
Vlastnosti souborů Jaroslava Černá.
Operační systémy - úvod
Operační systémy 6. Hardwarové prostředky
1. ročník oboru Mechanik opravář motorových vozidel
Výukový materiál zpracován v rámci projektu
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Operační systémy 9. Spolupráce mezi procesy
Správa paměti.
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: 
Informační a komunikační technologie 5. ročník
Operační systémy.
Přepínání procesů 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: 
Paměť.
Transkript prezentace:

Operační systémy 6. Hardwarové prostředky Obsah: typy přerušení hardwarové registry, I/O privilegovaný režim, systémové volání časovač, virtualizace, endianita DDC, I2C, SMBus © Milan Keršláger http://www.pslib.cz/ke/slajdy 8.12.2011 http://creativecommons.org/licenses/by-nc-nd/3.0/

Komunikace OS s HW počítač potřebuje vstupy a výstupy vstup dat a prezentace výsledků zajišťují vstupně-výstupní zařízení (I/O – input/output) softwarová obsluha ovladač (driver) uvnitř jádra OS řešení komunikace se zařízením přerušení vstupní a výstupní řadiče izolované registry paměťově mapované registry

Přerušení systém, jak zařízení získá pozornost CPU výhodou je asynchronnost vyvolán obslužný program → obsluha přerušení dnes i k jiným účelům (ladění, obsluha chyb, ...) obsluha pomocí řadiče přerušení různá zařízení mají odlišená přerušení lze implementovat priority řadič sdělí procesoru číslo přerušení podle čísla je vybrána příslušná obsluha přerušení obsluha typicky uvnitř ovladače příslušného zařízení

Obsluha přerušení ISR – Interrupt Service Routine obsluha je identická vyvolání podprogramu přerušení činnosti běžícího programu po dokončení právě prováděné strojové instrukce uložení stavu procesoru vykonání obsluhy přerušení obnovení stavu procesoru obnovení běhu přerušeného programu přerušený program nic nepozná až na prodlevu mezi dvěma strojovými instrukcemi

Tabulka přerušení umístěna v paměti v prostoru jádra OS → chráněna proti změně obsahuje adresy jednotlivých ISR tabulku lze za běhu OS modifikovat (tzv. hook) dodatečné kontroly (SELinux) rezidentní programy (DOS) antivirové programy (Windows) problém s rootkity

Ovladač slouží hlavně jako obsluha přerušení (ISR) implementuje API pro jádro OS různé funkce dle typu zařízení běží v režimu jádra (absolutní oprávnění) musí se vyrovnat s chybou externího HW zařízení vypisování ladících informací, chyb atp. detekční a inicializační část uplatňuje se při startu systému může být po použití odstraněna neplatí pro hot-plug zařízení

Typy přerušení vnější přerušení původní typ přerušení (z vnějšku procesoru) od vstupně/výstupních zařízení vnitřní přerušení vyvolává je procesor → signalizace chyb výpadek stránky, porušení ochrany paměti, neplatná instrukce, dělení nulou, privilegovaná instrukce, ... programové přerušení vyvolává sám program → strojová instrukce typicky systémová volání jádra

Vnější přerušení přichází z vnějšku procesoru původně žádost zařízení o pozornost procesoru akceptováno po dokončení strojové instrukce superskalární CPU vyvoláváno asynchronně nezávisle na běhu právě prováděného kódu myš, klávesnice, síťová karta, ... maskování přerušení ignorování či dočasné odložení vyvolání přerušení

Vnitřní přerušení vzniká uvnitř procesoru elegantní metoda řešení problému s instrukcí obsluha přerušení uvnitř jádra operačního systému, její činnost: přeruší vykonávání kódu (procesu) uživateli vypíše chybové hlášení dosadí náhradní výsledek (virtualizace) provede opravu a zopakuje instrukci při výpadku stránky

Programové přerušení je to speciální strojová instrukce (INT) v zásadě vykonání podprogramu (CALL) může však provést doplňující akce např. vstup do privilegovaného stavu využíváno jako vstupní body pro volání jádra CALL do prostoru jádra nelze, ale INT ano lze ochránit všechny vstupní body (podle tabulky) dnes na ně mapována i ostatní přerušení vnější a vnitřní přerušení → vyhrazená programová

Registry součást řadičů pro I/O zařízení může jich být i několik pro každé zařízení nemohou kolidovat (každé zařízení má svoje) rozlišení adresou (tj. číslem) nastavuje se v zařízení, musí ji vědět i ovladač dva typy: izolované paměťově mapované

Izolované registry (1) klasická komunikace s I/O zařízeními strojové instrukce IN a OUT využívány dva režimy adresní sběrnice adresace místa v operační paměti (typicky RAM) běžné čtení nebo zápis do paměti adresace izolovaného registru I/O zařízení změnu režimu signalizuje řídící sběrnice využití pro komunikace CPU s HW zařízeními přesun dat je realizován po datové sběrnici z CPU do zařízení → strojová instrukce OUT ze zařízení do CPU → strojová instrukce IN

Izolované registry (2) registr může být určen pro: čtení zápis čtení i zápis IN/OUT má jako parametr adresu zařízení data přesouvána do/z akumulátoru (registr A) musí se čekat na zařízení → extrémně pomalé v zařízení i několik registrů sběrnice ISA: adresa volena jumpery sběrnice PCI: automaticky konfigurováno (PnP)

Komunikace s I/O zařízením systém komunikace definuje výrobce hardware popis je součástí technické dokumentace dokumentace někdy není k dispozici výrobce dodá jen (funkční) ovladač pro Linux pak nutné reverzní inženýrství standardní postup: přečteme stav zařízení (IN) počkáme, až je připraveno přijmout instrukci zapíšeme požadavek (OUT) zkontrolujeme úspěch operace

Příklad: pevný disk program chce zapsat data na disk data jsou připravena v RAM dále uvedené kroky provádí ovladač disku zjistíme stav pevného disku (IN) disk informuje o tom, že má prázdný buffer zapíšeme data do bufferu na disku (OUT) ve smyčce zaplníme buffer (blok 512 bajtů) úspěch operace zkontrolujeme (IN) přikážeme disku zapsat obsah buffer (OUT) zkontrolujeme úspěch operace (IN)

Využití přerušení přerušení podporuje asynchronní operace pevný disk: zápis trvá dlouho, muselo by se na jeho dokončení čekat disku sdělen požadavek na zápis obsahu jeho bufferu poté počítač vykonává další činnost když je zápis dokončen, disk vyvolá vnější přerušení ISR v ovladači může uložit disku další úkol grafická karta GPU provedl požadovaný úkol, očekává další instrukce USB port přijímající buffer v portu je plný nebo odchozí je prázdný

Paměťově mapované registry paměť je přístupná pro CPU i zařízení typicky paměť přímo na zařízení síťová karta má několik kB až MB vlastní paměti grafická karta může mít sdílenou (vyhrazena část RAM) systém komunikace zařízení zapisuje do paměti (RAM) CPU z ní může číst běžné instrukce pro čtení/zápis do paměti řízení komunikace např. izolovanými registry výhodou je rychlost, ale dražší

Odchylky od Von Neumanna kvůli snížení režie a I/O zátěže počítače DMA externí programovatelný řadič → ISA přenos dat mezi RAM a zařízením bez CPU BusMaster náhrada DMA pro sběrnici PCI přenosy po sběrnici řídí samo zařízení pooling obsluha zařízení není řízena přerušením

DMA

BusMaster

Pooling snaha o zvýšení výkonu počítače režie obsluhy přerušení je velká je-li přerušení příliš časté, počítač je přetížen nezbývá čas na běžnou činnost obsluhu zařízení by šlo lépe naplánovat: v I/O zařízení je vypnuta signalizace přerušením jádro periodicky vyvolává obsluhu zařízení ovladač tak zařízení periodicky „olizuje“ jsou-li data ke zpracování, zařízení je obslouženo když nejsou, pokračuje se dále výsledkem je snížení režie při velké zátěži ovladač dle zátěže přepíná mezi přerušením a poolingem

Privilegovaný režim (1) některé instrukce jsou nebezpečné mohou způsobit „pád“ či „zamrznutí“ systému nebo ohrozit stabilitu či bezpečnost počítače je omylem (nebo záměrně) přepsán úsek paměti přestane fungovat důležitý program nebo celé jádro hardware počítače přestane reagovat na povely protože je mu vydán nevhodný příkaz jsou to tyto skupiny strojových instrukcí: všechny vstupně-výstupní instrukce (IN/OUT) instrukce pro řízení procesoru nastavení zákazu přerušení, nastavení ochrany paměti nastavení mapování paměti, režimu CPU (16/32/64bit), atd...

Privilegovaný režim (2) procesor má dva stavy (nebo více) privilegovaný režim v tomto stavu běží jádro operačního systému lze provést jakoukoliv strojovou instrukci při návratu do procesu je aktivován neprivilegovaný režim neprivilegovaný režim v tomto stavu běží všechny uživatelské programy použití privilegované instrukce → vnitřní přerušení obsluha narušení privilegovaného stavu je v jádře systému proces, který se o provedení pokusil, je jádrem ukončen privilegované operace prováděny jako služby jádra systémové volání → použití instrukce programového přerušení

Systémové volání služba nabízená jádrem systému proces nemůže provést privilegovanou operaci při provádění procesu je CPU v neprivilegovaném stavu proces musí o provedení priv. oper. požádat jádro jediná možnost je instrukce programového přerušení všechna programová přerušení mají obsluhu v jádře systému jádro je vykonáváno v privilegovaného stavu jádro nejprve zkontroluje oprávnění volajícího procesu po schválení je privilegovaná operace provedena například čtení nebo zápis do souboru na disku, zápis na port, ovládání GPU (pro renderování obrazu), atd. po návratu do procesu je CPU v neprivilegovaném stavu

Intel a kompatibilní CPU podpora privilegovaného stavu od i386 tj. až v 32bitovém režimu 16bitový režim privilegovaný stav nepodporuje DOS nemůže zajistit absolutní kontrolu nad počítačem každý program má nad počítačem absolutní kontrolu Windows pro DOS občas „zamrznou“ (úloha se zacyklí) jádro nedostane CPU → bez obsluhy myši, klávesnice, ... 4 úrovně: ring0 až ring3 Linux i Windows využívají pouze dva stavy OS/2 používá tři stavy další stav může být využit například pro ovladače ovladač komunikuje s HW, ale nemůže přenastavit CPU

Časovač využíván pro odložené vykonání kódu naprogramování času, za který vyvolá přerušení obsluha uvnitř jádra operačního systému typicky jeden (nebo omezený počet) programů je ale více vytvoříme frontu událostí časovač nastaven na 1. událost ve frontě obsluha nejprve naprogramuje na další událost poté vyvolání akce zanesené do časovače context switch (OS), timeout (obsluha sítě v programu)...

DDC Display Data Channel (1994) součást VESA standardu monitor může sdělit důležité informace v monitoru uloženy typicky v EEPROM paměti blok 128 bajtů dat s možností prodloužení rozlišení, barevná hloubka, počet bodů na palec (DPI)... přenos pomocí sběrnice I2C jsou novější verze 32 KiB dat

I2C

SMBus

Emulace umožňuje běh programů na jiné platformě jiná softwarová platforma běh DOS aplikace unitř prostředí Windows tzv. NTVDM a cmd.exe běh aplikace z Windows v prostředí Linuxu Wine (Wine Is Not Emulator → pouze impl. Win32/64 API) jiná hardwarová platforma běh aplikací pro jiný hardware SDK s emulátorem Android zařízení emulace mikročipu, hry pro herní konzole na PC ve Windows, … pozor na záměnu se simulací simulace povodně, strategické hry, atomový výbuch...

Virtualizace vytváření zdánlivých neexistujících zařízení oblíbena je virtualizace celého počítače běh systému uvnitř odlišného prostředí Linux uvnitř Microsoft Windows (nebo naopak) VirtualBox, Hyper-V, VMware, Xen, KVM, ... virtualizovat lze i jednotlivá HW zařízení pro potřeby simulace (teprve připravovaný CPU) skrytí detailů ovládání konkrétního zařízení například skrytá rendundance zařízení pole RAID, úložný cluster, síťový souborový systém... různé typy virtualizace

Základní pojmy virtualizace hostitelský systém (hostitel, anglicky host) jsou z něj ovládány virtualizované systémy např. Microsoft Windows s nainstalovaným VirtualBoxem pomocí VirtualBoxu lze spustit další Windows, Linux apod. tyto další systémy jsou tzv. hostované systémy hostovaný systém (host, anglicky guest) systém běžící ve virtuálním stroji je řízen z hostitelského systému nebo hypervizoru např. Linux běžící uvnitř okna VirtualBoxu

Hypervizor Virtual Machine Manager (VMM) nejvyšší arbitr pro řízení přístupu k hardware spravuje virtualizované systémy má nejvyšší oprávnění v přístupu k hardware řeší střídání celých virtualizovaných systémů na CPU nativní hypervizor hypervizor je samostatný řídící systém jsou mu podřízeny všechny systémy v počítači hostovaný hypervizor hypervizor je součástí hostitelského systému může být jednodušší (využívá ovladače běžného OS)

Typy virtualizace na úrovni operačního systému stejné jádro zpřístupňuje různé (verze) systémů pomocí chroot() v Linuxu (jiné verze knihoven a programů) na úrovni aplikace Java program běží na virtuálním JVM Java Virtual Machine, přenositelný bytecode plná (hardwarová) virtualizace na PC pomocí virtualizační podpory v CPU Vanderbilt (Intel), Pacifica (AMD) → virtualizuje se všechno umožňuje virtualizaci nezměněného systému (Windows) paravirtualizace virtualizují se jen některá zařízení rychlejší, ale jádro virtualizovaného systému musí být upraveno

Hardwarová virtualizace podpora virtualizace je součástí CPU Pacifica (AMD), Vanderbilt (Intel) jsou to doplňující strojové instrukce umožňují změnit výsledek libovolné strojové instrukce virtualizovaný systém může být beze změn virtualizovaný systém obsahuje normální ovladače ovladač používá instrukce přímého přístupu k hardware hypervizor nebo hlavní OS dosazuje výsledky původní i386 umožňovala softwarovou virtualizaci plné emulace všech zařízení → výrazně pomalejší nešlo proto rozumně virtualizovat Microsoft Windows problém vyřešilo výše zmíněné rozšíření schopností CPU