Fakultet for informasjonsteknologi,



Like dokumenter
Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi,

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

Løsningsforslag for TDT4186 Operativsystemer

Eksamensoppgave i TDT4186 Operativsystemer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi,

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

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer

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

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

Løsningsforslag for TDT4186 Operativsystemer

Fakultet for informasjonsteknologi,

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

Fakultet for informasjonsteknologi,

Tildeling av minne til prosesser

Tildeling av minne til prosesser

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

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

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

Fakultet for informasjonsteknologi,

Generelt om operativsystemer

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

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

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

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering

UNIVERSITETET I OSLO

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

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.

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

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

Oppsummering av digitalteknikkdelen

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

Scheduling og prosesshåndtering

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

Faglig kontakt under eksamen: Orestis Gkorgkas

Minnehåndtering i operativsystemer

UNIVERSITETET I OSLO

Introduksjon til kurset og dets innhold

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

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Fredag 28. mai 2004,

Vekst av planteplankton - Skeletonema Costatum

Hva er de viktige grepene en må ta for å få et datasystem til å fungere over tid i en bedrift? av Kjetil Inge Bakkan og Kristine Langeteig Waage

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

Terminprøve Sigma 1T Våren 2008 m a t e m a t i k k

Forelesning 9 mandag den 15. september

Deling av journal eller utlevering Er mulighetsrommet utnyttet? Heidi Thorstensen IKT-sikkerhetssjef/Personvernombud

Positiv og virkningsfull barneoppdragelse

Tyngdekraft og luftmotstand

BRUKERVEILEDNING. Oppsett av Activesync klient for Windows Smartphone og Pocket PC mot Exchange Customer Service Center

Minnehåndtering i operativsystemer

INF2270. Input / Output (I/O)

NyGIV Regning som grunnleggende ferdighet

Fasit og løsningsforslag til Julekalenderen for mellomtrinnet

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

Emnekode: LV121A Dato: Alle skrevne og trykte hjelpemidler

Oblig4 - forklaringer

Eksamen i TTK4145 Sanntidsprogrammering 12. august

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

UNIVERSITETET I OSLO

Repetisjon: høydepunkter fra første del av MA1301-tallteori.

STE6221 Sanntidssystemer Løsningsforslag

Løsningsforslag til F-oppgavene i kapittel 2

Prosent. Det går likare no! Svein H. Torkildsen, NSMO

DAT kandidatnummer: 142

På lederutviklingsprogrammene som ofte gjennomføres på NTNU benyttes dette verktøyet. Du kan bruke dette til inspirasjon.

Obs! Det er viktig å følge veiledningen under for å sikre korrekte a-meldinger og sammenstilling av inntektsopplysninger til de ansatte.

UNIVERSITETET I OSLO

Installasjonsrutiner og klienthåndtering

Hvorfor lære om maskinvaren*?

NM i speiding. Totall resultat: Oppgave navn: Praktisk 2. Patrulje nr: Patrulje navn: Gruppe: Krets: Poeng for oppgaven. Trekk.

TMA4140 Diskret matematikk Høst 2011 Løsningsforslag Øving 7

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

Oppnå. økt salg! Keeping things together

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

Arbeidstid. Medlemsundersøkelse mai Oppdragsgiver: Utdanningsforbundet

ELS- innføring i norske brannvesen

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

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

IA-funksjonsvurdering Revidert februar En samtale om arbeidsmuligheter

Håndtering av minne i et OS

Hilsen Jørgen Larsen Epost: Tlf: KFU Sandefjord

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember :00 13:00

Kunnskapsbehov. Torleif Husebø PTIL/PSA

Hypotesetesting. Notat til STK1110. Ørnulf Borgan Matematisk institutt Universitetet i Oslo. September 2007

Dette skjer ikke! Eller gjør det?

MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7.

HØGSKOLEN I SØR-TRØNDELAG

INF2270. Input / Output (I/O)

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

ALGORITMER OG DATASTRUKTURER

Sak 14/2015. Til: Representantskapet. Fra: Styret. Dato: Studentmedlemsskap i NAL. 1. Bakgrunn

Presentasjon. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo,

Nøkkelspørsmål til eller i etterkant av introduksjonsoppgaven:

