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

Podobné dokumenty
Algoritmizace a programování

Systém přerušení. Algoritmizace a programování. Struktura počítače - pokračování. Systémová struktura počítače pokrač.

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systémová struktura počítače

Architektura počítače Základní bloky Provádění instrukcí

ŘÍZENÍ ELEKTRICKÝCH POHONŮ. Systémová struktura počítače Řízení běhu programu. České vysoké učení technické Fakulta elektrotechnická

Struktura a architektura počítačů

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

Struktura a architektura počítačů

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

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

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

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

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

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická

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

Systém adresace paměti

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

2 Hardware a operační systémy

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

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

2010/2011 ZS P i r i nc č py po ít č čů a PAMĚŤOVÝ ĚŤ SUBSYSTÉM z pohledu OS OS

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

Procesy a vlákna (Processes and Threads)

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

Pokročilé architektury počítačů

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

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

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

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

Komunikace procesoru s okolím

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

Systém řízení sběrnice

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

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

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

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

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

HW počítače co se nalézá uvnitř počítačové skříně

Algoritmizace a programování

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


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

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

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

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

Co je to počítač? Počítač je stroj pro zpracování informací Jaké jsou základní části počítače? Monitor, počítač (CASE), klávesnice, myš

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

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

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.

Obsah. Kapitola 1 Skříně počítačů 15. Kapitola 2 Základní deska (mainboard) 19. Kapitola 3 Napájecí zdroj 25. Úvod 11

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

Algoritmizace a programování

Princip funkce počítače

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)

Hardware. Z čeho se skládá počítač

Architektura počítače

Management procesu I Mgr. Josef Horálek

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

a co je operační systém?

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á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:

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

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

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í

Počítačová sestava paměti, operační paměť RAM

PB002 Základy informačních technologií

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

Pokročilé architektury počítačů

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

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

Identifikátor materiálu: ICT-1-08

Pamět ová hierarchie, virtuální pamět. doc. Ing. Róbert Lórencz, CSc.

Operační systémy 1. Přednáška číslo Struktura odkládacích zařízení

Metody připojování periferií

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

zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení

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


Operační systémy 2. Struktura odkládacích zařízení Přednáška číslo 10

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

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Pohled do nitra mikroprocesoru Josef Horálek

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

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

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

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

Témata profilové maturitní zkoušky

TEMPO průmyslový panelový počítač

Integrovaná střední škola, Sokolnice 496

Rozhraní ATA a ATAPI. Rozhraní ATA a ATAPI. Koncepce ATA. Řadič je součástí diskové jednotky. Původní fyzické rozhraní odvozeno od sběrnice ISA.

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

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

Komunikace mikroprocesoru s okolím Josef Horálek

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

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í

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

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Transkript:

ÚVOD DO OPERAČNÍCH SYSTÉMŮ Vstup-výstup Input-Output Přehled a obsluha České vysoké učení technické Fakulta elektrotechnická Y38ÚOS Úvod do operačních systémů 12 Ver.1.00 2010

Operační systém (Operating System) Operační systém je software který [1]: pro uživatelské programy vytváří lepší, jednodušší, přehlednější základnu pro efektivní využití počítače, spravuje všechny prostředky (resources) počítače. Prostředky (resources) počítače: Procesory Operační paměť (Main Memory) Disky Tiskárny Klávesnice Myš Síťové adaptéry různá další vstupní a výstupní zařízení (Devices) [1] Tanenbaum, A: Modern Operating Systems. Prentice Hall, New Jersey, 2008 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 2

Komponenty počítačového systému CPU, Memory I/O Devices Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 3

Komponenty operačního systému Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 4

Metody obsluhy I/O zařízení Způsob obsluhy I/O zařízení Polling Programové testování stavového bitu Ready/Busy Interrupt Driven Obsluha pomocí přerušení DMA Driven Obsluha přímým přístupem do paměti Způsob adresování I/O zařízení: I/O mapped Memory mapped Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 5

Propojení bloků počítače Bus (společná sběrnice) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 6

