PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ

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

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

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

Logická organizace paměti Josef Horálek

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

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)

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

Systém adresace paměti

Procesy a vlákna (Processes and Threads)

Komunikace procesoru s okolím

Pokročilé architektury počítačů

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

Management procesu I Mgr. Josef Horálek

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

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

Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor

Architektura počítače

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

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

2 Hardware a operační systémy

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

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

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

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic

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

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

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

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

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

Metody připojování periferií

Přidělování CPU Mgr. Josef Horálek

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

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

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

Činnost počítače po zapnutí

Vstupně - výstupní moduly

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

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

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

Struktura a architektura počítačů (BI-SAP) 10

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

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

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

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

AGP - Accelerated Graphics Port

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

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

Petr Holášek / 1 of 21

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

PB002 Základy informačních technologií

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

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.

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

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

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

Vstup-výstup Input-Output Přehled a obsluha

Příručka k programu Computer Setup (F10) modely dx7500 Kancelářský počítač HP Compaq

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

ZOS OPAKOVÁNÍ. L. Pešička

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

Algoritmizace a programování

Von Neumannovo schéma

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

Pokročilé architektury počítačů

Témata profilové maturitní zkoušky

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

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

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

Periferní operace využívající přerušení

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

A0M38SPP - Signálové procesory v praxi - přednáška 10 2

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

PROCESOR. Typy procesorů

Architektury počítačů a procesorů

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í

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

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

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

a co je operační systém?

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í

