Reservföreläsningen inställd

Relevanta dokument
Operativsystem - input/output, skydd, virtualisering

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Datorteknik ERIK LARSSON

DVA315 Operativsystem

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

Introduktion till hårdvara, mjukvara och operativsystem

Minnesisolering för virtuella maskiner en hypervisorstudie

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

DVA315 Operativsystem. Mats Björkman Mälardalens högskola

Systembeskrivning. Systemskiss. Moduler.

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets)

Operativsystem Introduktion

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop?

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Lösningsförslag till tentamen i IS1350 Operativsystem

Timervirtualisering för hypervisors JONAS HAGLUND

Grundläggande datavetenskap, 4p

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Föreläsning 2. Operativsystem och programmering

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Operativsystem - Filsystem

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

4 grundregler. Minneshantering. Problemet. Windows minkrav

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

DIG IN TO Dator och nätverksteknik

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör.

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Operativsystem - Processer I

Datorsystemteknik DAVA14 Föreläsning 10

Operativsystem (IS1350) :00-12:00

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

HF0010. Introduktionskurs i datateknik 1,5 hp

Processprogrammering och operativsystem Introduktion. Kursinformation. Varför operativsystem?

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA

Datorsystemteknik DAV A14 Föreläsning 1

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Minnet från processorns sida Datorteknik

Hur delas CPU? Processormodell. Vårt produk9onsbolag igen. Produkt 2. Produkt Vinster med aa göra saker sam9digt.

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

TDDC77 Objektorienterad Programmering

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst.

Introduktion till programmering

Operativsystem (ID2200/06) XX XX:00-XX:00

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Introduktion till programmering. Programspråk och paradigmer

Introduktion till processer

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Inledande programmering med C# (1DV402) Introduktion till programmering

7,5 högskolepoäng. Operativsystem och Systemarkitektur. IT-Tekniker och Systemarkitekt-programmet

7,5 högskolepoäng. Operativsystem och Systemarkitektur. IT-Tekniker och Systemarkitekt-programmet

Tentamen PC-teknik 5 p

Föreläsningsanteckningar 3. Mikroprogrammering II

Operativsystem ID2200/06 omtentamen :00-18:00

OOP Objekt-orienterad programmering

PNSPO! Minneskort till CJ. 14 mars 2012 OMRON Corporation

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Distribuerade affärssystem

Datorteknik ERIK LARSSON

Datorteknik Y - Föreläsning 13

F8: Undantagshantering

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Operativsystem ID hp, ID2200 6hp

Mer datorarkitektur. En titt I datorn Minnen

F7: I/O hantering. Asynkron och synkron busscykel Bussfördelning. Periferikretsar

Design och trender. Föreläsning 12

Operativsystem - Processkedulering

Tentamen den 18 mars svar Datorteknik, EIT070

Operativsystem ID2200/06 omtentamen :00-18:00

Grundkurs i programmering - intro

Datorteknik ERIK LARSSON

Föreläsning Dokumentation och Felanmälan. Processer. Ta bort processer. (forts.) Förlorade slides på förra föreläsningen

Introduktion till programmering och Python Grundkurs i programmering med Python

Föreläsning 1: Intro till kursen och programmering

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Transkript:

Reservföreläsningen inställd n Reservtiden (fredag 10 mars kl 13-15) är en reservtid, ställs nu in eftersom inte något oförutsett hänt Operativsystem, Mats Björkman, MDH 1

Labredovisningar n Labbar som inte kommer in under den nuvarande perioden har nya chanser i samband med omtentaperioderna i juni resp. augusti Operativsystem, Mats Björkman, MDH 2

Gamla tentor n n n Ytterligare en gammal tenta upplagd Inga facit Fråga! Operativsystem, Mats Björkman, MDH 3

Operativsystem - input/output, skydd, virtualisering Mats Björkman 2017-03-08