Paměti počítače XTAL Clock CPU CPU - SYNCHRONOUS FINITE STATE MACHINE (FSA, FSM) BUS MASTER SEQUENTIAL PROGRAM PROCESSING (ONE INSTRUCTION AT A TIME) Common Bus Program Memory BIOS Operating System Application Program Data Memory MAIN MEMORY PROGRAM INSTRUCTIONS PROGRAM VARIABLES & PROGRAM STACK CD/DVD COMMON DATA PATH (BIDIRECTIONAL) I/O Channels EXTERNAL MEMORY Output Input HDD FLASH Corsair Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 7

Rozdělení společné sběrnice Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 8

Požadavky pro volání procedury Návratová adresa Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 9

Princip volání procedury (Procedure Call) Zásobník (návratových adres) Ukazatel zásobníku Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 10

Sdílené prostředky (sdílí je procedury) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 11

Asynchronní akce hardwareové (hw) volání procedury Žádosti o přerušení Řadič přerušení Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 12

Asynchronní akce hw volání procedury (ISR) Kontrolní seznam 1 Check list No.1 Asynchronní akce Systém přerušení Hardwarové volání procedury Předdefinovaná cílová adresa Vektor přerušení Tabulka vektorů přerušení Asynchronní žádost o přerušení Řadič přerušení Vstupy žádostí o přerušení Asynchronní událost Žádost o přerušení do CPU Potvrzení žádosti od CPU Asynchronous actions Interrupt system Hardware procedure call Predefined target address Interrupt vector Interrupt vector table Asynchronous interrupt request Interrupt controller Interrupt request inputs Interrupt event CPU interrupt request CPU interrupt acknowledge Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 13

Asynchronní akce hw volání procedury (ISR). Kontrolní seznam 2 Check list No.2 Asynchronní akce - pokrač. Instrukce je nepřerušitelná Reakční doba přerušení Priorita přerušení Statická priorita přerušení Dynamická priorita přerušení Programová priorita přerušení Typy přerušení Maskovatelné přerušení Nemaskovatelné Programové (ladící) přerušení Program řízený událostmi Asynchronous actions cont'd Instruction is uninterruptable Interrupt latency Interrupt priority Static interrupt priority Dynamic interrupt priority Software interrupt priority Interrupt types Maskable interrupt Nonmaskable interrupt Trap (software interrupt) Event driven program Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 14

Asynchronní akce hw volání procedury (ISR) Kontrolní seznam 3 Check list No.3 Asynchronní akce - pokrač. Obsluha přerušení - ISR Návratová adresa z přerušení Instrukce návratu z přerušení Asynchronní událost Pozadí programu Nejnižší hladina programu Sdílené zdroje Střadač Stavové slovo procesoru - PSW Příznakový registr Kontext programu (uložit/obnovit) Asynchronous actions cont'd Interrupt service routine - ISR Interrupt return address Interrupt return instruction Asynchronous event Background (level) Lowest program level Shared resources Accumulator Processor status word - PSW Flag register Program context (save/restore) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 15

Asynchronní akce hw volání procedury (ISR) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 16

Prostředky pro organizaci hw volání procedury (interrupt) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 17

Sdílené prostředky (sdílí je ISR a přerušený program) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 18

Žádost o obsluhu přerušení (hw volání procedury) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 19

Žádost o obsluhu aktivní - 1 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 20

Dokončení aktivní instrukce - 2 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 21

Uložení (Push) návratové adresy do zásobníku (Stack) - 3 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 22

Vyzvednutí adresy obslužného programu (ISR) - 4 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 23

Spuštění obslužné procedury přerušení (ISR) - 5 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 24

Uložení kontextu do zásobníku - 6 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 25

Provedení těla obslužné procedury (ISR) - 7 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 26

Obnovení kontextu (ze zásobníku) - 8 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 27

Vyzvednutí návratové adresy (ze zásobníku) - 9 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 28

Obnovení běhu přerušeného programu - 10 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 29