IMTEE Přednáška č. 8. interrupt vector table CPU při vzniku přerušení skáče na pevně dané místo v paměti (obvykle začátek CODE seg.

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

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

Lekce 7 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Disková pole (RAID) 1

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

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

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

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

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

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

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Periferní operace využívající přerušení

Principy činnosti sběrnic

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

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

Transkript:

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Něco málo o hardwaru 02 1/30

HISTORIE: DÁVKOVÉ SYSTÉMY První počítače obrovské stroje zabírající patra budov velice drahé I/O zařízení: děrné štítky, děrná páska, magnetická páska job: program + data + řídící informace řídící informace návod co má počítač s programem a daty dělat typicky kompilace + sestavení (linkování knihoven) + běh programu + dump výsledku (příp. také paměti a registrů) Vznikají JCL Job Control Language jeden uživatel: programátor a operátor v jedné osobě OS Neustále v paměti Úkolem je pouze předání řízení z jednoho jobu na druhý využití počítače nebylo efektivní 2/30

HISTORIE: DÁVKOVÉ SYSTÉMY (2) Později Počítače se zmenšují (střediskové počítače) Oddělení role operátora a programátora Operátoři úlohy (joby) přeskládají do dávek, tak aby se seskupily úlohy podobného typu např. zavede se překladač a ten se využije pro přeložení hned několika programů za sebou Přesto stále nebyly drahé počítače efektivně využity I/O operace byly a stále jsou řádově pomalejší než procesor (CPU) vždy, když program čeká na vyřízení I/O požadavku je CPU nevyužit řešení: multiprogramování 3/30

HISTORIE: MULTIPROGRAMOVÁNÍ Multiprogramování zvyšuje využití CPU přidělování CPU jednotlivým úlohám tak, aby CPU byl využit (téměř) vždy V paměti je zároveň několik úloh současně ne však nutně všechny plánování úloh (job scheduling) které úlohy umístit do paměti musíme zajistit ochranu úloh navzájem CPU je přidělen úloze, jakmile úloha požádá o I/O operaci, je úloha pozastavena a CPU dostává jiná úloha pro výběr úlohy, která dostane CPU musíme mít CPU plánovací algoritmus jakmile je I/O operace dokončena, je úloha opět přemístěna do fronty úloh připravených ke spuštění CPU je vytížen, dokud mám úlohy, které nečekají na dokončení I/O operací dokud úloha nepožádá o I/O operaci, tak má CPU k dispozici Jde tedy pouze o efektivnost využití CPU 4/30

HISTORIE: OBSAZENÍ PAMĚTI V paměti vždy jen jedna úloha V paměti několik úloh, běží jen jedna z nich 0 operating system operating system job 1 job 2 user program area job 3 job 4 512K 5/30

HISTORIE: MULTITASKING Time-sharing neboli multitasking Logické rozšíření multiprogramování, kdy úloha (dočasně) ztrácí CPU nejen požadavkem I/O operace, ale také vypršením časového limitu CPU je multiplexován, ve skutečnosti vždy běží jen jedna úloha, mezi těmito úlohami se však CPU přepíná, takže uživatelé získají dojem, že úlohy jsou zpracovávány paralelně 6/30

HISTORIE: MULTITASKING (2) Multitaskingový systém umožňuje řadě uživatelů počítačový systém sdílet Uživatelé mají dojem, že počítačový systém je vyhrazen jen pro ně Oproti pouhému multiprogramování snižuje dobu odezvy (response time) interaktivních procesů Multitaskingové systémy jsou již značně komplexní správa a ochrana paměti, virtuální paměť synchronizace a komunikace procesů CPU plánovací algoritmy, souborové systémy 7/30

ARCHITEKTURA POČÍTAČOVÉHO SYSTÉMU disks mouse keyboard printer monitor CPU disk controller USB controller graphics adapter memory 8/30

ZÁKLADNÍ VLASTNOSTI POČÍTAČOVÉHO SYSTÉMU I/O zařízení typicky mají vlastní vyrovnávací paměť (buffer) CPU a I/O zařízení mohou pracovat paralelně např. řadič disku může ukládat data na disk a CPU může něco počítat pokud CPU a I/O zařízení pracují paralelně, měli by se nějak synchronizovat neustálé zjišťování stavu interrupt 9/30

PROCESOR BEZ PŘERUŠENÍ Neustálý cyklus loop získej další instrukci proveď instrukci end loop Pokud chci provést I/O operaci a dozvědět se, že již byla dokončena, musím se periodicky ptát I/O zařízení CPU není v těchto chvílích efektivně využit nebo je programování extrémně náročné 10/30

PROCESOR S PŘERUŠENÍM Základní cyklus je obohacen o kontrolu příznaku přerušení loop získej další instrukci proveď instrukci je-li nastaven příznak přerušení (a přerušení je povoleno), ulož adresu právě prováděného kódu a začni provádět kód obslužné rutiny endloop 11/30

PŘERUŠENÍ (2) Přerušení je signál od I/O zařízení, že se stalo něco, co by OS měl zpracovat Přerušení přichází asynchronně OS nemusí aktivně čekat na událost (efektivní využití CPU) při výskytu události se automaticky volá patřičná obslužná rutina umístění obslužných rutin pro jednotlivé typy událostí je typicky dáno tabulkou (v paměti) adres rutin (tzv. vektor přerušení) Aby nedocházelo ke ztrátě přerušení, je při zpracování přerušení další přerušení zakázáno (maskováno) aby se nepřerušovala rutina obsluhující přerušení časově náročnější obslužné rutiny však mohou další přerušení explicitně povolit 12/30

PŘERUŠENÍ (3) Operační systém je řízený přerušeními (interrupt driven) CPU zpracovává uživatelský proces, při příchodu přerušení je spuštěna obslužná rutina OS návratovou adresu ukládá procesor hodnoty použitých registrů ukládá ovládací rutina Přerušení nemusí být generováno jen HW, přerušení je možné vyvolat i softwarovými prostředky (tzv. trap jde vlastně o synchronní přerušení) chyby dělení nulou speciální instrukce (např. INT typicky slouží k systémovému volání) 13/30

PŘERUŠENÍ (4) CPU user process executing I/O interrupt processing I/O device idle transfering I/O request transfer done I/O request transfer done 14/30

PŘÍKLAD: TABULKA PŘERUŠENÍ INTEL8086&MS-DOS Interrupts Services Pointers INT 00H Division by 0 INT 10H Video services INT 1dH Video parms INT 01H Single-step INT 11H Equipment list INT 1eH Diskette parms INT 02H Non-Maskable INT 12H Usable Mem Size INT 1fH Graphics chars INT 03H Breakpoint INT 13H Disk I/O INT 04H Overflow INT 14H Serial Port I/O INT 05H Print Screen INT 15H AT Services INT 41H hard disk 0 parms INT 06H (reserved) INT 16H Keyboard I/O INT 46H hard disk 1 parms INT 07H (reserved) INT 17H Printer I/O INT 08H Timer INT 18H ROM-BASIC INT 43H EGA graphix chars INT 09H Keyboard INT 19H Bootstrap INT 0aH-0dH (hw ints) INT 1aH Time I/O INT 4aH user alarm addr INT 0eH Diskette INT 1bH Keyboard Break INT 50H CMOS timer int INT 0fH (hdwr int) INT 1cH User timer Int INT 20H-2fH DOS Interrupts INT 33H Mouse Support INT 67H Expanded Memory Fns Vektor přerušení začíná na adrese 0000:0000, přerušení je celkem 256 15/30

I/O: DVA PŘÍSTUPY Synchronní proces požádá o I/O operaci, řízení se uživatelskému procesu vrací až po ukončení I/O operace výhody: jednoduchost, vyhýbám se souběžnému zpracování I/O požadavků nevýhody: možná neefektivnost Asynchronní proces požádá o I/O operaci a řízení se procesu vrací okamžitě výhody: je možné paralelně pracovat s několika I/O zařízeními nevýhody: komplexnější systém, potřebujeme tabulku stavu I/O zařízení, příkazy pro počkání na dokončení I/O operace apod. 16/30

SYNCHRONNÍ VS. ASYNCHRONNÍ I/O kernel user requesting process waiting requesting process user device driver device driver interrupt handler interrupt handler kernel hardware data transfer hardware data transfer time time a) b) 17/30

