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



Relevanta dokument
Datorteknik ERIK LARSSON

Introduktion till hårdvara, mjukvara och operativsystem

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

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

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

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

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

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

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

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

Operativsystem ID hp, ID2200 6hp

Operativsystem. IS hp. Jim Dowling Docent, PhD [Bilder av Robert Rönngren]

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

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

DIG IN TO Dator och nätverksteknik

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

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

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

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Datorteknik ERIK LARSSON

Föreläsning 2. Operativsystem och programmering

DVA315 Operativsystem

Datorteknik ERIK LARSSON

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

Operativsystem Introduktion

Minneshantering segmentering och virtuellminne. Föreläsning 3

Operativsystem och användargränssnitt

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

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Program. Datorteknik. Semantiskt gap. C - Inledning. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

Operativsystem - input/output, skydd, virtualisering

Operativsystem. Hierarkin för hårdvara läses nerifrån

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

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

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Minnesisolering för virtuella maskiner en hypervisorstudie

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

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

Operativsystem - Processkedulering

Allmänt om programvaror och filer i Windows.

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

Operativsystem - Processer I

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

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

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

SMD 134 Objektorienterad programmering

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

PNSPO! Minneskort till CJ. 14 mars 2012 OMRON Corporation

FOTA - 3 COTS och objektorientering i realtidstillämpningar Annika Ohlsson Ericsson Microwave Systems

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

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

Parallellism i CDC 7600, pipelinens ursprung

Datorsystemteknik Föreläsning 7DAVA14

Grundläggande datavetenskap, 4p

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7

Timervirtualisering för hypervisors JONAS HAGLUND

F8: Undantagshantering

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

Reservföreläsningen inställd

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

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

Introduktion till datoranvändning. Välkomna till NADA. (Numerisk Analys och DAtalogi) och kursen. Datalogi, grundkurs 1, 15hp

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

IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, ]

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

Design och trender. Föreläsning 12

Introduktion till programmering

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Kursansvarig. Välkomna till NADA. Datorn som verktyg. Datalogi, grundkurs 1, 15hp

Datorarkitektur. Fö 9: Datorarkitektur. Datororganisation. Typiska Arkitekturattribut. Introduktion till datorarkitektur.

Projekt Fake för Virtutech

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

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

Tentamen den 18 mars svar Datorteknik, EIT070

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

Manual - Phonera Online Backup

Polling (cyklisk avfrågning) Avbrott

Datorsystem och programmering

ISAC. Tel. 08/

Toolinspect. 3 - Tats - Operation. Tekniska data. verktygsövervakning

Datorsystemteknik DAV A14 Föreläsning 1

Kunskapsbank ICARUS DB

KURSMÅL WINDOWS STARTA KURSEN

Test av lösenordsknäckningsattacker mot Windowsanvändare

Datorarkitekturer med operativsystem ERIK LARSSON

Innehåll. Programmeringsteknisk översiktskurs för yrkeshögskoleprogram. Operativsystem. Vad är/gör en processor? Klockhastighet

Mer datorarkitektur. En titt I datorn Minnen

Hyper-Threading i Intelprocessorer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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

Introduktion till processer

Datorhistoria Introduktion till PBL

Apple Remote Desktop 3. Viktor Glemme Systemingenjör - Apple glemme.v@euro.apple.com

Tentamen i Informationsteknologi 5p Fredagen den 13 augusti 2004

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

Transkript:

Fö 7: Operativsystem Introduktion. Klassificering. Vad är ett operativsystem? Program som kontrollerar andra andra program. Gränssnitt mellan användare och hårdvaran. Kärnan. Historisk översikt. Typeset by FoilTEX 1 Typeset by FoilTEX 2 Styr operativsystemet datorn? Operativsystemet är ett datorprogram. - Exekveras av CPU. - Måste släppa kontrollen till andra program för att arbeta skall utföras. - Måste lita på att kontrollen ges tillbaka. Målsättning med operativsystem Bekvämlighet: gör datorn mera lätt använd. Effektivitet: gör det möjligt att använda datorsystemets hårdvara effektivt. Vad är det för skillnad på OS och vanliga program? Typeset by FoilTEX 3 Typeset by FoilTEX 4

