Løsningsforslag for TDT4186 Operativsystemer

Like dokumenter
Løsningsforslag for TDT4186 Operativsystemer

Eksamensoppgave i TDT4186 Operativsystemer

Fakultet for informasjonsteknologi,

Løsningsforslag for TDT4186 Operativsystemer

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

Fakultet for informasjonsteknologi,

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

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi,

Faglig kontakt under eksamen: Orestis Gkorgkas

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

Løsningsforslag for TDT4186 Operativsystemer

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

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

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

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

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

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.

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

TDT4258 Eksamen vår 2013

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

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

Fakultet for informasjonsteknologi,

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

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

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

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

Tildeling av minne til prosesser

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

Scheduling og prosesshåndtering

HØGSKOLEN I SØR-TRØNDELAG

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

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

HØGSKOLEN I SØR-TRØNDELAG

Fakultet for informasjonsteknologi,

Generelt om operativsystemer

HØGSKOLEN I SØR-TRØNDELAG

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

TDT4225 Lagring og behandling av store datamengder

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

G høgskolen i oslo. Dato: . Tillatte. .3aa, 3ab, 3ac, 3ia, 3ib, 3ic. Kandidaten må selv kontrollere at oppgavesettet er fullstendig.

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Fakultet for informasjonsteknologi, Løsning på SIF8042 Distribuerte systemer Tirsdag 27. mai 2003,

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

Tildeling av minne til prosesser

HØGSKOLEN I SØR-TRØNDELAG

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

Real-time Operativsystem

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

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

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

UNIVERSITETET I OSLO

Løsningsforslag til Eksamensoppgave i TDT4190 Distribuerte systemer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005,

Introduksjon til kurset og dets innhold

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

TDT4160 AUGUST, 2008, 09:00 13:00

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

Eksempler på ikke-blokkerende systemkall:

Eksamensoppgave i TELE2001 Reguleringsteknikk

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (SENSURVEILEDNING)

Generelt om operativsystemer

ALGORITMER OG DATASTRUKTURER

Tråder og concurrency i Linux

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

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

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Operativsystemer og grensesnitt

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

ALGORITMER OG DATASTRUKTURER

Eksamen i TTK4145 Sanntidsprogrammering 12. august

1,r H øgs kolen i Østfol d

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

Eksamensoppgave i TDT4117 Informasjonsgjenfinning. LØSNINGFORSLAG/Sensurveiledning

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

Kort notat om parallellstyring IN147

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Lørdag 8. august 2009, kl

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

EKSAMEN I LOGIKK OG RESONNERENDE SYSTEMER (TDT4136)

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (BOKMÅL) SENSURVEILEDNING

UNIVERSITETET I OSLO

DAT kandidatnummer: 142

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN

Transkript:

Institutt for Datateknikk of Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 13. august 2015 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte hjelpemidler: D: Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. Annen informasjon: Det ønskes korte og konsise svar på hver av oppgavene. Les oppgaveteksten meget nøye, og vurder hva det spørres etter i hver enkelt oppgave. Dersom du mener at opplysninger mangler i oppgaveformuleringene, beskriv de antagelsene du gjør. Hver av de seks oppgavene teller like mye, og hver av de tre deloppgavene teller like mye. 1

