Høgskolen i Molde Institutt for Informatikk Eksamen in240: Operativsystemer Høsten 2002 SVARFORSLAG:

Størrelse: px
Begynne med side:

Download "Høgskolen i Molde Institutt for Informatikk Eksamen in240: Operativsystemer Høsten 2002 SVARFORSLAG:"

Transkript

1 1 1

2 Høgskolen i Molde Institutt for Informatikk Eksamen in240: Operativsystemer Høsten 2002 SVARFORSLAG: bokmål Les dette før du begynner: Det er syv (7) oppgaver som skal løses på eget ark. Faglærer vil komme rundt et par ganger og besvare eventuelle spørsmål. Vær presis, gi din tolkning av spørsmålet. Forklar begreper du tar i bruk hvis de er sentrale i besvarelsen, grei ut om de forutsetninger du legger til grunn. Gjør et forsøk på å gi svar i hver oppgave og deloppgave. Bruk din intuisjon og vis resonnementet ditt der du ikke har eksakt viten. Vi ønsker å unngå at kandidaten ved feil glemmer å besvare spørsmål, så vennligst spesifiser hvilke spørsmål du ikke gir svar på. Lykke til! 1. Definer kort program, prosess og tråd. Hvordan realiseres Javatråder i Windows 2000, diskuter kort scheduling av trådene? Hva er fordelene med denne typen mapping i forhold til andre mapping-typer (beskriv kort alternativene)? Hvorfor er det så mange tråder i gang i en JVM (forklar først hva JVM er og gjør)? SVARFORSLAG: En prosess er et program under utførelse. Program ligger ofte i sekundært lager, på en fil. Et program er en serie instruk- Dato: 3. Desember 2002 Tid: kl Hjelpemidler: Kalkulator uten minne (KD) Oppgavesettet består av tre (3) sider inkludert forsiden 2

