Faglig kontakt under eksamen: Orestis Gkorgkas

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

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

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

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

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Løsningsforslag for TDT4186 Operativsystemer

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ØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

Løsningsforslag for TDT4186 Operativsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i TDT4186 Operativsystemer

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Kort notat om parallellstyring IN147

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

TDT4258 Eksamen vår 2013

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

HØGSKOLEN I SØR-TRØNDELAG

Oppgave 1 Datamodellering 22 %

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

Eksempler på ikke-blokkerende systemkall:

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

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

UNIVERSITETET I OSLO

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

Løsningsforslag for TDT4186 Operativsystemer

EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum

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

Definisjon av prosess

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

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på TDT4155 Datamaskiner og operativsystemer

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (SENSURVEILEDNING)

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

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.

UNIVERSITETET I OSLO

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki Hukommelseshierarki-2 1

Tråder og concurrency i Linux

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

HØGSKOLEN I SØR-TRØNDELAG

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

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

EKSAMEN I FAG SIF MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl

Oppgave 1 - Linux kommandolinje (%)

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Eksamen i TTK4145 Sanntidsprogrammering 12. august

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

DAT kandidatnummer: 142

Fakultet for informasjonsteknologi,

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

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

1,r H øgs kolen i Østfol d

Minnehåndtering i operativsystemer

Løsningsforslag til Eksamensoppgave i TDT4190 Distribuerte systemer

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

Fakultet for informasjonsteknologi,

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (BOKMÅL) SENSURVEILEDNING

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Tildeling av minne til prosesser

Operativsystemer og grensesnitt

TDT4225 Lagring og behandling av store datamengder

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

Minnehåndtering i operativsystemer

NTNU, TRONDHEIM Norges teknisk-naturvitenskapelige universitet Institutt for sosiologi og statsvitenskap

Forelesning ISA-nivået Kap 5.1

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

Tildeling av minne til prosesser

Introduksjon til kurset og dets innhold

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

EKSAMEN I FAG TDT MMI Tirsdag 1. juni 2004 Tid: kl

UNIVERSITETET I OSLO

Fakultet for informasjonsteknologi,

1. Introduksjon til operativsystemer

TDT4160 AUGUST, 2008, 09:00 13:00

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Operativsystemet Internt

EKSAMEN I EMNE TDT4230 VISUALISERING LØRDAG 10. DESEMBER 2005 KL

Eksamensoppgave i TMA4140 Diskret matematikk

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.

Løsningsforslag for Eksamen i TDT4190 Distribuerte systemer. Onsdag 23. mai

ALGORITMER OG DATASTRUKTURER

Mer om C programmering og cuncurrency

Løsningsforslag til eksamen i IN 147(A)

Oppgave 1 Datamodellering 25 %

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Oppgave 8.1 fra COD2e

EKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS. D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

TDT4110 IT Grunnkurs Høst 2015

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

ALGORITMER OG DATASTRUKTURER

Det matematisk-naturvitenskapelige fakultet

Introduksjon til DARK assembly

EKSAMEN I LOGIKK OG RESONNERENDE SYSTEMER (TDT4136)

Transkript:

Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Faglig kontakt under eksamen: Orestis Gkorgkas Tlf.: Eksamensdato: 11. august 2012 Eksamenstid: 09.00-13.00 Tillatte hjelpemiddel: D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Språkform: Bokmål Sensurdato: 1. september 2012 Oppgaven er kontrollert av professor Kjell Bratbergsengen.

Side 2 av 5 Oppgave 1 Generelt 15 % a) b) c) Operativsystemet tilbyr sine tjenester enten via bibliotekskall eller ved at det har en prosess som betjener tjenesten. Brukerprosessen vil kalle en biblioteksfunskjon som igjen må gjøre et systemkall. Når systemkallet skjer blir konteksten for CPUen byttet til kjernemodus slik at operativsystemet kan beskytte den ressursen som tjenesten gjør bruk av, for eksempel for hindre at brukerprosessen ødelegger ei fil. En TRAP-instruksjon brukes for å implementere et systemkall og det er en instruksjon som skifter fra brukermodus til kjernemodus. OS-kjernen vil så utføre en funksjon som er registrert for det gjeldene nummeret som er lagt inn i et register osv. Se side 49 i Tanenbaum. Fork, waitpid, execve og exit er nevnt i Tanenbaum. Oppgave 2 Prosesser 10 % a) Prosesser har tre hovedtilstander: Running, Blocked og Ready. Lag en figur som viser hvordan en prosess skifter mellom de tre tilstandene.

