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



Podobné dokumenty
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

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

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

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

Témata profilové maturitní zkoušky

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

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

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

Vstupně - výstupní moduly

Témata profilové maturitní zkoušky

Systém řízení sběrnice

Pokročilé architektury počítačů

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

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

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Management procesu I Mgr. Josef Horálek

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

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

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

Systém adresace paměti

Logická organizace paměti Josef Horálek

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

PB002 Základy informačních technologií

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@ .cz

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

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

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

Základní pojmy informačních technologií

Z{kladní struktura počítače

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

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

Principy operačních systémů. Lekce 2: Správa paměti

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

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

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

C2115 Praktický úvod do superpočítání

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

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)

Z čeho se sběrnice skládá?

Počítač jako elektronické, Číslicové zařízení

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

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

Princip funkce počítače

Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám

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

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

Témata profilové maturitní zkoušky

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

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

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

Komunikace procesoru s okolím

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

Komunikace mikroprocesoru s okolím Josef Horálek

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

Aktivací DOWN módu je možné zkrátit dobu přenosu parametrů (pouze však za klidu měniče).

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

Základní typy struktur výpočetních systémů

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

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

Procesy a vlákna (Processes and Threads)

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

Uživatelský manuál A4000BDL

Výzva na podání nabídek na veřejnou zakázku malého rozsahu

Systém souborů (file system, FS)

Osobní počítač. Zpracoval: ict Aktualizace:

Principy činnosti sběrnic

Přerušovací systém 12.přednáška

Název školy: Základní škola a Mateřská škola Žalany

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

Stavba operačního systému

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

Informatika teorie. Vladimír Hradecký

Metody připojování periferií

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

Činnost počítače po zapnutí

OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ÚVOD DO TEORIE OPERAČNÍCH SYSTÉMŮ. doc. Dr. Ing.

Integrovaná střední škola, Sokolnice 496

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

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í

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

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

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

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

Architektura počítače

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

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

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

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:

Periferní operace využívající přímý přístup do paměti

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

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

3. Principy komunikace s perifériemi: V/V brány, programové řízení, přerušení, řešení priorit. Řadiče, DMA kanály. Popis činnosti DMA kanálu.

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

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

Principy komunikace s adaptéry periferních zařízení (PZ)

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

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

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

Transkript:

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

Vstupní a výstupní zařízení I/O zařízení, V/V zařízení Systém vstupních a výstupních zařízení je subsystémem operačního systému, který zprostředkovává komunikaci s okolím. Zajišťuje vstup a výstup dat do a z výpočetního systému. Zařízení Vstupní Výstupní Standardní Nestandadní klávesnice, myš, HDD, trackpoint, joystick, touchpad, plotter, scanner obrazovka, tiskárna, plotter, reproduktor, sluchátka měřící zařízení, čidlo digitálně řízený stroj Lekce 8: Ovladače periferií 2

Typy I/O zařízení Vyhrazená nemohou sloužit více procesům najednou typickým vyhrazeným zařízením je tiskárna každé vyhrazené zařízení musí mít správce, ten může využít jednu ze dvou technik: vyhrazování zařízení nebo virtualizaci Sdílená mohou svou kapacitu rozdělit na části, každá část může sloužit jinému procesu typickým příkladem je operační paměť nebo HDD není nutné jej vyhrazovat, musí ale mít správce, který se stará o jeho rozdělení a přidělování částí procesům Společná mohou sloužit libovolnému počtu procesů najednou např. hodiny reálného času, mikrofon nepotřebují správce nebo mají jen velmi triviální verzi správce Lekce 8: Ovladače periferií 3

Vyhrazená zařízení Každé vyhrazené zařízení musí mít svého správce, který může použít jednu ze dvou technik: Vyhrazení zařízení Správce povolí přístup jednomu procesu (většinou tomu, který s požadavkem přijde jako první) a ostatní přístup nepovolí, dokud první proces zařízení neuvolní Implementace pomocí semaforů Hrozí zablokování (jeden proces si vyhradí jedno zařízení a chce si vyhradit i druhé, druhý proces to udělá přesně naopak oba čekají až na věky věků) Virtualizace Podobný princip jako virtualizace paměti Zařízení je napevno přiděleno jednomu systémovému procesu (serveru), ten jej ovládá a nabízí ostatním procesů své služby typicky např. tiskový server. Server může nabízet své služby ostatním procesům najednou bez omezení Různé metody rozdělení výstupu např. tisková fronta (spooling), rozdělení obrazovky na několik oken apod. Lekce 8: Ovladače periferií 4