KUNDEMONITOR Hvor fornøyde er kundene dine? Et samarbeid mellom Aalund & Revisorforeningen

EKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Mandag 13. desember 20010, kl

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Transkript:

Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på TDT4155 Datamaskiner og operativsystemer Mandag 15. desember 2003, kl. 0900-1300 Det ønskes korte og konsise svar på hver av oppgavene. Begrunn svar på alle oppgaver som ikke er flervalgsspørsmål. 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. Datamaskiner dekkes av oppgavene 1-4 mens Operativsystemer dekkes av oppgavene 5-8.

Side 2 av 7 Oppgave 5 Operativsystemer generelt (Operating systems in general) 12.5 % a) Beskriv kort hva et operativsystem er Et program som kontrollerer en maskins ressurser, og som tilbyr tjenester til vanlige brukere eller andre program. b) Diskuter kort hvilke oppgaver de ulike komponentene (functions) i et operativsystem løser CPU-bruk: Implementerer prosess-begrepet, synkroniserer prosesser, tildeler prosessortid til prosesser I/O-bruk: Implementerer fil-begrepet, tildeler diskplass og disktid til prosesser Lager-bruk: Implementerer virtuelt-lager-begrepet, tildeler primærlagerplass til prosesser c) Gi eksempler på hvordan en maskins avbruddssystem (interrupt system) får betydning for dets operativsystem På en enprosessor maskin kan operativsystemet implementere gjensidig utelukkende regioner ved å slå av og på avbruddssystemet. Dette må operativsystemet implementere annerledes i flerprosessor maskiner. d) Angi kort hvordan moderne operativsystemer skiller seg fra tidligere generasjoners systemer Moderne operativsystemer er ofte mikrokjernebaserte, objektorienterte og trådbaserte. De kan også være tilpasset flere prosessorer i tett koplete konfigurasjoner (multiprosessorer) eller løst koplete konfigurasjoner (distribuerte system). Oppgave 6 Bruk av CPU og I/O (CPU and I/O management) 12.5 % a) Beskriv kort hva som skjer i forbindelse med et prosess-skifte (process switch)

Side 3 av 7 CPU-en tas fra den kjørende prosess og gis til en ny prosess (muligens den samme). Begge prosessene vil endre tilstand (fra kjørende til kjørbar og fra kjørbar til kjørende). Det trengs modusskifter inn og ut av operativsystemet (fra brukermodus til systemmodus og fra systemmodus til brukermodus). b) Diskuter kort fordeler og ulemper med flerprosessorsystemer (multi processor systems) kontra singleprosessorsystemer (single processor systems) Fordeler med flerprosessorsystemer: Økt pålitelighet, økt ytelse, reell parallellitet (og ikke kun simulert) Ulemper med flerprosessorsystemer: Kompleks programvare, større ytelsesgap (mellom prosessering og lagring/innlesing-utskrift) c) Gi eksempler på noen operativsystemoppgaver som har innvirkning på ytelsen til filsystemer (file systems) Plassallokering på disker - og tidsstyring av disker. Caching og bufring av data mellom primærlager og sekundærlager. d) Ang kort hvorfor og hvordan tidsstyring av disker (disk scheduling) skiller seg fra tidsstyring av prosessorer (processor scheduling) En disk har flere mindre enheter som kan allokeres til mange, ulike applikasjoner samtidig. (En singelprosessor kan kun allokeres til en, bestemt applikasjon på et gitt tidspunkt). En disk er et ikke-sekvensielt medium: Det betyr noe hvilken enhet på disken som aksesseres. (En multiprosessor er mer som et sekvensielt medium: Det betyr ikke noe hvilken av prosessorene som brukes). Eksempler på algoritmer for tidsstyring av disker: Først-inn-først-ut (FIFO), Korteste søk først (SSTF), Toveis heis (SCAN), Enveis heis (C-SCAN) Eksempler på algoritmer for tidsstyring av prosessorer: Først-inn-først-ut (FCFS), Kontinuerlig rundgang (RR),