Operativsystemets uppgifter Operativsystemet som resursfördelare Abstraktion: skall erbjuda en enkel (abstrakt) maskin till användare. - Exempel: Virtuellt minne mycket större än Primärminne. Standardiserade gränssnitt: portabla applikationsprogram. Fördelning av resurser: - Flera processer delar en processor. - Flera program delar fysiskt minne. - Flera användare och filer delar en hårddisk. - Flera program delar nätverksbandbredd. Typeset by FoilTEX 5 Typeset by FoilTEX 6 Tjänster Skapa program. Exekvera program. Olika typer av Operativsystem (1) Enanvändarsystem: - PC, Enkla kommandon, Implementation av filsystem, I/O hantering. Åtkomst till I/O enheter. Kontrollerad åtkomst till filer. Systemåtkomst. Säkerhetshantering. Felupptäckt, loggning,... Kontohantering. Typeset by FoilTEX 7 Typeset by FoilTEX 8

Olika typer av Operativsystem (2) Processstyrning eller övervakning. - Medicinska system. - Industriell processkontroll. - Tillförlitlighet. - Realtid. - Ingen operatör. Olika typer av Operativsystem (3) Databashantering. - Stora mängder data. - Stöd för sökning. - Frågespråk. Typeset by FoilTEX 9 Typeset by FoilTEX 10 Olika typer av Operativsystem (4) Transaktionssystem. - Biljettbokning, Bankomat. - Databas med realtidsuppdatering. - Samtidiga transaktioner. Olika typer av Operativsystem (5) Generella system - IDAs PUL. - Olika applikationer. - Många användare. Typeset by FoilTEX 11 Typeset by FoilTEX 12

Interaktionsmöjligheter (1) Interaktiv bearbetning. - Tangentbord/bildskärm. - Kallas real-time processing, on-line processing. Batch (satsvis bearbetning). - Ladda in ett program och låt det köra utan vidare interaktion. Interaktionsmöjligheter (2) Uniprogramming - Ett program exekveras i taget tills det avslutas. Multiprogramming - Flera program. - CPUn byter mellan program. - Problem: resurser som CPU, minne, etc, måste delas. Typeset by FoilTEX 13 Typeset by FoilTEX 14 Interaktionsmöjligheter (3) Fleranvändarsystem Operativsystemets struktur Lökmodellen. - Flera samtidiga användare. - Delar CPU tid ( time sharing ). - Delar primärminnesrymd. - Minnesskydd. Typeset by FoilTEX 15 Typeset by FoilTEX 16

Kärnan Gränssnitt mellan operativsystem och hårdvaran. Processhantering: - Representation av processer. - Delande av CPU. - Kommunikation mellan processer. - Avbrottshantering. Processer Exekvering av ett program svarar mot en process. En process representeras av ett Process Kontroll block. - Processidentitet - Tillstånd. - Prioritet. - Programräknare. - Registerinnehåll. - Minnnesutrymme (övre och undre gräns). - I/O status information. - Bokföring. Använd CPU tid, etc. Ett program kan exekveras samtidigt av flera processer. Typeset by FoilTEX 17 Typeset by FoilTEX 18 Processrepresentation (UNIX) Processtabellen Process 0 skapas vid bootning. Övriga av fork. Vissa processer är systemprocesser. Innehåll i en process: - Information om var processen finns (kan vara swappad). - Tillstånd, Storlek, Användaridentitet, Processidentitet. - Information för att hantera schemaläggning, använd exekveringstid, resursutnyttjande. - Minnesutrymme. Information kan visas med ps eller top. Typeset by FoilTEX 19 Typeset by FoilTEX 20