I/O subsystém Připojení I/O zařízení k OS přes jednotná HW rozhraní o paralelní o sériová Systém řízení a správy I/O v počítači subsystém I/O Základní složky I/O subsystému I/O port bod připojení zařízení k počítači (paralelní, sériový, ) Řadič (controller) obsluhuje port, sběrnici a I/O zařízení Sběrnice PCI (bus) propojuje řadiče s pamětí a CPU, paralelní přenos 66 MHz Registry a I/O paměť pro předávání řídících signálů a dat mezi řadiči a procesorem Ovladače I/O zařízení Systémové funkce (volání jádra) pro přístup k I/O zařízením PCI = Peripheral Component Interconnect Lekce 8: Ovladače periferií 5

I/O subsystém Lekce 8: Ovladače periferií 6

Ovladače I/O zařízení Ovládání I/O nelze nechat na procesech, ovladače zařízení musí být součástí operačního systému. Důvody: Zařízení je často ovládáno prostřednictvím serveru nebo je virtualizováno Aplikační programátoři musí mít k dispozici vyšší úroveň ovládání zařízení, než jaké je možno docílit přímým ovládáním Ovládání periferních zařízení vyžaduje přístup k potenciálně nebezpečným službám OS (např. mechanismus přerušení) špatné řízení periferních zařízení může vést ke zhroucení OS nebo technickému poškození periferie. Lekce 8: Ovladače periferií 7

Ovladače I/O zařízení Ovladač (driver) I/O zařízení programový modul rozhraní OS a HW vybavení počítače Ovladače generují řídící instrukce pro řadič zařízení - převádějí obecné instrukce do interního kódu určitého zařízení Přijímají a zpracovávají signály od řadiče zařízení (žádost o obsluhu, informace o ukončení operace, informace o chybě při provádění operace) - vyvolání žádosti o přerušení od zařízení Lekce 8: Ovladače periferií 8

Lekce 8: Ovladače periferií 9

Klasické ovladače Požadavky na klasický ovladač I/O zařízení: Ovladač musí nabízet služby dostatečně silné na to, aby bylo možno plně využít všech možností zařízení. Ovladače by si zároveň měly být v maximální možné míře navzájem podobné, především z hlediska rozhraní mezi ovladačem a procesem, který jej využívá (aby bylo možno psát univerzální programy a ty pak následně propojit s konkrétním I/O zařízením). Lekce 8: Ovladače periferií 10

Klasické ovladače Je nutno vytvořit takovou skupinu služeb, která se bude hodit pro přístup k jakémukoli I/O zařízení + aspoň jednu službu, která zpřístupní neobvyklé a výjimečné vlastnosti konkrétního zařízení Lekce 8: Ovladače periferií 11

Příklad služeb (OS XINU): INIT inicializace zařízení Obvykle bez parametrů Vrací stav zařízení (podařilo se inicializovat nebo ne) OPEN u některých zařízení je nutno před jejich inicializací je zapnout (např. měřící zařízení) nebo navázat spojení (komunikační zařízení) Tato služba může rovněž sloužit k virtualizaci zařízení (např. ovladač disku) Parametr: jméno pořadovaného virtuálního zařízení nebo kanálu Výstup: nové číslo zařízení, které bude program nadále používat CLOSE uzavření kanálu nebo zrušení virtuálního zařízení Parametr: číslo zařízení Lekce 8: Ovladače periferií 12

Příklad služeb (OS XINU): Služby pro výměnu dat mezi zařízením a programem: READ, WRITE přenos celých bloků dat GETC, PUTC přenos dat po jednotlivých bytech SEEK umožňuje znovu přečíst data nebo některou skupinu dat přeskočit. Služba sděluji ovladači relativní pozici dat, která chce program číst, v rámci celého datového bloku CNTL služba pro speciální případy, je nutno ji definovat pro každé konkrétní I/O zařízení Lekce 8: Ovladače periferií 13