Innehåll i boken n I/O kapitel 5 (5.1-5.3, 5.4-5.6 översiktligt) n Skydd kapitel 9 (9.1-9.3) n Virtualisering kapitel 7.1-7.4 (4:e), 8.3 (3:e) Operativsystem, Mats Björkman, MDH 5

Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Separat eller minnesmappad I/O n Typer av I/O-programmering n Programmerad, interrupt-driven & I/O genom DMA n I/O-abstraktionsskikt Operativsystem, Mats Björkman, MDH 6

Varför I/O? 7

Kontroll av periferienheter En I/O-enhet består typiskt av: 1. En mjukvarukontrollerad del (styrenhet, device controller) 2. En hårdvarudel (själva enheten) Disk Disk Printer DVD CPU Memory Disk controller Printer controller DVD controller System bus Operativsystem, Mats Björkman, MDH 8

Operativsystem, Mats Björkman, MDH 9

I/O-kontroll n Varje I/O-enhet har ett eller flera register som används för styrning eller in- och utmatning n Processorn interagerar med I/Oenheten genom att läsa och skriva från/ till dessa register Operativsystem, Mats Björkman, MDH 10

Kontrollregister och dataregister n Många I/O-enheter har separata register för kontroll av enheten respektive för att läsa/skriva data från/ till enheten Operativsystem, Mats Björkman, MDH 11

I/O-enheter I/O enheter kan vara av flera olika typer: n n Block devices Character devices Det finns en del enheter (special devices) som är varken eller, exempelvis: n Klocka som genererar timer-avbrott Operativsystem, Mats Björkman, MDH 12

Block devices n Data till och från block devices hanteras i block som kan adresseras n Hårddisk är typexemplet Operativsystem, Mats Björkman, MDH 13

Character devices n Skickar/tar emot en ström av tecken (characters) n Exempel: Tangentbord, mus, nätverkskort, skrivare n Fungerar inte som permanentlagring Operativsystem, Mats Björkman, MDH 14

Special devices n Hanterar något annat än data n Typexemplet: Hårdvarutimer för avbrottsgenerering n Här finns bara kontrollregister: för att sätta tiden för timeravbrott n Det enheten gör är att generera ett avbrott efter angiven tid Operativsystem, Mats Björkman, MDH 15

Separat eller minnesmappad I/O Alla I/O-styrenheter har en uppsättning register som används för kommunikation med CPU:n. Dessa register kan antingen vara separata (I/O-mappade) eller mappade i minnet (minnesmappade) I/O registers Memory space Memory space I/O registers Separat Minnesmappad Operativsystem, Mats Björkman, MDH 16

I/O-mappad I/O n Fördel: Många I/O-enheter är inte minne! n Nackdel: Kräver specialinstruktioner för access (exv. IN och OUT i x86), ofta inte tillgängligt från högnivåspråk Operativsystem, Mats Björkman, MDH 17

Minnesmappad I/O n Fördel: Kan använda vanliga minnesinstruktioner för access n Kan använda virtuellminnesskyddet för att skydda I/O-enheterna n Nackdel: Behöver sätta minnet till ocachebart för att få rätt beteende Operativsystem, Mats Björkman, MDH 18

I/O-programvara Tre principiella sätt att implementera I/O i programvara: n n n Programmerad I/O (pollning, busy waiting) Interrupt-driven I/O I/O via Direct Memory Access (DMA) SYNCHRONOUS ASYNCHRONOUS Exempel: Fest med gäster Exempel: Skriva på skrivare Operativsystem, Mats Björkman, MDH 19

Programmerad I/O copy_from_user(usr_buffer &p, &count); for(i=0;i<count;i++) { while(*printer_status_reg!=ready){} *printer_data_register=p[i]; } return_to_user(); Operativsystem, Mats Björkman, MDH 20

Programmerad I/O forts. Fördelar: n Lätt att programmera och förstå Nackdelar: n Använder CPU:n vid väntan på I/O (busy waiting) Operativsystem, Mats Björkman, MDH 21

Interrupt-driven I/O - 1 copy_from_user(usr_buffer &p, &count); while(*printer_status_reg! =READY){} for(i=0;i<count;i++) { } *printer_data_register=p[i]; block_and_schedule(); return_to_user(); acknowledge_interrupt(); unblock_user(); return_from_interrupt(); Operativsystem, Mats Björkman, MDH 22