Princip programu řízeného událostmi - souhrn Obsluha žádosti o přerušení souhrn akcí Dokonči právě prováděnou instrukci (instrukce je nepřerušitelná) Ulož (Push) návratovou adresu do zásobníku (tj. adresu, která je právě v čítači instrukcí (PC)) Vyzvedni adresu ISR (tj. podprogramu obsluhy přerušení) z tabulky vektorů přerušení Spusť ISR Vynuluj Interrupt Request Flag (závisí na typu procesoru) Ulož kontext do zásobníku Proveď tělo ISR (vlastní obsluhu žádosti o přerušení) Obnov původní kontext (vyzvedni ho ze zásobníku) Proveď instrukci Return Ta vyzvedne Návratovou adresu ze zásobníku do čítače instrukcí (PC) Pokračuj v programu na pozadí tj. čti instrukci z adresy uložené v PC Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 30

Event Driven Program Principle - summary Interrupt request service summary Finish current background instruction (instruction is uninterruptable) Push Return Address to stack (i.e. address in program counter) Get ISR Address from Interrupt Vector Table Start ISR routine Clear Interrupt Request Flag (depends on processor type) Save context to stack Run ISR body Restore context from stack Execute Return instruction Pop Return Address from stack (Pop it to program counter) Continue background program read next instruction from address in PC Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 31

Připojení operační paměti k CPU ADDRESS VALID DATA VALID ADDR.BUS DATA BUS nread nwrite CPU DATA READ CPU DATA WRITE (to MEMORY) NOTE: nread, nwrite - SIGNAL ACTIVE IN 0 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 32

Operační paměť (Main Memory) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 33

Cyklus obsluhy přerušení (Interrupt Cycle) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 34

DMA cyklus (Direct Memory Access Cycle) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 35

DMA - princip Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 36

DMA převzetí řízení sběrnice DMA TRANSFER CYCLE ADDRESS VALID DATA VALID BUS REQUEST BUS RELEASED DMA END CPU CONTINUES ADDR.BUS DATA BUS nread nwrite HOLD HLDA BUS MASTER 1 - CPU BUS MASTER 2 DMA CONTROLLER NOTE: nread, nwrite - SIGNAL ACTIVE IN 0 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 37

Charakteristiky I/O zařízení Způsob přenosu dat: Jednotlivé znaky (proud znaků) Blok dat Způsob přístupu k datům: Sekveční Adresný (libovolný, random) Čas začátku přenosu: Synchronní předvídatelný čas odezvy Asynchronní nepravidelný, náhodný čas odezvy Možnost sdílení více procesy: Nemožné (tiskárna) Možné Rychlost přenosu dat: Jednotky byte/s až stovky MB/s Směr přenosu dat: Jednosměrný jen čtení nebo jen zápis Obousměrný čtení i zápis Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 38

Charakteristiky I/O zařízení Hledisko Způsob přenosu Metoda přístupu Tÿp Znakový Blokový Sekvenční Náhodná (nesekveční) Příklad Terminál Disk Modem CD ROM Čas začátku přenosu Sdílení Rychlost přenosu Směr přenosu Synchronní Asynchronní Nemožné Možné Reakční doba Doba vyhledání dat Přenosová rychlost Doba mezi operacemi Jen čtení Jen zápis Čtení i zápis Magnetická páska klávesnice Tiskárna Klávesnice CD ROM Grafická kontroler Disk Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 39