3 sjoner og data. Et binært program er en serie instruksjoner som en gitt prosessor kan utføre uten oversetting. En prosess består av binærkoden (instruksjonene) og data, sistnevnte klassifiseres ofte i statiske og dynamiske data, pluss stack. En prosess kan lede til en eller flere tråder internt i prosessen. I Windows 2000 implementeres 1:1 mapping mellom kernel- og Javatråder, slik at scheduler kan velge hvilken tråd som er neste i CPU. Både JVM og Windows 2000 bruker preemptiv prioritets-basert scheduling. Javatrådene vil nok bli plassert blant variable prioriteter, d.v.s. mellom 1 og 15; kernel kan booste prioritet av ulike grunner (derav variabilitet). 15 går foran 14, o.s.v. JVM er her Java Virtual Machine, den gir et kjøremiljø for Javaprogram. JVM er laget for mange prosessor-arkitekturer slik at Javaprogram med letthet kan flyttes mellom maskiner med ulik arkitektur. Alternativet til 1:1-mappingen er N:1 (en tråd i kernel for alle trådene i prosessen) noe som gir lav grad av kontroll eller, en kan samle tråder i trådgrupper som får en kerneltråd, hvilket gir noe bedre kontroll så lenge trådene i en trådgruppe har omtrent like behov. Andre fordeler er at en kan øke utnyttelsen av CPU: En prosess som blokkerer vil stoppe i sin helhet; hvis en deler prosessen i flere tråder kan en tråd blokkere mens andre CPU-avhengige fortsetter arbeidet. Til slutt kan en nevne fordeler som at kernel kan terminere en tråd uten at hele prosessen avbrytes; ala fordel med mikrokernel i forhold til monolittisk kernel. Ulempen med finkornet kontroll, derimot, ligger i at kernel har overhead per-tråd, bruker tid og plass for å administrere disse. Javatråder i Windows får egen kerneltråd. Det er som sagt JVM som administrerer kjøringen av Javaprogram, d.v.s. alle trådene programmet resulterer i. Ved oppstarten av programmet blir main()-metoden tildelt en egen tråd samtidig er det allerede igangsatt mange tråder til JVM s interne arbeid, f.eks. garbage collection. 2. Hva er det som gjør at vi må synkronisere parter (tråder, prosesser)? Hva kan gå galt i Java-programmet under, og hvorfor dette kan skje? Hvordan kan vi unngå slike feil i dette eksempelet ved bruk av semaforer eller monitorer? Forklar mekanismen som tilbys i Java for slik synkronisering. Lag gjerne kode som viser hva du mener. public class sjef { class arbeider extends Thread { public arbeider () { 3

4 public void run (int oppdrag) { // arbeider med oppdrag aktive=aktive-1; public sjef () { while (true) { int o = vent_oppdrag(); if (aktive < max_aktive) { aktive=aktive+1; arbeider a = new arbeider(); a.start(o); public static void main (String args[]) { sjef s=new sjef(); private int max_aktive=5; private int aktive=0; SVARFORSLAG: Som sagt i forrige spm., er synkronisering viktig for å unngå at prosesser forkludrer delte data som er under endring av andre samarbeidende/konkurrerende prosesser. Dette kan i eksempet skje hvis kundemottaket skal starte en ny arbeider, mottaket gjør new(), og leser variabel aktive som er 3. Scheduler velger deretter arbeider-b som akkurat er ferdig og skal oppdatere aktive. Denne leser aktive (finner ut at denne er 3) og reduserer aktive til 2. Deretter avsluttes tråden for arbeider-b. Scheduler velger deretter å fortsette med kundemottak som (fremdeles) innbiller seg at verdien i aktive er 3, starter en arbeider og endrer aktive til 4, hvilket blir feil. Sannsynligheten for at dette VIL skje kan diskuteres, det avhenger av arkitektur, implementering av JVM, en kan vurdere dette med at trådenes prioriteter er like og at det derfor vil kunne være vanskelig å fremprovosere synkroniseringsfeil. Det som uansett er viktig i synkronisering er å definere kritiske regioner i aktørenes program og sikre at ingen aktør er innenfor sine kritiske 4

5 regioner samtidig. Et annet viktig moment er å hindre at aktører ikke får tilgang, eller (viktig i realtime) får tilgang innen en viss tidsgrense. Kandidaten som ikke ser at aktive er en delt variabel og derfor en risiko her, vil kanskje foreslå at den kritiske region er inne i arbeiderens oppgave, altså skjult. Dette er ikke uttellende; en må kunne se at det er aktive som er problemet her. Teknikker som kan brukes er semaforer og monitorer. Med bruk av semafor startes metode P() i et tellerobjekt. I Java kunne en lage monitor eller semaforer som synchronized metoder i egne klasser. F.eks. et semaforobjekt med synchronized metode P og V, av typen binær/gate, d.v.s. at bare en kan aksessere den delte ressurs (som er variabel aktive ). Kundemottak og arbeiderne bruker da de synkroniserte metodene P og V før og etter kritisk region. JVM assosierer en lås med semaforobjektet, de som vil bruke metodene legges i en ENTERkø, JVM velger neste bruker derfra og lar denne eie låsen. Når bruker er ferdig med P (eller V) forlater den metoden og JVM kan velge neste. Det er ikke aktuelt å bruke wait() for semaforer; den bruker som har fått tilgang skal alltid gjøre seg ferdig. Den trenger aldri å erklære at den vil vente litt. Wait impliserer at brukeren av JVM legges i en WAITkø og forblir der (alene eller med andre ventende brukere) inntil en annen bruker (som i mellomtiden har fått låsen) sier notify(), hvilket betyr at han er FERDIG med objektet. Dette notify() betyr at JVM flytter en eller alle fra WAITkø til ENTERkø der de igjen kan kjempe/megle om eksklusiv tilgang til ressursen. NB! Kandidater som nevner semaforer som felles tellere og ikke sier noe om at en må forutsette gjensidig utelukkelse i kjøringen av P og V, er optimister. Og: Monitorer er ikke en del av Java, men kan emuleres med bruk av synkroniserte metoder. 3. Forklar kort hva som er hensikten med å utføre korteste jobb først. Nevn kort eventuelle ulemper. Hvordan vil denne formen for scheduling fortone seg i fordelingen av CPU, disk, minne og datalink i et LAN? F.eks. hva er det som er jobben for hver av disse? Hva er det som er kjent som spesielt vanskelig med denne typen scheduling, og hvordan kan en (f.eks. for CPU) gjøre noe for å overkomme vanskeligheten? (Vær litt kreativ hvis du synes dette er et vanskelig spørsmål, for disk og LAN må du nok foreslå noe selv (ikke beskrevet i boken). Vi ser her etter forståelse og abstraksjonsevne.) SVARFORSLAG: Med raskeste jobb først menes at scheduler (for en 5

6 gitt ressurs) velger den jobben som den først vil bli ferdig med. Hensikten kan være å holde kølengeden nede, redusere gjennomsnittlig ventetid. Ulempen kan være at langvarige jobber aldri får slippe til (starvation). Når kandidaten skal relatere dette til de fire ressurs-typene kan en tillate (spesielt for minne og LAN) innovative og spekulerende forslag; for CPU og disk er det i boken beskrevet SJF og SSTF. Oppgaven er vag, kan oppfattes på flere måter. Uansett: For CPU blir denne formen for scheduling identisk med Shortest Job First (SJF). Jobben er et sett av instruksjoner, og det er da den som har (antakelsesvis) færrest instruksjoner i sin CPU burst, som vil bli valgt. SJF kan gi mye kontekstbytting og derfor lavere effektivitet (se senere spm.) For disk er jobben å flytte søkearmen, en velger da den diskjobben som gir kortest forflytningstid (Shortest Seek-Time First (SSTF). En tenker vanligvis ikke på shortest file first (som noen kan komme til å nevne, men det er jo en legitim idé. For minnet s del er jobben det å flytte sider ut av minnet (til fordel for sider som skal inn). Dette tar like lang tid for alle sider, hvis en ser bort fra søketiden (alle sider er jo ellers like store). Men, en bør kanskje ta den som antakelsesvis gir minst fremtidig arbeid, en tar ikke ut en side som en tror vil bli etterspurt i nærmeste fremtid! For LAN vil meldingene har variabel størrelse og en vil velge den som har kortest lengde. Oppgaven innbyr delvis (sier datalink i LAN, kan tolkes vidt) til vurdering av ressurser som kan ligge distribuert hos andre maskiner. Her repliseres egentlig argumentene. Over til vanskeligheten (igjen et vagt formulert spørsmål): En kandidat kan f.eks. relatere dette til realtime scheduling der vanskeligheten ligger i å garantere tidsfrister (og har selvsagt mye rett i det i og en premierer da etter resonnementet). Men, det som har blitt gjentatt i forelesningene om bl.a. SJF, dreier seg om at det er vanskelig (bortsett fra disk og LAN) å finne ut hva som er jobbens lengde hvor lenge varer CPUburst, hvor lang tid tar det før en side skal brukes igjen? Her kan f.eks. eksponensiell glatting brukes for estimering. Siste leste jobblengde/varighet for en prosess er L.sistlest, og tillegges en vekt A; siste estimat er L.estimat og vektlegges 1-A; A er her en vekt mellom 0 og 1. Nytt estimat etter en observasjon: L.estimat=A*L.sistlest+(1- A)L.estimat. Dette er eksemplifisert i boken når det gjelder SJF. Høyere A gir mere vekt til de siste observasjoner. Tilbake til dette med realtime: Tiltak for å takle realtime går på å bruke en form for scheduling ala Earliest Deadline First (EDF) eller Rate-Monotonic Scheduling (RMS) som setter spesielle krav til erklæringer om hvor ofte, hvor lenge etc. for 6

7 hver prosess/tråd som skal ha tilgang til ressursen. Dette med realtime har ikke vært sentralt i kurset. 4. Forklar hvordan circular wait kan unngås. I hvilken forbindelse er dette et viktig problem å unngå? Gir dette prevention eller avoidance? Hvordan er dette temaet relatert til CPU scheduling (vær kreativ)? SVARFORSLAG: Circular Wait kan unngås på flere måter og en kan la kandidaten spinne på ulike løsninger, se hvordan det argumenteres (hvilket er det viktigste). En teknikk beskrevet i boken nummererer ressursene og tillater kun aktørene å be om ressurser med høyere nummer enn ressurser de allerede holder på. En annen teknikk er å (ganske enkelt) nekte en prosess å be om ressurser mens den holder en annen ressurs (max en i gangen). En tredje teknikk ligner på den forrige: Prosessen erklærer det han trenger (alt) og vil kunne starte først når alle ressurser er tilgjengelig (alt-eller-intet). De som foreslår preemption av en prosess snakker om recovery, ikke om det å unngå vranglås. Dette er da et problem innen temaet vranglås, og en trenger bare unngå en av fire kriterium for vranglås: Mutual Exclusion, Hold-and- Wait, No-Preemption og Circular Wait. I dette spørsmålet er det sistnevnte kriterium vi fokuserer på. Det å unngå vranglås er altså det man ønsker ja, har en garanti mot Circular Wait har en faktisk Deadlock Prevention (en garanti). Avoidance, derimot, betyr at en ikke er sikker på å ikke få vranglås, det er usikkerhet i etterspørsel som kan overstige tilbudet av ressurser. I avoidance setter en likevel i gang arbeidet og forsøker å unngå at ressurser tildeles slik at en kommer i usikker tilstand (unsafe). Hvordan kobler kandidaten dette til CPU scheduling? Nok en gang kan en la kandidaten spinne, resonnere seg frem til relasjoner. CPU Scheduling er tildeling av CPU til aktører som er interessert (tråd, prosess). En tråd/prosess kan be om CPU uten å få tilgang til denne, kanskje fordi den har for lav prioritet i et prioritets-basert system som Java. Samtidig kan den holde eksklusivt på et objekt som høyere prioriterte tråder gjerne skulle ha. Hvis en tredje tråd er CPU-intensiv og har prioritet mellom disse to blir det vranglås (se senere spm.). CPU-utnyttelsen er indirekte relatert her, da en kan se på denne for å oppdage vranglås (detection), eventuelt se hvor lenge prosesser har vært ikke-aktive (er disse vranglåste?). Hvis CPU er FCFS fordelt (prosess bruker CPU til han er ferdig med CPUburst) og en prosessen bruker busy-wait på låste objekt, vil denne monopolisere CPU og skape en circular wait, ikke ulik den som ble beskrevet over (prioriteter i Java). 7

8 5. Anta et system med demand paging. Hvor stort fysisk minne kan aksesseres med logisk adresse (P1,P2,P3,D) der P1, P2 og P3 er 8 bit hver, D er 8 bit. Altså et tre-nivå s pagingsystem. Hva blir framesize i eksempelet? Hvordan er dette strukturert i Windows 2000? Forklar generelt hvordan ytelsen og plassutnyttelsen påvirkes av framesize. SVARFORSLAG: P1 kan peke til 2**8=256 rader i en pagekatalog der verdien er P1.val, d.v.s. peker til andre pagekatalog. P2 peker kan peke til 2**8=256 rader i den andre pagakatalog (som P1.val peker til) P2.val er da verdien i denne, en peker til en tredje nivås katalog som da er den egentlige pagetabell som faktisk peker inn i det fysiske minnet. Denne pagetabell starter i P2.val, men det er P3 som er indeksen inne i P2.val P3 kan peke til 2**8=256 rader innenfor denne. Den endelige fysiske frame vil starte i P3.val og det er D som peker innenfor denne fysiske frame. D kan peke til 2**8=256 rader i fysisk frame, i praksis 256 Byte (0.25 KB). Fysisk minne har 256*256*256 frames, d.v.s. 2**(8+8+8)=2**24=16M (litt over 16 million) frames. Med 256 B per frame gir dette 2**32=4 GB. I Windows 2000 brukes to-nivås paging med 10, 10 og 12 bits henholdsvis. Det gir 1K pagedirectory som peker til 1K stykk pagetabeller, hver på 1K (tilsammen 1M rader i alle pagetabeller). Hver frame er 2**12=4KB. Adresserbart minne er 1M * 4 KB = 4 GB. 256 B er i særdeleshet en liten frame, men OK. En kunne hatt veldig store frames (8KB, 16KB, 32KB), som en finner i vanlige system i dag. Stor framesize betyr dog at mye urelevant muligens blir hentet inn, og tar mye overføringstid og plass i minnet; men en reduserer iallefall antall henteoperasjoner. Sistnevnte er viktig hvis bustiden er domenerende, men vanligvis vil diskens søketid dominere, hvilket taler for stor framesize. Liten framesize gir altså mange henteoperasjoner for en gitt mengde, og er en ulempe hvis det er store mengder som skal hentes (gir mange I/O-operasjoner). Men, hvis det er god lokalitet har en ganske god treffsjanse innenfor en liten mengde; en trenger da færre overføringer. Et annet moment er at stor framesize gir færre rader i pagetabell, mindre administrativ minnebruk. 6. Forklar hvordan Windows 2000 kan komme ut for priority inversion. I forbindelse med priority-inversion, skisser hvordan deadlock detection and recovery kan gjøres både generelt sett, og hvordan det faktisk gjøres i Windows SVARFORSLAG: Med priority inversion betyr at en høyere prioritert tråd (HOY) låses fordi den trenger en ressurs MM som er holdt av en lavere prioritert tråd (LAV) LAV holder MM mens HOY holder CPU. 8

9 Selv om scheduler vil frigi CPU når HOY blokkerer på MM er det en viss sjanse for at en middels (MED) prioritert tråd som kun trenger CPU denne tar over CPU slik at LAV likevel ikke kommer i gang med ferdigstillelsen av sin kritiske region. Generelt sett løses dette opp med en priority inheritance protocol, der LAV temporært arver HOY s prioritet for å bli ferdig. Praktisk sett har Windows 2000 et hack der de utfører deadlock detection ved å se hvor lenge trådene har vært IDLE (ikke arbeidet). De som har ventet eksepsjonelt lenge boostes i prioritet (til 15) i en kort periode (deadlock recovery). Dette betyr ikke at de som blir boostet er involvert i en slik låst situasjon. 7. Diskuter kort kontekstbytting (context switching). Relater dette til effektivitet i systemet generelt sett; gi og forklar en formel for effektivitet (utilization). Diskuter effektivitet spesielt i forbindelse med RR scheduling, diskuter hvordan kan vi bedre effektiviteten. Si kort hvordan interaktivitet påvirkes av at du presser effektiviteten opp i RR slik du foreslår og, litt om hvorfor. SVARFORSLAG: Kontekstbytte er arbeidet med å overføre CPU fra en prosess A til en annen prosess B. Arbeidet innebærer at status i A skal lagres (til neste gang A velges av scheduler), B s status skal lastes inn (slik at B starter der den slapp). Arbeidet tar tid og jo mer som må gjøres, jo mindre tid er igjen til produksjon. Effektiviteten er U=PROD/(PROD+ADM) der PROD er tiden prosessene kjører, ADM er tiden operativsystemet bruker til bl.a. kontekstbytter. Jo lengre tid kontekstbyttene tar, jo lavere blir U. I RR scheduling settes det et kvantum Q, dette er tiden en prosess kjører før scheduler velger igjen; neste prosess blir den som har ventet lengst blant de som er i READYkø til CPU. Stor Q (mot uendelig) emulerer FCFS, lav Q (nær 1) emulerer Prosessor-Sharing (PS). Hvis det hver gang skal byttes prosess (køen er større enn 1) blir det hver gang et kontekstbytte og vi får U=Q/(Q+ADM). Effektiviteten bedres enten ved å øke Q eller redusere ADM (kontekstbyttet s tid, bl.a.). Interaktiviteten vil lide under økning av Q. Med interaktivitet menes sluttbrukerens opplevelse av responstid i det tekstlige eller grafiske brukergrensesnittet. Hvis prosesser får kjøre lengre i snitt fordi Q øker tar det i snitt lengre før de interaktive slipper til. Høy Q passer for batchprosessering, der sluttbrukerne ikke venter. 9

Real-time Operativsystem

Real-time Operativsystem Real-time Operativsystem c Ketil Danielsen November 8, 2002 Oversikt hvilke behov har vi (kap. 1-2) hvordan organiseres arbeidet (kap. 3) CPU scheduling (kap. 6) Minnescheduling (kap. 10) Scheduling av

Detaljer

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.

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. Synkronisering 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. Behov for synkronisering Mange prosesser/tråder

Detaljer

Eksamensoppgave i TDT4186 Operativsystemer

Eksamensoppgave i TDT4186 Operativsystemer Institutt for Datateknologi og Informatikk Eksamensoppgave i TDT4186 Operativsystemer Faglig kontakt under eksamen: Mads Nygård Tlf.: 905 96 534 Eksamensdato: 23. mai 2017 Eksamenstid (fra-til): 09:00-13:00

Detaljer

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

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon. Hardware-støttet Semafor og Implementasjon av semafor i OS til å synkronisere Hardware-støttet alle softwareløsninger innebærer mange instruksjoner i tillegg til busy-waiting, som koster CPU-tid. I praksis

Detaljer

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

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17 Concurrency Lars Vidar Magnusson September 20, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 20, 2011 1 / 17 Oversikt Concurrency 1 Concurrency Beskrivelse Prinsipper

Detaljer

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

Tråder Repetisjon. 9. og 13. mai Tråder Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver

Detaljer

Scheduling og prosesshåndtering

Scheduling og prosesshåndtering Scheduling og prosesshåndtering Håndtering av prosesser i et OS OS må kontrollere og holde oversikt over alle prosessene som kjører på systemet samtidig Prosesshåndteringen må være: Korrekt Robust Feiltolerant

Detaljer

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

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28 Tråder Lars Vidar Magnusson October 11, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 09.09.2011 October 11, 2011 1 / 28 Oversikt Tråder 1 Tråder Introduksjon Multithreading Prosesser og

Detaljer

Eksempler på ikke-blokkerende systemkall:

Eksempler på ikke-blokkerende systemkall: Blokkerende systemkall Thread-modeller Thread-modeller Blokkerende systemkall Viktigste grunn for tråder: blokkerende I/O forespørsler Applikasjonen som ber om I/O blir satt på vent av operativsystemet

Detaljer

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

Tråder Repetisjon. 9. og 13. mai Tråder Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en

Detaljer

INF1010 Tråder J. Marit Nybakken Motivasjon. Å lage en tråd

INF1010 Tråder J. Marit Nybakken Motivasjon. Å lage en tråd J INF1010 Tråder J Marit Nybakken marnybak@ifi.uio.no Motivasjon Til nå har vi kun skrevet programmer der programmet bare var på ett sted i koden til enhver tid (bortsett fra når vi har drevet med GUI,

Detaljer

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

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005, Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon

Detaljer

Oppgave 1 - Linux kommandolinje (%)

Oppgave 1 - Linux kommandolinje (%) Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no

Detaljer

Kort notat om parallellstyring IN147

Kort notat om parallellstyring IN147 Kort notat om parallellstyring IN147 Kristin Skar 18. mai 2001 1 Kommunikasjon mellom prosesser Mange problemer man kommer borti kan kreve en paralell løsning: Man kan ha behov for økt hastighet, og dermed

Detaljer

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk og Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 9. august 2016 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte hjelpemidler: D:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 22. mai 2002 Varighet: Fagnummer: Fagnavn: 4 timer LO245D Datateknikk Klasse(r): 1D FU Vekttall: 3 Faglærer(e): Geir Maribu

Detaljer

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

EKSAMEN. Operativsystemer. 1. Læreboken A Practical Guide to Red Hat Linux av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater. EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 12. desember 2007 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 21. desember 2005 Varighet: 3 timer ( 9:00 12:00 ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: FU (1. ING)

Detaljer

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk of Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 13. august 2015 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte hjelpemidler:

Detaljer

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

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer 14. august 2006, Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

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

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 13.des 2011 Faglig

Detaljer

Høgskolen i Molde Institutt for Informatikk Prøveeksamen 1 in115: Nettverksdrift 2002-03 Svarskisse:

Høgskolen i Molde Institutt for Informatikk Prøveeksamen 1 in115: Nettverksdrift 2002-03 Svarskisse: Høgskolen i Molde Institutt for Informatikk Prøveeksamen in5: Nettverksdrift 2002-03 Svarskisse: bokmål Dato: 9. Mai 2003 Tidsrom: kl. 0900 300 Hjelpemidler: Ingen Oppgavesettet består av fire (4) sider

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

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

Threads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av prosess = At en kokk lager en porsjon middag i et kjøkken CPU = kokk ressurser = kjøkken, matvarer, oppskrift thread/tråd = den sammenhengende serien(tråden) av hendelser som skjer når kokken lager en

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 8. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 26. mai 25 Varighet: 3 timer ( 9: 2: ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: BADR. ING FU Studiepoeng:

Detaljer

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet består

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

CPU-Scheduling. Fag: Operativsystemer

CPU-Scheduling. Fag: Operativsystemer CPU-Scheduling Fag: Operativsystemer 1 Innhold: Scheduling (tidsplanlegger) Prosesstilstander, bakgrunn, begreper Kriterier for scheduling rettferdighet, - utnyttelse Responstid Throughput (antal prosesser

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 13. juni 2006 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 5

Detaljer

Operativsystemer og grensesnitt

Operativsystemer og grensesnitt Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF2440 Effektiv parallellprogrammering Prøveeksamensdag: 1. juni 2016 Tidspunkter: 09.00 16.00 Oppgavesettet er på: 4 sider

Detaljer

TDT4258 Eksamen vår 2013

TDT4258 Eksamen vår 2013 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må

Detaljer

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN Tid: Torsdag 09.03.2006, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3110/4110 Programmeringsspråk Eksamensdag: 3. desember 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8 sider. Vedlegg:

Detaljer

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

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 17.jan 2013 Faglig

Detaljer

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

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser? Samtidige To (tasks) må ikke ødelegge for hverandre: skrive til samme minne kapre for mye CPU-tid få systemet til å henge Beste løsning: All makt til OS = Preemptive multitasking Preemptive = rettighetsfordelende.

Detaljer

Eksamen i TTK4145 Sanntidsprogrammering 12. august

Eksamen i TTK4145 Sanntidsprogrammering 12. august NTNU Norges teknisk-vitenskapelige universitet Institutt for teknisk kybernetikk Fakultet for informasjonsteknologi, matematikk og elektroteknikk Bokmål Eksamen i TTK4145 Sanntidsprogrammering 12. august

Detaljer

STE6221 Sanntidssystemer Løsningsforslag

STE6221 Sanntidssystemer Løsningsforslag HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag Tid: Fredag 02.03.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar kalkulator,

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

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

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på TDT4155 Datamaskiner og operativsystemer Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 6 Bokmål Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert

Detaljer

INF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på TDT4186 Operativsystemer

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 7 NTNU Norges teknisknaturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på TDT418 Operativsystemer

Detaljer

Mer om C programmering og cuncurrency

Mer om C programmering og cuncurrency Mer om C programmering og cuncurrency Lars Vidar Magnusson September 23, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 23, 2011 1 / 19 Oversikt Mer om C programmering

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

Litt om Javas class-filer og byte-kode

Litt om Javas class-filer og byte-kode Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet

Detaljer

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

EKSAMEN. Operativsystemer. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene. EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 9. desember 2009 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre

Detaljer

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet

Detaljer

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

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache Dagens temaer Dagens emner er hentet fra Englander kapittel side 338-35 (gammel utgave). Mer om design av cache. Kort repetisjon er en spesiell type rask hukommelse som inneholder et subsett av det som

Detaljer

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg)

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg) Plan for dagen Kap. 11: Resource control (utvalg) Hva trenger vi av egenskaper? Hvordan unngår vi vranglåser? Ikke pensum! Kap. 11.4 (The requeue facility) Kap 14 (Distributed Systems) Kap 14 Distributed

Detaljer

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

I et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ

I et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ INF2440-V18 Information INF2440 Vår 2018 eksamen Dato og tid: 11. juni 2018 09:00. Varighet: 4 timer Hjelpemidler: Alt skriftlig materiale er tillatt. Ingen elektroniske hjelpemidler er tillatt. Powerpoint

Detaljer

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Disse foilene er pensum INF 5110, 30/4-2013, Stein Krogdahl Byte-koden for Java og.nett (C#) kan leses her: http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF2440 Praktisk parallell programmering Eksamensdag : 2. juni 2014 Tidspunkter: 14.30 Oppgavesettet er på : 4 sider Vedlegg

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

IN1010 våren Repetisjon av tråder. 15. mai 2018

IN1010 våren Repetisjon av tråder. 15. mai 2018 IN1010 våren 2018 Repetisjon av tråder 15. mai 2018 Stein Gjessing,, Universitetet i Oslo 1 Tråder Datamaskinarkitektur prosessor registre cache 1 cache 2 prosessor registre cache 1 Disk System-bus Minne

Detaljer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Faglig kontakt under eksamen: Asbjørn Djupdal Tlf.: 909 39452 Eksamensdato: 29. mai 2013

Detaljer

Forelesning inf Java 1

Forelesning inf Java 1 Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2012 Litt Java-historikk The Green Team I 1991 opprettet Sun Microsystems

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006

Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006 Side 1 av 11, prosesser, tråder, synkronisering, V. Holmstedt, HiO 2006 Prosesser og tråder Datamaskinen lager prosesser. En prosess organiserer arbeidet i et program ved å administrere tråder. Det er

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 4 Utlevert : Veke 9 Innleveringsfrist : 19. mars 2010 Klasse : 1 Data og 1 Informasjonsteknologi Ta gjerne 1 og 2 først! Gruppearbeid: 2 personar pr. gruppe

Detaljer

EKSAMEN Løsningsforslag. med forbehold om bugs :-)

EKSAMEN Løsningsforslag. med forbehold om bugs :-) 1 EKSAMEN Løsningsforslag med forbehold om bugs :-) Emnekode: ITF20006 000 Dato: 20. mai 2011 Emne: Algoritmer og datastrukturer Eksamenstid: 09:00 til 13:00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater

Detaljer

INF1010 Tråder II 6. april 2016

INF1010 Tråder II 6. april 2016 INF1010 Tråder II 6. april 2016 Stein Gjessing Universitetet i Oslo 1 Tråder i Java tråden minrunp class MinRun implements Runable { MinRun(... ) {... } public void run( ) {...... } } //end

Detaljer

Definisjon av prosess

Definisjon av prosess Prosesser og tråder Definisjon av prosess Enkel definisjon En prosess er et program som kjører Mer presis definisjon En prosess er en samling av ressurser som er nødvendige for å utføre en oppgave beskrevet

Detaljer

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene. Høgskoleni Østfold EKSAMEN Emnekode: Emnenavn: ITF20006 Algoritmer og datastrukturer Dato: Eksamenstid: 9. mai 2016 9.00 13.00 Hjelpemidler: Faglærer: Alle trykte og skrevne Jan Høiberg Om eksamensoppgaven

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 9. desember 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet

Detaljer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet

Detaljer

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

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO 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

Detaljer

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Kalkulator Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet

Detaljer

DAT 103 - kandidatnummer: 142

DAT 103 - kandidatnummer: 142 DAT 103 - kandidatnummer: 142 Oppgave 1: 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) C 9) A 10) D Oppgave 2: a) Et operativsystem er en samling av systemprogrammer og brukes som et bindeledd mellom brukerprogrammer

Detaljer

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk INF1010 11. mai 2017 Monitorer med kritiske regioner og passive venting innbygget i Java - Kommunikasjon mellom prosesser i Java (Ikke pensum i INF1010) Stein Gjessing Universitetet i Oslo 1 Repetisjon:

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

Detaljer

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 8. september, 2005 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 23/9-2005, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels

Detaljer

Sortering med tråder - Quicksort

Sortering med tråder - Quicksort Sortering med tråder - Quicksort Skisser til to programmer INF1010 våren 2016 Stein Gjessing Institutt for informatikk Universitetet i Oslo Sortering som tema, slikt som valg av sorteringsmetode, hastigheten

Detaljer

Det matematisk-naturvitenskapelige fakultet

Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 7. desember 2007 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 26. mai 25 Varighet: 3 timer ( 9: 12: ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: BADR 1. ING FU Studiepoeng:

Detaljer

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning

Detaljer

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer. Kritisk region Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer. Generelt kan en kritisk region defineres som et sted der det kan oppstå kollisjoner. Et veikryss er en kritisk region

Detaljer

Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 %

Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 % Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 % Stein Gjessing Institutt for Informatikk Universitetet i Oslo 1 Oppgave 10 Tegning av datastrukturen (vekt 5% av del B) Tegn datastrukturen til

Detaljer

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

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar

Detaljer

Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006

Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006 Løsningsforslag for Obligatorisk Oppgave 3 Algoritmer og Datastrukturer ITF20006 Lars Vidar Magnusson Frist 28.03.14 Den tredje obligatoriske oppgaven tar for seg forelesning 9 til 13, som dreier seg om

Detaljer

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 3. september, 2004 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 17/9-2004, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels

Detaljer

INF1000: noen avsluttende ord

INF1000: noen avsluttende ord Pensum Det som er gjennomgått på forelesningene INF1000: noen avsluttende ord Arne og Fredrik Stoff som er behandlet i oppgaver/obliger Notat om Informasjonsteknologi, vitenskap og samfunnsmessige virkninger

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 5. juni 2007 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 6 sider (pluss vedlegg) Vedlegg

Detaljer

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 101 - Grunnkurs i objektorientert programmering Eksamensdag : Tirsdag 4. juni 2002 Tid for eksamen : 09.00-15.00 Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15

Detaljer