Interrupt-driven I/O - 1 forts. Fördelar: n Programmet blockeras i väntan på I/O Nackdelar: n Mer komplext och svårprogrammerat n CPU:n får (alltför) många interrupts n Processen skeduleras för varje skrivning Operativsystem, Mats Björkman, MDH 23

Interrupt-driven I/O - 2 copy_from_user(usr_buffer &p, &count); while(*printer_status_reg!=ready){} *printer_data_reg=p[0]; block_and_schedule(); return_to_user(); acknowledge_interrupt(); if(count==0) unblock_user(); else { *printer_data_reg=p[i]; count--; i++; } return_from_interrupt(); Operativsystem, Mats Björkman, MDH 24

Interrupt-driven I/O - 2 forts. Fördelar: n Programmet blockeras i väntan på I/O n Slipper skedulera processen för varje skrivning Nackdelar: n Komplext och svårprogrammerat n CPU:n får (alltför) många interrupts n Problem om för mycket kod i interruptrutinen Operativsystem, Mats Björkman, MDH 25

I/O genom DMA copy_from_user(usr_buffer &p, &count); setup_dma_controller(p,count, ); block_and_schedule(); return_to_user(); acknowledge_interrupt(); unblock_user(); return_from_interrupt(); Operativsystem, Mats Björkman, MDH 26

Direct Memory Access (DMA) CPU DISK CONTROLLER MEMORY! Registers that! can be read and written by the CPU CPU DISK CONTROLLER DMA CONTROLLER MEMORY SYSTEM BUS! Address: Count: 23 45 43 21 0 SYSTEM BUS Operativsystem, Mats Björkman, MDH 27

Fördelar: I/O genom DMA forts. n Programmet blockeras i väntan på I/O n Endast ett interrupt när allt är klart Nackdelar: n Behöver ha DMA-hårdvara (eller DMA-kapabla periferienheter) n Behöver sätta upp DMA-controllern n Måste hantera cachekonsistens! Operativsystem, Mats Björkman, MDH 28

Direct Memory Access (DMA) CPU DISK CONTROLLER MEMORY Cache! Registers that! can be read and written by the CPU CPU DISK CONTROLLER DMA CONTROLLER MEMORY SYSTEM BUS Cache! Address: Count: 23 45 43 21 0 SYSTEM BUS Operativsystem, Mats Björkman, MDH 29

I/O genom DMA forts. Cachekonsistensproblemet: n Vi måste se till att inte processorn använder cachat gammalt data efter det att DMA:n har genomfört flyttningen av data! Operativsystem, Mats Björkman, MDH 30

I/O - abstraktionsskikt Vanliga användare vill slippa alltför låg nivå på I/Ohanteringen Vi behöver abstraktioner som ger: n n n n Ett oberoende av enheternas fysiska egenheter Uniform namngivning Felhantering så nära hårdvaran som möjligt Ett synkront utseende på asynkrona enheter Operativsystem, Mats Björkman, MDH 31

I/O abstraktionsskikt forts. Dessa krav kan uppfyllas genom fyra abstraktionsskikt: Användarprogram Enhetsoberoende operativsystemsrutiner Drivrutiner Interrupthanterare H Å R D V A R U P L A T T F O R M Operativsystem, Mats Björkman, MDH 32

Användarprogram Användarprogram Enhetsoberoende operativsystemsrutiner Drivrutiner Interrupthanterare Användarprogram kommer åt I/O-operationer genom systemanrop till biblioteksrutiner, som: n n n write(); read(); m.m. I/O på användarnivå innehåller också formatering och buffring: n printf(format string, list of expressions); H Å R D V A R U P L A T T F O R M Operativsystem, Mats Björkman, MDH 33

Användarprogram Enhetsoberoende operativsystemsrutiner Enhetsoberoende n Namngivning n Skydd Drivrutiner Interrupthanterare H Å R D V A R U P L A T T F O R M n Buffring n Allokering / Blockering A program that reads a file as input should be able to read a file on a floppy disk, a hard disk or a DVD without having to modify the program for each different device. - Tanenbaum Operativsystem, Mats Björkman, MDH 34