Oppgave 1: Operativsystemer (Operating Systems) a) Angi kort hvilke mål en har ved utvikling av operativsystemer Å kunne tilby tjenester så enkelt som mulig for brukere / program Å kunne forvalte ressurser så effektivt som mulig for systemet Å kunne fortsette utvikling over tid så fleksibelt / billig som mulig for brukere / programmer & systemet b) Sammenlign singelprosessor (singleprocessor) systemer og multiprosessor (multiprocessor) systemer mht funksjonalitet og implementering Funksjonalitet: Multiprosessor systemer tilbyr muligheter for større pålitelighet, større ytelse og mer réell parallellitet enn singelprosessor systemer Implementering: Multiprosessor systemer tilsier større utfordringer mht forhold som prosess-synkronisering, lagerhåndtering & tidsstyring enn singelprosessor systemer c) Diskuter fordeler og ulemper med multikjerne (multicore) arkitekturer og multiprosessor (multiprocessor) arkitekturer Multiprosessor arkitekturer: Tilbyr god funksjonalitet på flere forhold, men har utfordringer mht god implementering - korrekthet & skalerbarhet Multikjerne arkitekturer: Tilbyr nyttig caching på flere nivåer, med har utfordringer mht effektiv utnyttelse - virtuell maskin vs. sentral støtte Oppgave 2: Prosesser og tråder (Processes and Threads) a) Angi kort forskjellene mellom prosesser og tråder i operativsystemsammenheng Prosesser tilsvarer mer isolerte aktiviteter, har mer kontekst knyttet til seg og kan deles i tråder Tråder tilsvarer mer samhørende aktiviteter, har mindre kontekst knyttet til seg og kan samles i prosesser b) Illustrer med figur og tekst ulike måter å kombinere prosesser og tråder i eksisterende operativsystemer 2

Enkle kombinasjoner Avanserte kombinasjoner c) Sammenlign bruk av brukertråder (user-level threads) med bruk av kjernetråder (kernel-level threads) i programvare Ytelse: Brukertråder gir billige, men også blokkerende systemkall mens kjernetråder gir dyre, men også ikke-blokkerende systemkall Anvendelse: Brukertråder vil ikke kunne utnytte multiprosessorer, mens kjernetråder vil kunne utnytte multiprosessorer Oppgave 3: Synkronisering av prosesser (Process Synchronization) a) Forklar kort hva semaforer (semaphores) er i operativsystemsammenheng 3

Semaforer er et programmeringsverktøy for å håndtere uønsket parallellitet mellom ulike prosesser/tråder i programmer og består av en teller og en ventekø samt to tilhørende operasjoner b) Angi hvordan semaforer formelt defineres for prosessynkroniseringsformål c) Beskriv med kode og kommentarer minst to konkrete eksempler på hvordan semaforer brukes til å løse aktuelle utfordringer i programvare Gjensidig utelukkelse 4

Generell tidsordning Oppgave 4: Håndtering av lager (Memory Management) a) Forklar kort hva arbeidssett (working sets) er i operativsystemsammenheng Arbeidssett er et modelleringsverktøy som har som mål å fastlegge de og bare de sidene som til enhver tid trengs lett tilgjengelig for ulike prosesser / tråder. En betrakter da gjerne de sider som har vært brukt av prosessen / tråden over en viss tidsperiode. Omfanget av slike sider avhenger av valgt tidsperiode og vil svinge over tid men med lange stabile perioder innimellom. b) Angi hvordan arbeidssett teoretisk kan benyttes for lagerhåndteringsformål og diskuter om arbeidssett praktisk kan benyttes for lagerhåndteringsformål Teoretisk benyttelse tilsier å tilpasse sidesett (RS) i primærlageret som følger: Monitorer alle prosessers WS for gitt (Optimal -verdi?) Inkluder kontinuerlig de S innenfor WS i RS (Virtuelt Lager-innretning!) Ekskluder periodisk de S utenfor WS fra RS ( fortid! => fremtid?) Kjør kun prosesser der RS omfatter WS (Swappende Lager-innretning!) 5