DMA, Direct Memory Access Způsob jak rychle přenášet data mezi I/O zařízením a pamětí CPU nemusí přenášet data po jednom bajtu, požádá řadič o přenos celého bloku dat CPU požádá o přenos dat, po skončení přenosu dat se o tom dozví pomocí přerušení (tj. 1 přerušení/blok dat ne 1 přerušení/bajt-slovo) V době přenosu dat soupeří I/O řadič a CPU o přístup do paměti (oba pracují se stejnou pamětí) 18/30

MODERNÍ POČÍTAČOVÝ SYSTÉM thread of execution cache instruction execution cycle data movement instructions and data CPU (*N) I/O request data interrupt DMA memory device (*M) 19/30

STRUKTURA PAMĚTI PRIMÁRNÍ PAMĚŤ Primární paměť (též operační paměť, hlavní paměť) jediná větší paměť, kterou může CPU přímo adresovat typicky energeticky závislá (volatilní) současná kapacita: stovky MB až desítky GB, současná rychlost: nanosekundy 20/30

STRUKTURA PAMĚTI SEKUNDÁRNÍ PAMĚŤ Sekundární paměť rozšiřuje paměťovou kapacitu počítačového systému energeticky nezávislá vysoká paměťová kapacita (dnes stovky gigabajtů až terabajty) relativně pomalá doba přístupu (velice variabilní od mikrosekund až po jednotky sekund) v dnešní době je nejběžnější magnetický disk 21/30

HIERARCHIE PAMĚTI Rychlost Kapacita Cena registry cache main memory Energeticky závislé electronic disk Energeticky nezávislé magnetic disk optical disk magnetic tapes 22/30

KEŠOVÁNÍ, CACHE, MEZIPAMĚŤ Použití rychlejší paměti pro uchování posledně použitých dat z paměti pomalejší např. cache procesoru vs. hlavní paměť nebo hlavní paměť vs. disková paměť pokud jsou data v cachi použijí se tato data, pokud ne, musí se získat z pomalejší paměti, zároveň se přenesou i data okolní (princip časové a prostorové lokálnosti) Velikost cache paměti je omezená Data se zároveň nacházejí v několika úrovních paměti problém udržení konzistence magnetic disk A main memory A cache A hardware register 23/30

OCHRANNÉ FUNKCE HW Je-li v paměti několik procesů, nechceme, aby se procesy mohly navzájem negativně ovlivňovat přepisování paměti nespravedlivé získání času CPU souběžný nekoordinovaný přístup k I/O prostředkům Proto OS musí tomuto ovlivňování zabránit často to však nemůže zajistit sám a potřebuje podporu HW např. při ochraně přístupu do paměti, přístupu k I/O portům 24/30

REŢIMY PROCESORU Běžný způsob ochrany je dvojí režim činnosti procesoru uživatelský režim privilegovaný režim Některé instrukce je možné provést jen v privilegovaném režimu např. instrukce pro I/O, nastavování některých registrů (např. některé segmentové registry) Z privilegovaného režimu do uživatelského režimu se CPU dostane speciální instrukcí, z uživatelského režimu do privilegovaného režimu se CPU dostává při zpracování přerušení 25/30

OCHRANA PAMĚTI Minimálně musíme chránit vektor přerušení a rutiny obsluhy přerušení jinak by bylo možné získat přístup k privilegovanému režimu procesoru Každému procesu vyhradíme jeho paměť, jinou paměť nemůže proces používat ochranu zajišťuje CPU na základě registrů/tabulek nebo principů nastavených OS např. báze a limit proces má přístup jen k adresám báze + 0 až báze + limit přístup k nepovoleným adresám způsobí přerušení to zpracovává OS a např. ukončí činnost procesu 26/30

BÁZE + LIMIT 0 256000 300040 420940 880000 monitor job 1 job 2 job 3 job 4 300040 base register 120900 limit register Jednoduché na implementaci dva registry, jejichž nastavování je privilegovanou operací CPU kontroluje, zda adresy, které proces používá spadají do rozsahu daného registry Jak řešit požadavek procesu o přidělení dalšího bloku paměti? 1024000 27/30

OCHRANA CPU Jak zaručit, že vládu nad procesorem (tj. jaký kód bude CPU vykonávat) bude mít OS? Časovač časovač generuje přerušení přerušení obsluhuje OS ten rozhodne co dál např. odebere jednomu procesu, vybere další připravený proces a ten spustí (změní kontext) časovač může generovat přerušení pravidelně nebo je příchod přerušení programovatelný (privilegovanou instrukcí) 28/30

ČASOVAČE V PC 8253/8254 Programmable Interval Timer (PIT) od roku 1981 Jednorázové nebo periodické spouštění (přerušení) 1,193182 MHz krystalový oscilátor Časovač 0 systémový časovač OS (Windows, Linux), 1 obnovování RAM (historicky), 2 PC speaker Real-Time Clock's (RTC) od roku 1984 Skutečný čas 32,768 khz neboli 2 15 cyklů za sekundu High Precision Event Timer (HPET) od roku 2005 Pro multimedia 10 MHz, 64 bitů Snadné naprogramovaní jednorázového časovače 29/30

Výukovou pomůcku zpracovalo Servisní středisko pro e-learning na MU http://is.muni.cz/stech/ 30/30