Drivrutiner Användarprogram Enhetsoberoende operativsystemsrutiner Drivrutiner Interrupthanterare En drivrutin: H Å R D V A R U P L A T T F O R M Den del av den I/O-hanterande programvaran som är beroende av den fysiska enheten separeras ofta från de delar som är enhetsoberoende. Den enhetsberoende delen brukar kallas drivrutin eller device driver. n Tolkar högnivåkommandon från övre skikt n Ser till att dessa utförs genom att ge enhetsspecifika kommandon till enheten via dess kontrollregister Drivrutiner exekverar i kernel mode, så de är mycket känsliga för fel Operativsystem, Mats Björkman, MDH 35

Interrupthanterare Användarprogram Enhetsoberoende operativsystemsrutiner Drivrutiner Interrupthanterare H Å R D V A R U P L A T T F O R M Interrupthanteraren tar hand om det praktiska i hanteringen mellan hårdvaruplattformen och drivrutinerna Operativsystem, Mats Björkman, MDH 36

I/O abstraktionsskikt, summering Användarprogram Enhetsoberoende operativsystemsrutiner Drivrutiner Interrupthanterare Gör I/O-anrop, formaterar I/O, buffring Namngivning, skydd, blockering, allokering Styr enheten via register, kontrollerar status Väcker upp drivrutinen när I/O är klar H Å R D V A R U P L A T T F O R M Utför den egentliga I/O-operationen Operativsystem, Mats Björkman, MDH 37

Lärandemålen I/O igen n Typer av I/O-enheter n Character, Block & Special n Separat eller minnesmappad I/O n Typer av I/O-programmering n Programmerad, interrupt-driven & I/O genom DMA n I/O-abstraktionsskikt Operativsystem, Mats Björkman, MDH 38

Lärandemål skydd n Skydd i ett operativsystem n Accessmatrisen n Accesskontrolllistor n Capabilities Operativsystem, Mats Björkman, MDH 39

Skydd i ett operativsystem n Vi har tidigare talat om: n Skydd mellan process och OS n Skydd mellan processer n Skydd för filer Operativsystem, Mats Björkman, MDH 40

Skydd i ett operativsystem n Mål för skydd: n Konfidentialitet obehöriga skall inte komma åt data n Dataintegritet obehöriga skall inte kunna manipulera data n Autenticering - Är du verkligen du? n Tillgänglighet obehöriga skall inte kunna hindra rättmätiga från att använda systemet Operativsystem, Mats Björkman, MDH 41

Skydd i ett operativsystem n Skyddsmekanismer: n Konfidentialitet kryptering, autenticering n Dataintegritet kryptogr. checksummor n Autenticering - lösenord, certifikat n Tillgänglighet skydd mot DoS (svårt) Operativsystem, Mats Björkman, MDH 42

Modell av OS-skydd Operativsystem, Mats Björkman, MDH 43

Skydd i ett operativsystem n Generellt sett måste OS:et för varje objekt i systemet (exv. process, fil, ) ha en policy för vem som får accessa objektet Operativsystem, Mats Björkman, MDH 44

Accessmatrisen n Accessmatrisen är en abstraktion som innehåller accessrättigheter för alla objekt i systemet Operativsystem, Mats Björkman, MDH 45

Accessmatrisen Operativsystem, Mats Björkman, MDH 46

Accessmatrisen n För domän, tänk bokens exempel från UNIX: n Rättigheter till filer i UNIX sätts utgående från ägarens User-ID och Grupp-ID n Paret User-ID + Grupp-ID utgör en domän, för varje fil finns specat vilka rättigheter en process med en viss User- ID + Grupp-ID har Operativsystem, Mats Björkman, MDH 47

Accessmatrisen n Accessmatrisen blir stor: n alla objekt alla domäner n Väldigt många platser i matrisen blir tomma n Vanligt att spara accessmatrisen på ett mer kompakt sätt Operativsystem, Mats Björkman, MDH 48

