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

Like dokumenter
oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

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

Operativsystemer og grensesnitt

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

Generelt om operativsystemer

Definisjon av prosess

Introduksjon til kurset og dets innhold

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

Scheduling og prosesshåndtering

Generelt om operativsystemer

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

TDT4258 Eksamen vår 2013

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner

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

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

Kjenn din PC (Windows 7)

HØGSKOLEN I SØR-TRØNDELAG

Eksempler på ikke-blokkerende systemkall:

Prosesstabeller (PCB - Prosess Control Block) Se på PD: kommandoene ps og top Bakgrunnsprosesser Opprettelse av prosesser:

Debugging. Tore Berg Hansen, TISIP

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Det matematisk-naturvitenskapelige fakultet

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

DAT kandidatnummer: 142

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Kommersiell Unix Linux og frie Unix kloner

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

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning Data

Oppgave 1 - Linux kommandolinje (%)

Tråder og concurrency i Linux

1. Introduksjon til operativsystemer

Faglig kontakt under eksamen: Orestis Gkorgkas

Installasjonsmanual for 1 st part TAPI

Hypervisor. Hardware. Virtualisering. App 1. App 2. App 2 App 1 App 2 App 1 CPU RAM I/O. Virtualisering av server/desktop hardware

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D

Håndtering av minne i et OS

Computer Setup Brukerhåndbok

Eksamensinformasjon. Prosesser. Prosesser. Eksamensoppgave. Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl

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

Repetisjon - Modul 1

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

En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.

Operativsystemer og nettverk

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

UNIVERSITETET I OSLO

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

Deadlocks og mer om concurrencymekanismer

OS Struktur Prosesser Kommandotolker Distribuert Filer Skript Mer?

Phu Pham Laboppgave 29. September 2015

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

INF2270. Input / Output (I/O)

2. Hvor mye Internminne har den? Svar: 2GB

Operativsystemer for multiple prosessorer

Oppgave lab. 2. Hvor mye Internminne har den? - Maskinen har 2GB internminne.

EKSAMEN. Operativsystemer. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

Tildeling av minne til prosesser

Hvorfor lære om maskinvare*?

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.

6105 Windows Server og datanett

Kjenn din PC (Windows7)

Computer Setup Brukerhåndbok

-/tmp med navn på alle kataloger og filer etter at disse

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

HØGSKOLEN I SØR-TRØNDELAG

Oppgave: Last ned og installer bzflag apt-get install bzflag 121A - Virtualisering

Del 2. Bak skallet. Avsette minne til et spesifikt OS Teste harddisk under oppstart Sette opp system logger

Dagens tema. Nyttige programmer Programmet make. Hvis én fil endres, hvilke filer må da kompileres på nytt?

Tildeling av minne til prosesser

Internminnet. Håkon Tolsby Håkon Tolsby

faks: Avdeling for Ingeniørutdanning. Cart Aælersgate Oslo - tlf 05. iu@hio.no

Tonje Thøgersen, Daniel Svensen Sundell, Henrik Smedstuen

Læringsmål og pensum. v=nkiu9yen5nc

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

Setup-programmet. Brukerhåndbok

Minnehåndtering i operativsystemer

HØGSKOLEN I SØR-TRØNDELAG

Del1: Setup: BIOS. 2. Hvor mye Internminne har den? 3GB DDR2

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

Setup-programmet. Brukerhåndbok

Martin Olsen, Lars- Petter Ahlsen og Jon- Håkon Rabben

UNIVERSITETET I OSLO

Dagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer

Overflows. Building Secure Software. Inf 329, Høst Chapter 7. Lars Skjærven

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.

2 Om statiske variable/konstanter og statiske metoder.

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

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

Definisjon av prosess

2 Om statiske variable/konstanter og statiske metoder.

Computer Setup. Dokumentdelenummer: Mai 2005

INF2270. Input / Output (I/O)

AlgDat 10. Forelesning 2. Gunnar Misund

Kjenn din PC (Windows7)

1,r H øgs kolen i Østfol d

Brukerprogram OS hardware

ZFS. Solaris og ZFS som ny hjemmekatalogløsning for ansatte og studenter ved UiB

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Transkript:

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

oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere applikasjoner Abstraksjon av ressurser (hardware) Deling av ressurser (hardware) Sikkerhet 1

oppgave 1 Hvorfor trenger vi å forstå hvordan de fungerer? Hva gjør operativsystemet for oss? Hva kan operativsystemet ikke gjøre for oss? Forstå feil som oppstår Forstå hvordan programmene våre fungerer i en større sammenheng 2

