Innhold. Om denne boka 1. Kapittel 1 Operativsystemer og mellomvare 5

Like dokumenter
ANDERS FONGEN. Operativsystemer. Et Java-perspektiv

Operativsystemer og grensesnitt

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Generelt om operativsystemer

Minnehåndtering i operativsystemer

Tildeling av minne til prosesser

Hvorfor lære om maskinvare*?

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

Tildeling av minne til prosesser

Tildeling av minne til prosesser

Introduksjon til kurset og dets innhold

Minnehåndtering i operativsystemer

Håndtering av minne i et OS

Generelt om operativsystemer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4190 Distribuerte systemer Onsdag 4. august 2004,

Læringsmål og pensum. v=nkiu9yen5nc

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Definisjon av prosess

1. Introduksjon til operativsystemer

Hvorfor lære om maskinvaren*?

Løsningsforslag for TDT4186 Operativsystemer

Generelt om permanent lagring og filsystemer

Løsningsforslag for TDT4186 Operativsystemer

Institiutt for informatikk og e-læring, NTNU CPUens deler og virkemåte Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

Fakultet for informasjonsteknologi,

Maskinvaredelen av INF 103: oversikt og innhold (1)

Tråder Repetisjon. 9. og 13. mai Tråder

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer 14. august 2006,

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 / SIF8042 Distribuerte systemer August 2005,

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

Eksamensoppgave i TDT4186 Operativsystemer

Hvorfor operativsystemer? Introduksjon til operativsystemer. Samtidighet. Praktiske hensyn. Kjell Åge Bringsrud INF103

UNIVERSITETET I OSLO

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Operativsystemer for multiple prosessorer

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Oppsummering av digitalteknikkdelen

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

Filer i Linux og Bourne-again shell

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

1,r H øgs kolen i Østfol d

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

MAKE MAKE Arkitekter AS Maridalsveien Oslo Tlf Org.nr

TDT4258 Eksamen vår 2013

Faglig kontakt under eksamen: Orestis Gkorgkas

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Tråder Repetisjon. 9. og 13. mai Tråder

AlgDat 12. Forelesning 2. Gunnar Misund

TDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

AlgDat 10. Forelesning 2. Gunnar Misund

6105 Windows Server og datanett

Introduksjon til operativsystemer

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Filer i Linux og Bourne-again shell

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

Løsningsforslag for TDT4186 Operativsystemer

Kort notat om parallellstyring IN147

Bits&Bytes Om datamaskinens oppbygging og virkemåte. TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse

EKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.

iseries Innføring i Client Access Express

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006,

HØGSKOLEN I SØR-TRØNDELAG

Operativsystemer og nettverk Løsningsforslag til eksamen Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

HØGSKOLEN I SØR-TRØNDELAG

Synkronisering I. Kapittel 6. Tråd A. ferdig. t.varsle() u.vente() Tråd B. ferdig. tid

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe

HØGSKOLEN I SØR-TRØNDELAG

Filsystemet fra innsiden

Kapittel 1: Datamaskiner og programmeringsspråk

Fakultet for informasjonsteknologi,

Forelesning ISA-nivået Kap 5.1

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

EKSAMEN. Operativsystemer og nettverk

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte. Oversatt av Rune Sætre,

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

Datamaskinens oppbygning og virkemåte

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte

Threads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.

Scheduling og prosesshåndtering

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Fakultet for informasjonsteknologi,

Datamaskinens oppbygning

VMware ESX og krav til hardware

Hvordan en prosessor arbeider, del 1

Transkript:

Innhold Om denne boka 1 Hvem er boka skrevet for? 1 Er dette en teoribok? 1 Hvor stort omfang har dette pensumet? 2 Laboratorieøvinger 2 Web-ressurser til denne boka 2 Om forfatteren 3 Kapittel 1 Operativsystemer og mellomvare 5 Hvorfor trenger vi et operativsystem? 5 Oppgavene til et operativsystem 6 Deling 6 Abstraksjon 7 Styring 8 Mellomvare 9 Distribusjon 10 Hvorfor ønsker vi distribusjon? 11 Distribuerte operativsystemer 11 Sanntids operativsystemer 12 Historien om Windows 12 Xerox Star 12 GEM, MacOS 13 Windows v.3, OS/2 14 Windows NT 15 Sikkerhetsproblemer 15 Historien om Linux 15 Linus Torvalds, Richard Stallman 17 Dugnadsånd 17 iii

Kommersiell distribusjon av Linux 18 Open Source vs. kommersiell utvikling 18 Linux 21 Windows 21 Kapittel 2 Oppbygging av maskinvaren 23 CPUen bestemmer 24 CPUens oppgaver 24 CPUens instruksjoner 25 CPUens interne organisering 26 Pipelining - overlappet instruksjonsutføring 27 Adresserbare celler 28 Minneceller 28 i/o-celler 28 Adresseres likt 28 Minne lagrer, i/o knytter til omverdenen 28 Bussene 29 Databussen 29 adressebussen 30 Kontrollbussen 31 En buss-syklus 31 Sammenheng mellom adresselinjer og minnestørrelse 32 Bussenes hastighet 34 Bruk av caching 34 Multiprosessorer 36 Tett eller løst koplet? 38 Når trenger vi multiprosessorer? 38 Blue Gene 39 Avbrudd 39 Telefonen ringer.. 41..mens du leser en bok 41 Timere 41 Direct Memory Access 42 Får være "sjef" en liten stund 42 Kapittel 3 Oppbyggingen av operativsystemet 47 Konstruksjonskriterier 47 iv