Accesskontrolllistor (ACL:er) n Accesskontrollistor (ACL:er) är ett sätt att spara accessmatrisen per objekt Operativsystem, Mats Björkman, MDH 49

Accesskontrolllistor (ACL:er) n Accesskontrollistor (ACL:er) är ett sätt att spara accessmatrisen per objekt Operativsystem, Mats Björkman, MDH 50

Accesskontrolllistor (ACL:er) n En förenklad variant av ACL är precis vad filsystem med accessrättigheter i filattributen har n När ett subjekt (typ en process som har en användare som ägare) vill accessa ett objekt (typ en fil), kontrolleras i objektets accesskontrollista ifall accessen skall tillåtas (vilka rättigheter har processens ägare till filen?) Operativsystem, Mats Björkman, MDH 51

Capabilities n Man kan även skiva matrisen på andra ledden och för varje subjekt ange vilka rättigheter subjektet har n Detta kallas capabilities Operativsystem, Mats Björkman, MDH 52

Capabilities n Man kan även skiva matrisen på andra ledden och för varje subjekt ange vilka rättigheter subjektet har Operativsystem, Mats Björkman, MDH 53

Capabilities n Då hämtas rättighetslistan associerad till subjektet när subjektet vill accessa ett objekt Operativsystem, Mats Björkman, MDH 54

Capabilities n För att inte capabilities skall kunna förfalskas krävs särskild hantering av dessa n Ett sätt är att OS:et hanterar och lagrar listorna över capabilities n Ett annat sätt är att använda kryptografiska signaturer (typ certifikat) Operativsystem, Mats Björkman, MDH 55

Mer om säkerhet? n Boken 9.5 är en kortintroduktion till kryptografi n Ni som kommer att gå datakommunikationskursen kommer att få en introduktion till nätsäkerhet i den kursen Operativsystem, Mats Björkman, MDH 56

Lärandemålen skydd igen n Skydd i ett operativsystem n Skyddsmatrisen n Accesskontrolllistor n Capabilities Operativsystem, Mats Björkman, MDH 57

Lärandemål virtualisering n Vad är virtualisering? n Hur åstadkoms virtualisering? Operativsystem, Mats Björkman, MDH 58

Virtualisering n OS handlar mycket om virtualisering: n Att ge processer en illusion om att de är ensamma på maskinen n Att ge processer illusionen av att hårdvaran är enkel och oproblematisk Operativsystem, Mats Björkman, MDH 59

Virtualisering n Detta kan tas ett steg längre: n Operativsystemet kan vara en del av det system som får illusionen av att vara ensam på hårdvaran n Detta är vad man menar idag med OSvirtualisering Operativsystem, Mats Björkman, MDH 60

Virtualisering - historia n Detta gjordes redan för länge sedan: n IBM gjorde detta för sitt System 370, lanserat som VM/370 år 1972 Operativsystem, Mats Björkman, MDH 61

Virtualisering VM/370 Operativsystem, Mats Björkman, MDH 62

VM/370 n Varje virtuell maskin fick illusionen av att vara ensam på hårdvaran n Ett effektivt sätt att åstadkomma multiprogrammering i något som ursprungligen var ett batchsystem Operativsystem, Mats Björkman, MDH 63

VM/370 n Dessutom kunde olika processer välja olika operativsystem n Populärt var att köra OS/360 för att slippa arbetet med att flytta (portera) gamla program till nya hårdvaruplattformar Operativsystem, Mats Björkman, MDH 64

VM/370 n Modernare varianter (z/vm) är fortfarande i bruk på IBM-system n Används fortfarande för att kunna köra gamla program på ny hårdvara Operativsystem, Mats Björkman, MDH 65

Hypervisors n I modernt språkbruk kallas koden mellan hårdvara och det virtuella operativsystemet ofta hypervisor n Boken delar upp hypervisors i Typ 1 och Typ 2 Operativsystem, Mats Björkman, MDH 66