Princip komunikace s typickým zařízením: Ovladač na základě požadavku nějakého procesu zapíše data na vhodné místo v paměti a následně zařízení aktivuje (tj. předá mu příkaz Odešli data z dané adresy ) Zařízení data odešle a dá ovladači na vědomí, že může připravit další data Tento postup se opakuje, dokud není požadavek procesu zcela splněn (nebo pokud nedojde k chybě, která jeho splnění znemožní) Jedná se o komunikaci typu producent/konzument Řešení pomocí semaforů Lekce 8: Ovladače periferií 14

Horní a dolní polovina ovladače Rozdělení ovladače na 2 části: horní polovina je volána procesy zajišťuje předávání údajů do sdílení paměti pro výstup a odebírání údajů ze sdílené paměti pro vstup nekomunikuje přímo s I/O zařízením s výjimkou jeho aktivace na začátku výstupu dolní polovina zajišťuje synchronizaci mezi zařízením a horní polovinou ovladače Lekce 8: Ovladače periferií 15

Horní a dolní polovina ovladače Lekce 8: Ovladače periferií 16

Horní polovina ovladače Uživatelské programy nemohou volat přímo funkce, které tvoří horní polovinu ovladačů zařízení (bylo by nepraktické, bylo by nutno vždy překládat program pro každé nové zařízení) Operační systém obsahuje tabulku zařízení, která mapuje jméno nebo identifikační číslo zařízení na jednotlivé obslužné rutiny Tabulka může být: Dynamická vytváří se při startu systému nebo při zavedení resp. odstranění jednotlivých ovladačů Pevná musí se vždy znovu vytvořit při změně konfigurace počítače Lekce 8: Ovladače periferií 17

Tabulka deskriptor zařízení Charakteristika zařízení je obsažena v tabulce deskriptor zařízení v datových strukturách jádra - obsahuje Identifikátor zařízení unikátní v rámci výpočetního systému Instrukce, kterou zařízení provádí Stav zařízení Identifikátor procesu, který se zařízením pracuje. Lekce 8: Ovladače periferií 18

Dolní polovina ovladače Dolní poloviny ovladačů jsou obslužné rutiny přerušení Problémy: Instalace procedur psaných ve vyšším jazyce jako obslužných rutin přerušení Zamezení vnořeného volání obslužné rutiny přerušení Lekce 8: Ovladače periferií 19