Side 3 av 5 b) Figuren under viser CPU-utnyttelsen som en funksjon av multiprogrammeringsgraden. Forklar kort hva figuren viser: Figuren viser at du må ha mange prosesser/tråder som kjører for å utnytte CPU-en helt. Jo mer I/O prosessene gjør, jo flere prosesser kan CPUen betjene samtidig. Oppgave 3 Tråder 10 % Det er vanlig å anbefale å bruke (kjerne-)tråder som kan dele adresserom og ressurser. Man må da håndtere samtidig aksess av minne, men hvis man har en mottakertråd som starter de andre trådene, kan den koordinere hvilke deler av adresserommet hver tråd har lov å bruke. Enkelttrådete prosesser er tunge å bruke når man skal betjene mange klienter samtidig, fordi hver prosess har et stort overhead med ressurser den trenger. Aynkron-I/O og tilstandsmaskiner kan være vanskelig å programmere og vedlikeholde. Oppgave 4 Synkronisering 20 % a) Her går det an å bruke forskjellige mekanismer. For eksempel mutexer, semaforer eller språkmekanismer som monitorer. Det mest naturlige er bruke den mekanismen som er tilgjengelig i den omgivelsen man programmere i. Mutex er er enkle låser for å sørge for at en tråd om gangen har tilgang til et bestemt minneområde. Semaforer er omtrent som mutex er, men har i tillegg muligheten til å telle hvor mange som skal ha aksess. De er dermed litt mer avanserte og kan være vanskeligere å bruke. Monitorer er laget for å være enklere å bruke, men de krever en nøyaktighet i bruken de også for å være sikker på at de ikke blir «race conditions». b) Programmet kan få problemer fordi «guarden» er delt i to setninger som det kan komme prosesskifte mellom. For eksempel hvis consumer først kjører If (count==0),

Side 4 av 5 som slår til og så får vi et prosesskifte hvor count blir inkrementert av producer som så vekker opp consumer som igjen kjører videre med sleep. Da kan consumer vente evig fordi producere har gjort sitt wakeup. Oppgave 5 Minnehåndtering 20 % a) Forklar hvordan man kan organisere en sidetabell slik at den kan støtte store adresserom. Bruk gjerne en figur. Det brukes gjerne en flernivå sidetabell, gjerne med fire nåver. I figuren over er det brukt tre nivår, hvor de to første delene av adressen er indikser til sidetabellene i to nivåer, og den siste delen er offset innen siden. Man slår da først opp i øverste nivå av sidetabellen (ved PT1) og finner neste del av sidetabellen som man så slår opp i (ved PT2). Så bruker man offset innen den sida man finner. b) Working set model. Se Tanenbaum side 207-211. c) En adresse er delt opp i segment-selektor og Offset. Ved hjelp av segmentselektoren finner man segmentbeskrivelsen som inneholder bl.a. baseadressen for segmentet. Da er det å addere offset til baseadressen og man får den endelige adressen. Oppgave 6 Filsystemer 10 % a) For hver direktepeker har man en blokk, dvs. 10 * 4K.

Side 5 av 5 For hver enkeltindirektepeker har vi en blokk med pekere: (4096/4)=1024 pekere til 4K blokker, dvs. 4096 K = 4 M For hver dobbelt indirektepeker har vi (4096/4) 2 pekere til 4K blokker. For hver trippelt indirektepeker har vi (4096/4) 3 pekere til 4K blokker. Til sammen (10+1024+1024 2 +1024 3 ) blokker av 4K. b) Her står det en del i Tanenbaum (side 306-307) om at det er lurt å ikke skrivecache metadata for filsystemet, dvs. alle blokker som ikke er vanlige data, Oppgave 7 Vranglås 15% a) Pre-emption Rollback Killing processes. b) Her kan P2 få det den spør etter. Etter at P2 har kjørt får vi tilgj.vektor: (2 2 2 0) Da kan P1 få det den spør etter. Etter at P1 har kjørt får vi tilgj.vektor: (4 2 2 1) Da kan P0 kjøre og alle tre er ferdige. Systemer er i en sikker tilstand.