Hypervisor typ 1 n En hypervisor typ 1 fungerar som IBM:s Virtual Machine Monitor: den ger det virtuella operativsystemet (ofta kallat gästoperativsystemet) tillgång till hårdvaran Operativsystem, Mats Björkman, MDH 67

VM/370 Operativsystem, Mats Björkman, MDH 68

Hypervisor typ 2 n En hypervisor typ 2 använder sig av ett värdoperativsystem i botten n Gästoperativsystemen kör sedan ovanpå värdoperativsystemet Operativsystem, Mats Björkman, MDH 69

x Operativsystem, Mats Björkman, MDH 70

Typ 1 vs Typ 2 n Typ 1 kan innebära mindre overhead, det virtuella operativsystemet kör nästan direkt på den fysiska hårdvaran n Typ 2 innebär enklare delning av hårdvaruresurser såsom I/O-enheter: värdoperativsystemet har drivrutinerna och kan fördela resurserna mellan gästerna Operativsystem, Mats Björkman, MDH 71

Äkta virtualisering vs paravirtualiserng n Äkta virtualisering innebär att gästoperativsystemet är det oförändrade operativsystemet som exekverar n Paravirtualisering innebär att gästoperativsystemet modifierats så att det enklare kan köra på värdsystemet Operativsystem, Mats Björkman, MDH 72

Äkta virtualisering vs paravirtualiserng Operativsystem, Mats Björkman, MDH 73

Problem med virtualisering n Virtualisering är överkomligt så länge man kör ett gästoperativsystem över en typ 1- hypervisor n I detta fall är det mest en fråga om att översätta till och från hårdvara som kanske inte stöds (exv. MacOS på PC) Operativsystem, Mats Björkman, MDH 74

Problem med virtualisering n Problemen uppstår när man antingen har mer än ett gästoperativsystem eller en typ 2-hypervisor som kör på ett värdoperativsystem Operativsystem, Mats Björkman, MDH 75

Problem med virtualisering n Problemexempel: En grundläggande uppgift för ett modernt OS är att tillhandahålla virtuellt minne, d.v.s. en mappning från virtuella adresser till fysiskt minne n Vad händer när två (eller flera) OS på samma hårdvara vill sköta det fysiska minnet? Operativsystem, Mats Björkman, MDH 76

Virtualisering - minne n Lösning: Ytterligare en nivå av virtualisering n Det som gäst-os:et uppfattar som fysiskt minne är fortfarande virtuellt n En ytterligare översättning från virtuellt fysiskt minne till fysiskt fysiskt minne sker i hårdvaran Operativsystem, Mats Björkman, MDH 77

Virtualisering - minne Operativsystem, Mats Björkman, MDH 78

Virtualisering mer problem n Samma problem som med minnet gäller för I/O-enheter n Flera operativsystem tror att de är ensamma om I/O-enheterna: hårddisk, tangentbord, display, etc. Operativsystem, Mats Björkman, MDH 79

Virtualisering I/O-problem n Det finns lite olika sätt att lösa dessa problem: n I typ 2-system kan allt kanaliseras via värd-os:et, värd-os:et får fördela hårdvaruresurserna mellan gästerna på liknande sätt som mellan processer inom ett OS Operativsystem, Mats Björkman, MDH 80

Virtualisering I/O-problem n I typ 1-system krävs någon annan form av virtualisering av I/O-resurserna: n Ett sätt kallas I/O-MMU, då sker översättningar mellan fysiska och virtuella resurser, exv. I/O-adresser n Interrupts: mappning sker mellan de fysiska hårdvarusignalerna och de virtuella signaler gäst-os:en mottar Operativsystem, Mats Björkman, MDH 81

Lärandemålen virtualisering igen n Vad är virtualisering? n Hur åstadkoms virtualisering? Operativsystem, Mats Björkman, MDH 82

OS-kursen, sammanfattning n OS:et som abstraktion och resurshanterare n Processer och processhantering n Baklås n Minne och minneshantering n Filsystem n I/O, skydd, virtualisering Operativsystem, Mats Björkman, MDH 83