Typy I/O zařízení PCI Bus Controller SCSI Bus Controller Graphic Display Controller Keyboard Controller Mouse Controller FDD controller ATAPI HDD, Magnetic Tape Flash Disk, Flash Card CD-R/W, CD-ROM DVD-R/W, DVD-ROM Ethernet Controller, WiFi,. USB Controller UART (Asynchronous character transfer Timer RTC Real Time Clock Power Management Unit Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 40

Bus (společná sběrnice) I/O hardware shrnutí principů Controller (kontrolér) I/O port, I/O registers Address space - I/O mapped, memory mapped Handshaking CPU & Device controller (vzájemná synchronizace) Handshaking via polling or interrupts I/O service overhead (režie obsluhy polling vs. Interrupts) DMA transfer DMA controller, large data transfers (low overhead) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 41

Struktura I/O části jádra OS OS kernel (jádro OS) Software kernel I/O subsystem PCI Bus Device Driver Ethernet Device Driver..... Keyboard Device Driver Hardware PCI Bus Device Controller PCI Bus Ethernet Device Controller Ethernet Network..... Keyboard Device Controller..... Keyboard Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 42

Metodika začlenění I/O zařízení do OS Cíl návrhu: Přístup k I/O zařízením stadardní a jednotný Použití: Abstrakce Zapouzdření Dělení software na horizontální vrstvy Zařízení rozdělena na několik málo kategorií: Přístup k jednotlivým kategoriím standardním souborem funkcí OS API Application Program Interface Př: Disky open(), read(), write(), seek(), close(),. Počítačová síť: socket I/O subsystém jádra OS: Nezávislý na detailech obsluhy I/O zařízení (výhodné pro návrh OS) Detaily obsluhy dílčích zařízení: Zapouzřeny v softwarové vrstvě device drivers (ovladače) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 43

Optimalizace vlastností I/O zařízení I/O Scheduling DMA transfer Buffering Vyrovnání různých rychlostí zdroje a cíle dat Vyrovnání různé velikosti dat zdroje a cíle Zajištění konsistence při předání dat ( copy semantics ) kopírování předávaného bloku dat do lokálního bufferu OS. Caching Spooling: Spool = buffer pro data určená pro zařízení, které nelze sdílet (např. data z různých procesů určená pro tiskánu) Error Handling (Ošetření chyb): Přechodné chyby ošetří OS (přetížení počítačové sítě) Trvalé chyby (př. poškození kontroleru) nelze ošetřit v OS. Ochrana I/O: Privileged (system) mode Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 44

Cache (vyrovnávací paměť) Kontrolní seznam 4 Check list No. 4 Cache (vyrovnávací paměť) Operační paměť Externí paměť Disk Magnetická páska Cache pro instrukce Datová cache Metoda zápisu z cache do hl.p. Zápis ihned zpět do hl.p. Zápis až při novém plnění cache Cache slot (blok + označení) Cache tag (označení bloku) Cache blok Cache Main memory Secondary memory HDD (Hard Disk Drive) Magnetic tape Instruction cache Data cache Cache write Write-through method Write-back method Cache slot Cache tag Cache block Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 45

Paměťová hierarchie Registry na CPU Cache Cena Rychlost přístupu Operační paměť (DRAM) Magnetický disk (HDD) CD-RW DVD-RW Magnetická páska Velikost Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 46

Procesor a operační paměť - Výkon vs. roky Výkon 100.000 x 40 let Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 47

Cache vyrovnávací paměť Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 48

Cache vyrovnávací paměť Urychlení práce počítače Část informace přesunuta do menší ale rychlé paměti (cache) Přístup procesoru k této informaci rychlejší Pokud informace v cache není, nutno ji přisunout do cache z operační paměti Cache může být rozdělena na více úrovní (hladin) jedna z úrovní je přímo v procesoru, druhá může být vně procesoru (ale sestavená z rychlejší paměti než je paměť operační) Cache může být určena jen pro data nebo i pro instrukce Data cache Instruction cache Data cache po zpracování dat se data uloží: Ihned zpět do operační paměti (write-through method) Do data cache (write-back method). Zpět do operační paměti se uloží později, při novém plnění data cache Cache je řízena pomocí hardware Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 49

Cache Vyrovnávací paměť - jednohladinová Word (byte) transfer Block transfer Single Level Cache Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 50

Cache Vyrovnávací paměť - dvouhladinová Multi Level Cache Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 51

Cache princip organizace MAIN MEMORY Memory address Slot number 0 Tag CACHE Block Slot 0 1 2 Block (K words) 1 2 X Block length (K words) Block 2 n -1 Word length Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 52

Cache princip organizace (přiklad) 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1... 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 MAIN MEMORY Memory address 0 1 2 Slot number 0 1 Tag 0001 CACHE Block Slot 4096 4097 4098 Block (4K words) 2 8191 Block X Block length 2 n -1 (4K words) Word length Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 53

Virtual Memory (Virtuální paměť) Kontrolní seznam 5 Check list No. 5 Virtuální paměť Overlay (překryvný modul) Logická adresa Fyzická adresa Stránka (Page) MMU (přemapování adresy) Mapovací tabulka Virtuální adresa Stránka je/není v oper.paměti Virtuální stránka Ofset adresy (posun od zač.str.) Fyzická stránka v oper.pam. Stránka není v oper.paměti Virtual Memory Overlay Logical address Physical address Page MMU Memory management unit Page table Virtual address Present/absent bit Virtual page Address offset Page frame Page fault Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 54

Velikost programu vs. velikost operační paměti Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 55

Velikost programu vs. velikost operační paměti Když program větší než operační paměť (Main Memory) - možnosti Program nelze použít (to určitě nechceme) Overlays (překryvné moduly) Za vytvoření zodpovědný programátor Virtuální paměť (Paging) stránkování Za stránkování zodpovědný operační systém Pro programátory transparentní Navrženo - 1961, Manchester, Velká Británie Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 56

Paměťová hierarchie (zjednodušené) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 57

Overlays (překryvné moduly) - princip Program rozdělí PROGRAMÁTOR na části (Overlay) Overlay 1 DISK (HDD) Program se provádí postupně Overlay 2 Program Main Memory Overlay 2 Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 58

Overlays (překryvné moduly) - princip Když program větší než operační paměť (Main Memory) Aplikační program se rozdělí na překryvné moduly (Overlays) Za všechny akce zodpovídá programátor aplikačního programu Program se rozdělí na části (Overlays), které se vejdou do paměti Celý program je uložen ve vnější pamětí (Secondary Storage) např. HDD Programátor určí, kdy se který překryvný modul (Overlay) má zavést do operační paměti a spustit. Celý proces výpočtu pomocí překryvných modulů probíhá v režii programátora, bez pomoci počítače (operačního systému) Nepohodlné, zdlouhavá příprava, možnost chyb Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 59

Virtuální paměť (Virtual Memory) - princip Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 60

Virtuální paměť (Virtual Memory) Virtuální paměť Paměťový prostor je rozšířen na disk Adresy (logické) mohou mít hodnotu větší než odpovídá rozsahu operační paměti (Main Memory) Část instrukcí a dat spuštěného programu je odložena (Swap) na externí paměťové medium (disk) (ty, které nejsou právě třeba při provádění programu) Paměťová jednotka, která se přenáší mezi virtuální a fyzickou pamětí se nazývá stránka (Page) Překódování adres (mapování, remaping) řídí jednotka MMU Memory Management Unit (je součástí CPU) Za překódování (přemapování) virtuální adresy na fyzickou odpovídá operační systém (pro programátora aplikace je činnost MMU transparentní) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 61

Virtuální paměť a MMU (Memory Management Unit) Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 62

Virtuální a fyzická adresa... Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 63

MMU princip činnosti Virtual page MMU Memory Management Unit Page table 12-bit memory address 1 1 0 0 0 0 1 1 0 1 0 0 Present/ absent bit 63 0... 7 0 6 1 11 5 0 4 0 3 1 2 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 6-bit virtual page 10-bit offset 16-bit virtual address Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 64

MMU Jednotka přemapování adres VIRTUÁLNÍ PAMĚŤ Page Virtual adresses 63 61440-65535 6... 6144-7167 FYZICKÁ PAMĚŤ (MAIN MEMORY) 5 4 5120-6143 4096-5119 Page frame Physical adresses 3 3072-4095 3 3072-4095 2 2048-3071 2 2048-3071 1 1024-2047 1 1024-2047 0 0-1023 0 0-1023 MMU 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 6-bit virtual page 10-bit offset 16-bit virtual address 12-bit memory address Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 65

MMU Jednotka přemapování adres Page fault CPU MMU MAIN MEMORY 6-bit virtual page 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 10-bit offset 16-bit virtual address 12-bit memory address Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 66

ÚVOD DO OPERAČNÍCH SYSTÉMŮ Vstup-výstup Input-Output Přehled a obsluha KONEC České vysoké učení technické Fakulta elektrotechnická Y38ÚOS Úvod do operačních systémů 12 - Vstup - výstup 67