Hårdvarustöd (1) Avbrottsmekanism - Upptäcka avbrott, spara programräknaren (PC), hopp till avbrottshanteringsrutin. - Ta över/släppa kontroll över CPU. Minnesskydd - Skydda det minnesutrymme som hör till en viss process ifrån andra samtidiga processer. Hårdvarustöd (2) Priviligerade iunstruktioner - Farliga instruktioner kan bara exekveras av OS. - Exempelvis förändring av interna adressregister. Realtids klocka. - Processer skall inte kunna ta över CPU för länge. Typeset by FoilTEX 21 Typeset by FoilTEX 22 Avbrott Två typer av avbrott. Avbrottshantering (1) 1. Spara programräknaren (PC). Lagra adressen till avbrottshanteringsrutinen. Externa avbrott - Exempelvis från I/O enhet vid direktminnesåtkomst. Interna avbrott. - Aritmetriska fel. Division med noll. - Timeout. - Felaktig minnesåtkomst. - Hårdvarufel. Typeset by FoilTEX 23 Typeset by FoilTEX 24

Avbrottshantering (2) Spara registerinnehåll för det avbrutna programmet. - Spara register som används av avbrottshanteringen. - Spara alla register. Exempelvis vid byte av aktiv process. Bestäm orsak till avbrott. Exekvera rätt rutin. Återskapa sparade register. Schemaläggning Schemaläggning är myckeln till multiprogrammering. Long term - vilka processer skapas/avslutas. Medium term - vilka processer lagras helt eller delvis i primärminnet. short term - exekveringsordningen för aktiva processer. I/O schemaläggning. Processer köar till olika I/O enheter. Återställ PC. Typeset by FoilTEX 25 Typeset by FoilTEX 26 Long term scheduling Bestämmer vilka program som släpps in för exekvering. Kontrollera graden av multiprogrammering. Efter att processen laddats till primärminnet tar short term scheduler över. Medium term scheduling Swap Del av minneshanteringssystemet. Vilka processer finns i primärminnet och vilka finns i swapminnet? Swappad process hanteras av medium term scheduler. Typeset by FoilTEX 27 Typeset by FoilTEX 28

Short term scheduling Det mest frekventa schemaläggnings beslutet. Hanteras av en dispatcher i operativsystemskärnan. Vilken aktiv process får tillgång till CPU under nästa tidsenhet? Regler för dispatching Processen överlämnar kontroll t.ex vid I/O operation. Prioritetsbaserad schemaläggning: - Externa prioriteter från användare. - Interna prioriteter baserat på hur länge processen har väntat, hur ofta processen gör I/= anrop, etc. Tidsdelningssystem. Typeset by FoilTEX 29 Typeset by FoilTEX 30 Tidsdelningssystem Processtillstånd Varje process får ett tidskvantum. Ofta 10-100 millisekunder. Varje användare kan ges känslan av att vara den enda användaren på systemet. Typeset by FoilTEX 31 Typeset by FoilTEX 32

Sammanfattning Operativsystemet är ett program som alla andra. Operativsystemets uppgift är att - styra exekveringen av andra program. - fördela datorsystemets resurser (CPU tid, I/O enheter,... ). Operativsystemet måste släppa kontrollen över CPU. Avbrotts mekanismen ger tillbaka kontrollen. Operativsystemet förbrukar CPU tid och minne. Solaris kräver ungefär 8MB utrymme i primärminne. Historisk översikt De tidigaste datorerna hade inget Operativsystem. 1960 (tidigt): System för att exekvera job på batch-system. 1960-1970: - OS/360 gemensamt operativsystem för IBM/360 serien. Hårddisk. - Tidsdelingssystem (Multics). 1969: Första versionen av UNIX vid Bell Labs (eller Unics efter Multics). - 1971: The UNIX Programmer s Manual. - 1973: UNIX skrivs om i C. Portabelt. - Flera liknande OS för Stordatorer. 1973: Xerox Alto arbetsstation. Första fönsterhanteringssystemet. Typeset by FoilTEX 33 Typeset by FoilTEX 34 Historisk översikt (2) 1974-76: CP/M för Intel-baserade mikrodatorer. Historisk översikt (3) 1983: Apple Lisa. OS med multitasking, virtuellt minne, fönster system. 1980: Xenix från Microsoft. UNIX version för mikrodatorer. 1981: MS-DOS från Microsoft. Kopia av CP/M. 1982: SunOS (nu Solaris). 1990-1995: Mikrodatorer klarar fönster hantering, multitasking, etc. Linux, Microsoft Windows, IBM OS/2, MacOS. Typeset by FoilTEX 35 Typeset by FoilTEX 36