Ytelse, vedlikehold, korrekthet, standarder 47 Skillet mellom virkemåte og grensesnitt 48 Grunnfunksjoner i operativsystemet 49 Prosesshåndtering 49 Minnehåndtering 50 Filhåndtering 50 Utstyrshåndtering 51 (Meldingshåndtering) 53 Konstruksjonsstrategier 53 Inndeling i moduler - abstrakte datatyper 53 Objektorientering 54 Konfigurasjon av operativsystemet 55 Mikrokjerne 56 Bootstrap 57 Grensesnitt til operativsystemet 57 API og SPI 58 Programvareavbrudd - INT-instruksjonen 59 User mode / supervisor mode 60 Funksjonsgrensesnitt eller meldingsgrensesnitt? 61 Programmering i høynivåspråk 62 Kompilator 63 klassebibliotek 63 Kjøremiljø 64 Organisering av variabler og objekter 64 Stakkenogheapen 66 Java Virtual Machine 67 Skallet 68 Tegnbasert skall 68 Symbolbasert skall 69 Kapittel 4 Prosesser og tråder 73 Hva er en prosess? Hva er en tråd? 73 Kjøkkenet 73 En definisjon 74 Kan vi se en prosess eller en tråd? 74 Prosessens tilstand 75 Lagring og gjenskaping 75 Prosess-deskriptorer 76 Trådenes tilstand 76 Slektskap mellom prosesser 77 v

Administrasjon og styring av prosesser og tråder 78 Kontekst svitsj 78 Kjøreplanen 79 Avbruddshåndtering 80 Kjernetråder vs. brukertråder 82 Init-prosessen 84 Tråder i Java 84 Bakgrunnsartikkel: Hvorfor er java-tråder så nyttige? 87 utføring og beskyttelse 88 Portabilitet 89 Kapittel 5 Minnestyring 93 Behov og prinsipper 93 Hva mener vi med minne? 94 Beskyttelse og deling 94 Relokasjon 95 CPUens adresseringsmekanismer 96 Beskyttede registre 97 deling av minne med segmentregistre 99 Mulige tildelingsstrategier 100 Stiv tildeling 101 Fleksibel tildeling 102 Fragmentering 104 Virtuelt minne 104 Lagringshierarkiet 105 Paging 107 Segmentering 112 Minnebruk i et høynivåspråk 115 Minnestyring i Intel Pentium 116 Kapittel 6 Synkronisering I 121 Hva mener vi med synkronisering? 121 Samordning i tid 121 Vente/varsle i Java - 1.utkast 123 Tre typer av synkronisering 126 Reservasjon 126 Vente/varsle i Java - 2.utkast 130 Klient/tjener 131 vi

Bufret dataflyt 134 Synkronisering internt i operativsystemet 140 Kritiske mikroregioner 142 Kapittel 7 Synkronisering II 145 Hvorfor innebygget synkronisering? 145 Semaforer 147 Javas synkroniseringsmekanismer 148 Synchronized-ordet 148 wait/notify 150 Spesielle forhold ved monitorer 152 join 154 Sikker versjon av FIFO 156 Andre synkroniseringsvarianter 157 Mange-til-én 157 Én-til-mange - notifyall 158 Tidsgrenser 159 Vranglås 160 Eksempler på vranglås 160 Fire forutsetninger 161 Reservasjonsgrafer 163 Unngå vranglås? 165 Synkronisering i multiprosessorer 165 Kapittel 8 Permanent lagring 169 Behovet for permanent lagring 169 Hvordan ser det permanente lageret ut? 171 Navnesystem 171 Dataorganisering 171 Tilgangsmodell 172 Oppbyggingen av en disk 173 Geometri 174 Ytelse 176 Feilkorreksjon 176 Bruk av det permanente lageret 177 Java-kode for lesing av en tekstfil 178 Deling av filer 180 Fil-låsing 181 Atomiske operasjoner 182 vii

Filsystemets oppbygging 182 Lagringstjenesten 183 Administrasjon av plassen 183 Fysisk og logisk integritet 183 Utnytte lagringshierarkiet 184 Tilby et API til omgivelsene 184 Bufring av lese- og skriveoperasjoner 185 Katalogtjenesten 187 Hierarkiske kataloger 188 Metadata 189 Eksistenskontroll (livssykluskontroll) 189 inode-tabellen 190 Ytelse / caching 190 Kapittel 9 Distribusjon 195 Hvorfor distribusjon? 195 Datadeling 195 Ressursdugnad 197 Nettverksøkonomi 197 Feiltoleranse 199 Eksempel på distribuerte anvendelser 199 Fjernlagring 199 Programmerte tjenere 200 Fjernutføring av kommandoer 200 Tjenerklynger 200 Peer-to-peer 201 Hierarkiske kataloger 202 Spesielle problemer i distribuerte applikasjoner 204 Ingen felles tilstand 205 Uavhengig krasj og feil 205 Ingen felles klokke 206 Tilstandsløse tjenere 207 Operativsystemets rolle 208 Abstraksjon - single system image 208 Styring 210 Deling 212 Meldingsorientert synkronisering 213 Andre synkroniseringsvarianter 214 Multiprosessor-miljø 215 Bruk av Java for distribuert programmering 216 viii

Sockets 216 Stikkordsregister 225 ix

x