Side 4 av 7 Korteste totaltid først (SPN), Korteste gjenværende tid først (SRT), Høyeste responsforhold først (HRRN), Tilbakekopling (FB) Kun FIFO / FCFS er lik. (Og det er ikke noen god algoritme for verken disker eller prosessorer). Oppgave 7 Synkronisering av prosesser (Process synchronization) 12.5 % a) Beskriv kort hva som kreves i forbindelse med gjensidig utelukkelse (mutual exclusion) En må implementere en absolutt gjensidig utelukkelse En prosess som er innenfor kan forventes å ikke forbli der for lenge En prosess som er utenfor skal ikke kunne forhindre andre som vil inn En må sikre seg mot forekomster av utsulting og / eller vranglås En må sikre seg mot unødige forsinkelser når flere vil inn En kan ikke gjøre noen antagelser om antall prosessorer, antall prosesser eller deres relative hastighet b) Diskuter kort minst to prosess-synkroniseringsoppgaver som ikke kan håndteres i maskinvare men som må håndteres i programvare Gjensidig utelukkelse der hvor den kritiske regionen er så lang at aktiv venting blir uaktuelt; dvs. passiv venting blir nødvendig Generell tidsordning som for eksempel ved utveksling av spørsmål og svar mellom en klient og en tjener c) Gi eksempler på hvordan hver av de prosess-synkroniseringsoppgavene du har diskutert over løses med meldinger (messages) Gjensidig utelukkelse: Var Msg: Array [0..N] of Message; R.Mbx: Mailbox Initialize: Send (R.Mbx, Msg[0]) EnterCritical (R): Receive (R.Mbx, Msg[I])

ExitCritical (R): Send (R.Mbx, Msg[I]) Side 5 av 7

Side 6 av 7 Generell tidsordning: Var CM, SM: Message; C, S: Port KlientProsess: Repeat <Generate Question>; Send (S, CM); Receive (S, CM); <Apply Answer> Forever TjenerProsess: Repeat Receive (C, SM); <Apply Question>; <Generate Answer>; Send (C, SM) Forever d) Angi kort hva som skiller monitorer (monitors) fra semaforer (semaphores) Semaforer er generelle verktøy, som det er lett å begå feil med Monitorer er spesielle verktøy, som det er lett å bevise korrekthet for Oppgave 8 Håndtering av lager (Memory management) 12.5 % a) Beskriv kort hva lokalitetsprinsippet (locality principle) betyr Lokalitetsprinsippet tilsier at lagereferanser fra et gitt program statistisk seg klomper seg sammen; dvs. neste lagerreferanse er ofte nær forrige lagerreferanse b) Diskuter kort hvilke lagerhåndteringsoppgaver som ikke kan løses i maskinvare men som må løses i programvare De lagerhåndteringsoppgavene som forekommer relativt sjeldent, men som samtidig er relativt tidkrevende.

Side 7 av 7 For virtuelt lager vil dette si (hvor data = sider / segmenter): Innhenting: Når skal data som trengs leses inn i primærlageret Tilbakeføring: Når skal data som er endret skrives tilbake til sekundærlageret Plassering: Hvor skal innhentete data lokaliseres når det ikke er fullt Utbytting: Hvilke data skal innhentete data overskrive når det er fullt Mengde: Hvor mye data bør en prosess ha tilgjengelig i primærlageret Antall: Hvor mange prosesser bør være tilgjengelige i primærlageret c) Gi eksempler på hvordan hver av de lagerhåndteringsoppgavene du har diskutert over løses Innhenting: Ved behov dog før lesing; I forkant altså ved initiering Tilbakeføring: Ved behov altså ved utbytting; I forkant dog etter skriving Plassering: Første; Neste; Beste; Værste (Segmenter) Likegyldig (Sider) Utbytting: OPT; LRU; LFU; FIFO (Uvanlig) U-CLOCK; UM-CLOCK (Vanlig) Mengde: Behold arbeidssettet (Uvanlig) Tilpass aksessfeilraten (Vanlig) Antall: Tilpass aksessfeilratene samlet (Unngå både frigang og tresking) d) Angi kort hva som skiller sidedeling (paging) fra segmentering (segmentation) Sidedeling: Dataene deles i flere små moduler - som er av lik størrelse. Gir intern fragmentering, men unngår ekstern fragmentering. Segmentering: Dataene deles i flere små moduler - som er av ulik størrelse. Unngår intern fragmentering, men gir ekstern fragmentering.