oppgave 2 Hva er hovedoppgavene til BIOS og bootstrap? BIOS Basic Input/Output System Bootstrapping Å starte opp seg selv på egenhånd 3

oppgave 2 Beskriv enkelt hva skjer fra øyeblikket når vi slår på datamaskinen frem til operativsystemet er klart til bruk. Forhåndsbestemt oppstartsaddresse POST Power On Self-Test BIOS laster inn en bootloader og starter bootloaderen Bootloaderen laster inn operativsystemet og starter operativsystemet Operativsystemet kjører initialiseringskode 4

oppgave 3 Hva er bruker- og kernelnivå? Hvorfor kan ikke alt kjøre på kernelnivå? Kernel-nivå: Koden til operativsystemet Tilgang til alle ressurser og instruksjoner Bruker-nivå: Begrensede instruksjoner Tilgang til ressurser gjennom systemkall Hvorfor et slikt skille? Sikkerhet Brukervennlighet (for programmerere) 5

oppgave 4 Hva skjer når vi gjør et systemkall (feks. read) fra brukernivå? Kaller en funksjon i et bibliotek for systemkall Argumentene pushes på stacken Systemkall-nummer legges i et register Interrupt-instruksjon Operativsystemet utfører systemkallet Systemkallet returnerer til biblioteket når den er ferdig Returnerer til funksjonskallet 6

oppgave 5 Hva er fordeler og ulemper med monolitiske kjerner vs micro-kjerner? Monolittisk: Hele operativsystemet kjører i kernel mode Ett stort operativsystem-objekt som kompileres og lastes inn av bootloaderen Alle deler av operativsystemet kan kommunisere direkte med hverandre (delt minne) Micro-kjerner: Kun de mest nødvendige delene kjører i kernel mode Resten kjører på brukernivå (drivere, filsystem, protokoller) Kommunikasjon mellom ulike moduler gjennom IPC. 7

oppgave 5 Monolithic Kernel based Operating System Microkernel based Operating System Application System Call VFS user mode IPC, File System Scheduler, Virtual Memory Device Drivers, Dispatcher,... kernel mode Application IPC UNIX Server Device Driver File Server Basic IPC, Virtual Memory, Scheduling Hardware Hardware Kilde: https://en.wikipedia.org/wiki/file:os-structure.svg 8

oppgave 5 Hva er fordeler og ulemper med monolitiske kjerner vs micro-kjerner? Monolittisk: Fordeler: Raske Enkle å konstruere Ulemper: Store Lite fleksible under kjøring Feil i drivere kan være katastrofale Endringer krever rekompilering og omstart 9

oppgave 5 Hva er fordeler og ulemper med monolitiske kjerner vs micro-kjerner? Micro-kjerner: Fordeler: Minimale i størrelse Ekstremt fleksible Enklere å porte til en ny platform Ulemper: Vanskelig å gjøre effektivt (men ikke umulig) 10

oppgave 5 Finn ut hvordan de mest populære OSene (Windows, Linux, OS X) er bygd med tanke på kjernetype. Windows: Monolittisk OS X: Monolittisk Linux: Monolittisk Alle tre er monolittiske, men henter noen egenskaper fra micro-kjerner Ofte betegnet som hybrid-kjerner 11

oppgave 6 Hva er en interrupt? Hva skjer når en interrupt blir opprettet? Signal til prosessoren om noe som krever operativsystemets oppmerksomhet Kilder Hardware (IRQ) Harddisk, nettverkskort, timer Software Interrupt-instruksjoner Exceptions/Traps Side-effekt av en instruksjon Prosessoren kaller en Interrupt Service Routine som OSet har satt opp En ISR lagrer state, håndterer interrupten, og gjenoppretter state 12

oppgave 7 Forklar hvordan funksjonene fork() og execve() fungerer. Fork: Oppretter en ny prosess Kopierer programkoden, stacken, heapen, context og prosess-relaterte datastrukturer i kjernen Returnerer 0 i den nye prosessen. Returnerer PID til barneprosessen i foreldreprosessen. Execve: Bytter ut programkoden med et nytt program Setter opp stacken og heapen på nytt Hva får vi om vi kombinerer disse? 13

oppgave 8 Forklar hva som skjer i en context switch. State (registere) lagres i PCB State til neste prosess lastes fra PCB OSet iverksetter den neste prosessen 14

15