Ovladač obrazovky Nepotřebuje dolní polovinu (není třeba čekat na žádné zařízení) Horní polovina ovladače zapisuje potřebná data do videopaměti (přímo nebo pomocí blitteru specielní koprocesor pro přenos bloků dat na obrazovku) Horní polovina ovladače musí zajistit virtualizaci obrazovky pro více procesů: Každý proces může mít vlastní obrazovku (zobrazení té které obrazovky pak volí uživatel Rozdělení obrazovky na jednotlivá okna, každý proces může využívat vlastní okno (poprvé zavedl Apple, dnes používají všechny moderní OS) Někdy se používá i kombinace obou způsobů Ovladač musí počítat s možností zapojení jiného výstupního zařízení (např. s jiným rozlišením) Lekce 8: Ovladače periferií 20

Ovladač klávesnice Obsluhuje přiřazení kódů jednotlivým klávesám Zajišťují funkci mrtvých kláves (kláves, které mění význam následující klávesy např. čárka nebo háček). Ovladač by měl ve své čisté podobě pouze splňovat první úkol, interpretace akcentů by měla být součástí vyššího programového vybavení (spojené s platným kódováním znaků) Lekce 8: Ovladače periferií 21

Ovladač tiskárny Tiskárna stále patří k nejvíce využívaným výstupním periferiím Vyplatí se virtualizovat i u nemultitaskingových operačních systémů Virtualizace musí zajistit vysokou rychlost tisku Poměrně složitý ovladač, aby si vynutil v rámci OS vlastní multitasking, kdy se bude střídat o strojový čas s aktuálně běžící aplikací, aby mohl na pozadí tisknout Lekce 8: Ovladače periferií 22

Ovladač disku Klíčový pro OS jeho snížená výkonnost se promítne ve sníženém výkonu celého OS Rozdíly oproti klasickému obecnému ovladači: Disk nepředává data po jednotlivých bytech, ale po sektorech (cca 512 B) používá se k tomu DMA dolní polovina ovladače musí načítat data po celých sektorech, horní polovina musí zajistit splnění požadavků, jejichž velikost není dělitelná velikostí sektoru Disk je zařízení s přímým přístupem (nikoli sekvenční), ovladač musí specifikovat adresu sektoru na disku Disk je většinou sdíleným zařízením, ovladač disku musí udržovat frontu požadavků, které postupně vyřizuje. OS systém také v některých případech třídí požadavky ve frontě tak, aby čtení/zápis na disku bylo co nejefektivnější (s minimálními přesuny čtecí hlavy) Lekce 8: Ovladače periferií 23

Ovladač a bezpečnost Systém ovladačů zařízení je jednou z nejrizikovějších částí OS ovladače musí mít přístup k zařízením na nejnižší úrovni, tj. část kódu ovladače musí pracovat v systémovém režimu práce procesoru (kdy je vše dovoleno ). Rizika: Požadavek na efektivitu a rychlost vs. zabezpečení zabezpečený systém je vždy o něco pomalejší než když je zabezpečení potlačeno Komplikovanost ovladačů systém zabezpečení musí zajistit vzájemnou spolupráci několika zařízení (např. řadič disku, samotný disk, procesor, paměť) Lekce 8: Ovladače periferií 24

Ovladač a bezpečnost Nebezpečné příkazy některé příkazy mohou vést k poškození nebo destrukci I/O zařízení Ovladač musí takovým příkazům zamezit nebo je vhodně modifikovat Příklad: rezonance čtecích hlav disků Ošetření tzv. callback rutin funkce připravené uživatelem, které jsou volány ovladačem při případné aktivitě zařízení Lekce 8: Ovladače periferií 25

Ovladač a bezpečnost Další bezpečnostní riziko = přístup k operační paměti Ovladač v systémovém režimu procesoru má přístup k celé operační paměti Uživatelské rutiny pro vstup předávají ovladači adresy bufferů, kam má uložit načtená data Ovladače musí zabezpečit, aby předávané buffery byly na 100% přiřazeny k procesu, který službu vyvolal Při virtualizaci paměti musí ovladač logické adresy bufferu přeložit na fyzickou Ovladač musí úzce spolupracovat se správcem paměti, aby stránka odpovídající bufferu nebyla přidělena jinému procesu, dokud není daný proces ukončen. Lekce 8: Ovladače periferií 26

Ovladač a bezpečnost Další riziko = změna média Mezi dvěma zápisy na médium může dojít k přerušení procesu a mezitím k výměně média (např. flashdrivu) OS musí mít možnost po obnovení procesu (před dalším zápisem dat téhož procesu) ověřit, že médium nebylo vyměněno Buď kontrolou sériového čísla média nelze u každého typu média Nebo kontrolou obsahu média spolehlivý test ale časově náročný Lekce 8: Ovladače periferií 27

Ovladač a bezpečnost Vyhrocením výše popsaných problémů může dojít až k výpadku systému. Bezpečný systém znamená, že by k výpadku nemělo dojít, kdy jsou data na jakémkoli médiu nekonzistentní Proti výpadku je poměrně náchylný OS Unix (hodně dat zůstává v operační paměti a na disk se zapisují až v případě potřeby) 3 způsoby obrany: Vytvářet ovladače tak, aby data na kterémkoli zařízení byla v nekonzistentním stavu co možná nejkratší dobu Existence záložního napájecího zdroje, který se spustí při výpadku proudu, vyvolá přerušení a uvede všechna data do konzistentního stavu při startu systému pak systém detekuje k čemu došlo a obnoví původní stav všech údajů Skutečně bezpečný systém preventivně vytváří a ukládá kopie svého stavu (v určitých časových intervalech nebo před významnými změnami) náročné na kapacitu vnější paměti ale nejbezpečnější (používá se např. u databázových serverů) Lekce 8: Ovladače periferií 28

Servery Jako server může být chápán proces vyhrazený pro provoz nějakého I/O zařízení Server sám využívá ovladač zařízení Ostatní procesy mu své požadavky předávají prostřednictvím zpráv Výhoda: server může čekat na ukončení přenosu dat, jeho klienti (ostatní procesy) mohou běžet bez přerušení dále Lekce 8: Ovladače periferií 29