Praktisk utnyttelse blir problematisk av følgende grunner: Fortid angir ikke alltid framtid Kontinuerlig måling av WS er vanskelig Fastlegging av optimal er vanskelig c) Illustrer med figur og tekst avveiinger som må foretas for å fastlegge hvor mange prosesser/ tråder som kan holdes i primærlageret og hvor mye kode & data hver av disse prosessene/ trådene kan ha inne i primærlageret til enhver tid Sammenheng mellom prosessor-utnyttelse og multiprogrammerings-nivå For få prosesser / tråder inni i primærlageret gir dårlig CPU-utnyttelse da det således ofte ikke er noen prosesser / tråder tilgjengelig for bruk av CPU-kraft For mange prosesser / tråder inni i primærlageret gir dårlig CPU-utnyttelse da det dermed brukes mye CPU-kraft på ut- & innswapping av hele prosesser / tråder Et brukbart balansepunkt mellom disse to ytterligheter etterstrebes ved å overvåke sidefeilfrekvensen til hver enkelt prosess / tråd Hver enkelt prosess / tråd må ha så mye kode & data inni i primærlageret at dens sidefeilfrekvens holder seg under et visst tak Antall aktive prosesser / tråder justeres da til enhver tid ut fra svingningene i hver enkelt prosess / tråd sin tilhørende sidefeilfrekvens Oppgave 5: Tidsstyring av prosesser (Process Scheduling) a) Forklar kort betydningen av tidsfrister (deadlines) i operativsystemsammenheng Tidsfrister betyr at fokus ikke bare er på at et korrekt resultat oppnås i beregninger, men også på når resultater av beregninger oppnås. Dette er ofte tilfelle når beregninger gjøres mer på vegne av maskiner enn på vegne av mennesker. 6

b) Illustrer med figur og tekst hvordan tidligste-tidsfrist-først (earliest deadline first) algoritmen kan virke godt for noen prosesstidsstyringstilfeller og ikke like godt for andre prosesstidsstyringstilfeller Eksempel hvor algoritmen kan virke godt Eksempel hvor algoritmen kan kreve tilpasning 7

c) Sammenlign effekt og ytelse av tidligste-tidsfrist-først algoritmen med noen andre relevante algoritmer mht ulike former for prosesstidsstyring med tidsfrister Earliest Deadline First-algoritmen gir garanti for snitt, men gir ikke garanti for varians, og gir ikke garanti for hver enkelt prosess / tråd for perioderangering / slakkrangering Rate Monotonic Scheduling-algoritmen gir garantier for hver enkelt prosess / tråd gitt at et ganske tøft utnyttelseskrav holder for perioderangering Least Laxity Scheduling-algoritmen gir garantier for hver enkelt prosess / tråd gitt at et mindre tøft utnyttelseskrav holder for slakkrangering Oppgave 6: Håndtering av I/O (I/O Management) a) Angi kort forskjellene mellom bufring (buffering) og caching (caching) i operativsystemsammenheng Bufring er mellomlagring med fokus på en enkelt aksess - mellom CPU og I/O-enheter, både inn og ut via OS-område Caching er mellomlagring med fokus på flere aksesser - utnytter lokalitetsprinsippet for fil-data b) Sammenlign effekt og ytelse av ulike varianter av bufring ifm I/O-håndtering og sammenlign effekt og ytelse av ulike varianter av caching ifm I/O-håndtering Varianter av bufring Uten bufring: Gir kjøre-blokkering og swapp-blokkering Single bufring: Unngår kjøre-blokkering og swapp-blokkering Dobbel bufring: Utjevner mindre hastighetsvariasjoner Sirkulær bufring: Utjevner større hastighetsvariasjoner Varianter av caching Minst nylig referert (LRU): Krever tidsmerke for hver side til en prosess / tråd Kan i praksis brukes i motsetning til for program-data Minst ofte referert (LFU): Krever referanseteller for hver side til en prosess / tråd Kan i praksis brukes i motsetning til for program-data 8

Frekvensbasert stakk (FBS): Krever seksjonert stakk for hver prosess / tråd Fungerer bedre enn både LRU & LFU ved å kombinere dem c) Diskuter bruk av ulike former for bufring og / eller caching mht ulike typer I/O-enheter Uten bufring / caching: 1*DMA Raskest (D->L / L->D) Anvendelig for f.eks. disk / tape / skriver Med bufring: 2*DMA Uten blokkering ( D ->L, L->L / L->L, L-> D ) Anvendelig for f.eks. terminal / kommunikasjonslinje / skriver Med caching: 2*DMA Lokalitetsutnyttelse (D->L, L->L / L->L, L->D) Anvendelig for f.eks. disk / tape 9