HØGSKOLEN I SØR-TRØNDELAG



Like dokumenter
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

HØGSKOLEN I SØR-TRØNDELAG

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

HØGSKOLEN I SØR-TRØNDELAG

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

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

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

Definisjon av prosess

HØGSKOLEN I SØR-TRØNDELAG

Oppgave 1 - Linux kommandolinje (%)

1. Introduksjon til operativsystemer

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

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

Seksjon 1. INF2270-V16 Forside. Eksamen INF2270. Dato 1. juni 2016 Tid Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt.

Faglig kontakt under eksamen: Orestis Gkorgkas

UNIVERSITETET I OSLO

Resymé: I denne leksjonen vil du få en oversikt over hva et operativsystem er for noe, hvordan det er bygget opp og hvordan det virker.

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

1. Introduksjon til operativsystemer

Minnehåndtering i operativsystemer

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

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

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

Tildeling av minne til 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.

Scheduling og prosesshåndtering

Det matematisk-naturvitenskapelige fakultet

Minnehåndtering i operativsystemer

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

HØGSKOLEN I SØR-TRØNDELAG

2 Om statiske variable/konstanter og statiske metoder.

Introduksjon til kurset og dets innhold

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

Dette eksemplet forutsetter at du allerede har gjennomgått Kom i gang med tavler 1.

Eksempler på ikke-blokkerende systemkall:

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning Data

Tildeling av minne til prosesser

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer

Filsystemet fra innsiden

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

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

Brukermanual for kommuneansvarlig og testleder

TDT4110 IT Grunnkurs Høst 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

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

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

1. Systemsikkerhet Innledning. Innhold

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

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

HØGSKOLEN I SØR-TRØNDELAG

Prøve- EKSAMEN. Operativsystemer med Linux

Litt om Javas class-filer og byte-kode

DAT kandidatnummer: 142

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

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

Kjenner du alle funksjonene på tastaturet?

Kontinuasjonseksamen

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

HØGSKOLEN I SØR-TRØNDELAG

Programmeringsspråket C Del 3

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

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

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

Operativsystemer og grensesnitt

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

MAT-INF 1100: Obligatorisk oppgave 1

INF2270. Input / Output (I/O)

CPU-Scheduling. Fag: Operativsystemer

Oppgave 1 - Java og prosesser (20%)

HØGSKOLEN I SØR-TRØNDELAG

TDT4258 Eksamen vår 2013

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

MAT-INF 1100: Obligatorisk oppgave 1

Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM. Cache Virtuelt minne

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

INF2270. Input / Output (I/O)

UNIVERSITETET I OSLO

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

Generelt om operativsystemer

Del 4 Noen spesielle C-elementer

Transkript:

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: 6 studiepoeng Faglærere: Tomas Holt (73 55 95 7) Svend Andreas Horgen (73 55 92 69) Geir Maribu (73 55 95 53) Kursassistent Siri Wæhre Lien (73 55 91 54) Hjelpemidler: Ingen hjelpemidler. Oppgavesettet består av: 4 oppgaver fordelt på 5 sider. Oppgave 4 har flervalgsspørsmål. Disse skal besvares i et eget skjema som du finner i Vedlegg A. Vedlegg B er en kopi av Vedlegg A som du kan fylle ut dersom du vil ta med deg svarene dine hjem. Totalt består oppgavesettet av 8 sider (medregnet denne forsiden) VIKTIG: Husk å levere arket merket med Vedlegg A sammen med resten av besvarelsen din. Tallet i prosent bak hver deloppgave angir hvor mye oppgaven teller totalt sett.

Oppgave 1 Prosesser (16%) Forklar kort: a (4%) Hvorfor har man prosesser? Svar: Prosesser (e.l) er nødvendig om man skal kunne kjøre programmer samtidig. For at dette skal være mulig må man holde rede på hvor man er i programmet slik at man kan skifte (context switch) mellom programmene. For å muliggjøre slike skifter må man ta vare på informasjon om hvor man var i programmet slik at det er mulig å fortsette på samme plass. Innføring av prosesser gjør dette mulig (ved å lagre informasjon i prosessdeskriptoren). Prosesser gjør det derfor mulig å kjøre flere instanser av samme program. Prosesser tilfører også beskyttelse fra hverandre. (Prosesser gir også OS mulighet til å ha ulik prioritering mellom ulike oppgaver). b (4%) Hva er poenget med prosessdeskriptoren? Svar: Deskriptoren skal holde orden på data om prosessen. Dette er nødvendig for at operativsystemet skal kunne behandle prosessene riktig. Deskriptoren lagrer for eksempel ting som åpne filer, hvor man er i fila osv c (4%) Hvordan holder operativsystemet styr på prosessdeskriptorene og når skjer oppdatering i disse. Svar: Skjer via en prosesstabell. Oppdatering skjer ved kontekstskifte (evt. når andre hendelser i OS tilsier det). d (4%) Hva er fordelen til tråder i forhold til prosesser? Svar: Tråder kan dele minne. Forenkler kommunikasjon mellom tråder kontra prosesser. Ytelse. Raskere context switch. Deler ressurser (prosessen allokerer).

Oppgave 2 Prosesskommunikasjon (18%) I Figur 1 ser du to prosesser P1 og P2. Disse har instruksjoner som er kalt setning 1, setning 2 og så videre. Den store boksen i midten representerer minneområdet i en datamaskin. Pil mot minnet indikerer skriving til minnet, og pil fra minnet indikerer lesing. a (5%) Hva vil du si er kritisk region i Figur 1? Begrunn svaret. Figur 1: Prosesser som leser til og skriver fra maskinens minne Svar: Kritisk region er den delen av prosessens kode som aksesserer felles minneområde. I figuren er det helt tydelig at P1 og P2 gjør bruk av samme område i minnet (grått område). Dermed har vi to kritiske regioner i figuren: 1. Setning 4, 5 og 6 i prosessen P1 2. Setning 1, 2 og 3 i prosessen P2

b (4%) Et viktig mål i moderne operativsystemer er å sikre gjensidig utelukkelse. Hvis semaforer brukes, hva må da gjøres i koden til prosessene P1 og P2 i Figur 1 for å oppnå dette målet? Svar: Sette inn wait(felles) og signal(felles) på riktig sted der semaforen felles må brukes i begge prosessene. Dermed vil kun en prosess ha tilgang, uavhengig av hvem som blir kjørt først og om tidskvantet blir oppbrukt midt i kjøringen av prosessen. 1. For P1 betyr det wait mellom setning 3 og 4, og signal mellom 6 og 7. 2. For P2 betyr det wait øverst i koden og signal mellom setning 3 og 4. Gitt to binære semaforer med initialverdi. Den ene heter norgesemaforen og den andre heter danmarksemaforen. Koden for tre prosesser kalt Norge, Sverige og Danmark er vist i Figur 2. Figur 2: Tre prosesser med kode

c (9%) Hva blir skrevet ut for hver av de tre situasjonene i Figur 3? Du skal også forklare hvorfor resultatet blir som det blir og si noe om hvilket fenomen vi har her. Figur 3: Tre situasjoner med ulik rekkefølge på elementene i CPU-køen Svar: Resultatet blir følgende utskrift for alle tre kjøringene: Sverige Danmark Norge Norge Norge Her oppnås synkronisering av prosessene. Årsaken er at Sverige uansett vil kjøres først, og deretter kalles Danmark, som i tur kaller Norge. Hvis Danmark kommer før Sverige i køen, vil den legges i køen til danmarksemaforen på vent. Hvis Norge er før Sverige, vil den legges i køen til norgesemaforen på vent. Hvis både Danmark og Norge er før Sverige, uavhengig av rekkefølge, vil de legges i riktig semaforkø. Mer detaljert beskrivelse: Når Sverige kjører skrives Sverige ut. Deretter settes signal på danmarksemaforen. Nå kan to ting skje. 1. Danmark er lagt til i danmarksemaforen. Da henter Sverige Danmark til CPUkøen, og Danmark printes og kjører signal på norgesemaforen, hvorpå Norge flyttes til CPU-kø og printer. 2. Danmark er ikke lagt til i danmarksemaforen. Da vil Sverige sette verdien i semaforen til 1, og når Danmark omsider kjøres vil den komme til et flagg som er 1, hvilket betyr at det er trygt å fortsette. Dermed legges ikke Danmark i kø, men skriver ut Danmark og gir Signal på norgesemaforen. Dersom Norge ikke skulle ha blitt kjørt enda, vil Norge kjøre så snart Danmark er ferdig, og da treffer Norge i likhet med Danmark verdien 1 som signaliserer at her er alt ok for å fortsette. Dersom Norge derimot er satt i kø, vil Danmark flytte Norge til CPU-køen Altså vil Norge uansett kjøre ETTER Danmark, og Danmark vil uansett kjøre ETTER Sverige. Det blir aldri kræsj, for uansett hvem som kommer først og deretter, vil alltid alle kalle danmarksemaforen.

Oppgave 3 Minneadministrasjon (36%) a (6%) Minneadministrasjon dreier seg mye om at prosesser må kunne relokeres (dvs flyttes på) i minnet. Hvorfor er det ønskelig å kunne flytte på prosesser? Svar: Miljøet i minnet endrer seg fra gang til gang. Du vet aldri hvilke prosesser som befinner seg i minnet fra før. Da må opsys ha frihet til å plassere prosessen hvor som helst. b (6%) I virtuell minneadministrasjon opererer en både med begrepet side (page) og segment. Hva er forskjellen på side og segment innen minneadministrasjon og hva er fordeler og ulemper med disse? Svar: I sidedelt system deles prosessen inn i like store deler, kalt sider, mens i segmentdelt system deles prosessen inn i deler som avspeiler programmets struktur, f.eks et dataområde, en tabell, en gitt funksjon etc. Fordelen med sider er at de er lette å skifte (veksle) mellom disk og minne. Ulempen er at de ikke avspeiler programmets struktur og er derfor ikke så lette å sette tilgangsrettigheter på og ikke så lette å dele med andre prosesser. Segmenter derimot er det motsatte av sider. De er vanskelige å skifte mellom disk og minne fordi de har ulik størrelse og dermed må en hver gang lete etter ledig plass som passer. Fordelen er at der er lette å sette tilgangsrettigheter på og enkle å dele med andre da segmentene alltid er en avgrenset enhet.

c (6%) Tenk deg et sidedelt system med følgende parametere: 2 2 bytes fysisk minne, sidestørrelse på 2 1 bytes og 2 16 bytes virtuelt minne. (2 2 = 148576, 2 1 = 124, 2 16 = 65536). Svar på nedenstående spørsmål. Husk å begrunne svarene. i) Hvor mange bits er det i den virtuelle adressen? Svar: Virtuelt minneområde er på 2 16 = 65536 bytes. Det betyr en virtuell adresse på 16 bit. ii) Hvor mange bytes er det i en fysisk minneblokk (frame)? Svar: Sidestørrelsen er på 2 1 = 124 bytes, dvs 1 kbyte. Sidestørrelse og blokkstørrelse er den samme, og dermed kan en si at blokkstørrelsen er på 1 kbyte. iii) Hvor mange bits i den fysiske adressen brukes for å angi fysisk minneblokk? Svar: Den fysiske adressen er på 2 bit (husk at 1 av 148576 adresser skal angis). Det er plass til 124 blokker a 1 kbyte innenfor fysisk minne. Det trengs 1 bit for å angi en av 124 blokker. Svaret er altså 1 bit for å angi en av blokkene i fysisk minne. De resterende 1 bit brukes til offset-adressen innenfor blokka. Dette stemmer også med at fysisk adresse er 2 bit. iv) Hvor mange innslag er det i sidetabellen? Svar: Sidetabellen skal vise vei for alle sidene i prosessens virtuelle minne, dvs de skal peke på hvor i fysisk minne en bestemt side befinner seg. Virtuelt minne består av 64 blokker a 124 bytes = 65536 bytes. Sidetabellen har altså 64 innslag. v) Hvor mange bits brukes i hvert innslag i sidetabellen? Anta at hvert innslag i sidetabellen inkluderer en tilstede-bit. Svar: For å angi en av 124 blokker (som fysisk minne består av) trengs det 1 bit. I tillegg er det angitt en stk tilstede-bit. Det gir 11 bit. Har du husket å begrunne svarene?

d (6%) Gitt nedenstående sidetabell for en prosess som er under kjøring. Sidestørrelsen er 124 bytes. sidenr blokknr Tilstede-bit Referanse-bit Modifisert-bit 4 1 1 1 7 1 1 1 2-3 2 1 4-5 1 1 Hvilke fysiske adresser vil hver av følgende virtuelle adresser tilsvare? Forklar hvordan du kom fram til svaret. i) 16 Svar: Adressen 16 befinner seg i side 1 (husk at side strekker seg fra adresse til 123, side 1 fra adresse 124-247, etc). Det betyr at offset (dvs avstanden ut i side 1) er 16-124=36. Sidetabellen viser at side 1 er plassert i blokk nr 7, dvs i blokkadressen 7*124 = 7168 Fysisk adresse = blokkadresse + offset = 7168 + 36 = 724 ii) 223 Svar: 223 befinner seg i side 2. Offset = 223 2 *124 = 223 248 = 182 Sidetabellen viser at side 2 ikke er inne i minnet. Vi kan altså ikke beregne noen fysisk adresse. iii) 541 Svar: 541 befinner seg i side 5 Offset = 541 5*124 = 281 Sidetabellen viser at side 5 er i blokk. Fysisk adresse = blokkadresse + offset = *124 + 281 = 281

e (6%) I sidetabellen i punkt d) ovenfor er det gitt to kolonner kalt Referanse-bit og Modifisert-bit (også kalt dirty-bit). Forklar hva disse to bit-ene brukes til i forbindelse med minneadministrasjon. Svar: Disse bit-ene brukes av sideutskiftningsalgoritmene for å avgjøre hvilke side det er minst krevende å ofre. Dette er nødvendig når minnet er fullt og nye sider skal inn. Referanse-biten forteller om en side er mye i bruk, og dermed er en side som er mye i bruk, og som det følgelig er dumt å kaste ut. Modifisert-biten angir om en side er skrevet til (typisk en data-side) og som er krevende å ofre fordi den må skrives tilbake på disken før den kan tas. Det er ikke bare å skrive over den slik som med de andre sidene. f (6%) I segmentdelt minneadministrasjon ønsker vi noen ganger at et gitt segment skal kunne tilhøre flere prosesser. Hvorfor? Svar: Hyppigst skjer dette når flere prosesser skal dele på samme programkode. Dermed slipper hver prosess å laste inn samme programkoden. Dette er aktuelt når mange brukere (og dermed mange prosesser) skal kjøre f.eks OpenOffice (eller andre programmer som mange bruker kjører samtidig på samme maskin).

Oppgave 4 Diverse flervalgsspørsmål (3%) Her er 18 spørsmål. Bruk tabellen i Vedlegg A til å svare hvilket alternativ som passer best til de ulike spørsmålene. Du kan ikke velge flere alternativer på et spørsmål. For hvert riktige svar får du 2 poeng. For hvert galt svar får du minus 1 poeng, altså -1 poeng. Dersom du ikke svarer får du poeng på spørsmålet. 1. Hva er ressursabstraksjon? a. Å allokere ressurser til prosesser. b. Å skjule forskjeller mellom ulik type maskinvare. c. Å abstrahere ressurser til prosesser. 2. Hva er hovedbegrunnelsen for å innføre multitasking i et operativsystem? a. Fordi det tar lang tid å utføre I/O. b. Når prosessoren kan motta instruksjoner fra flere prosesser samtidig og utføre disse parallelt, blir alt mye mer effektivt. c. Dette er en minneteknikk som tilsier at flere oppgaver kan lastes inn i minnet samtidig. 3. Hva skjer når en prosess går over i kjernemodus? a. Operativsystemet overtar kontrollen. b. Prosessen jobber mot lokale variabler. c. Prosessen får lov å foreta så mange systemkall den vil. 4. Hva er riktig? a. Det trengs et driverprogram for hver utstyrsenhet som er tilkoblet maskinen. b. Dersom en prosess finner at en I/O-ressurs er i bruk i et avbruddsstyrt system, vil prosessen sjekke igjen helt til ressursen er ledig. c. Både a og b er riktig 5. Hva er riktig? a. Bruk av en kanal (engelsk pipe ) gjør at en Linux-kommando kan brukes i stedet for en annen. b. Hvis en prosess skal skrive til fil i stedet for til skjerm, brukes en kanal. c. En kanal åpner for direkte kommunikasjon av data mellom prosesser. 6. Race conditions er når: a. gjensidig utelukkelse er oppnådd. b. flere prosesser aksesserer samme dataområde samtidig og resultatet ikke kan forutsies. c. felles dataområde aksesseres av en og en prosess. 7. Påstand: Operasjonene wait() og signal() må være atomiske. a. Feil. De må ikke være atomiske. b. Riktig. Hvis avbrudd skjer under kjøring av disse operasjonene, vil systemet gå i stå. c. Delvis riktig. Påstanden er sann for binære semaforer, men ikke for tellende semaforer. 8. Hva er sant om preemtiv scheduling? a. Det blir alltid lav responstid for I/O-intensive prosesser. b. Kjørende prosess kan bli avbrutt når nye prosesser legges til i CPU-køen. c. Ingen av alternativene over. 9. Ordet subjekt brukes i forbindelse med sikkerhet. Hva betyr det? a. Ressurs b. Bruker/prosess c. At ressursfordelingen er subjektiv

1. Hvilken av følgende sikkerhetsmekanismer brukes i Linux? a. Kontroll matrise b. Kontrollaksess-liste c. Kontrollaksess-liste og capability -liste 11. Inode er: a. En fildeskriptor b. En hard lenke c. En symbolsk lenke 12. Systemkallet write(id, buffer, antall-byte) skriver et angitt antall byte (data) til en fil. Hvilket utsagn er mest riktig? a. Dataene skrives direkte ut på permanent lager. b. Det er bestandig systemkallet close(id) som sørger for lagring til permanent lager. c. Dataene skrives til permanent lager først når bufferet er fullt. 13. I Linux adresseres datablokker via indeksblokker. Man opererer her med direkte, indirekte, dobbel indirekte og trippel indirekte indeksering. Hvor stor kan en fil være om vi forutsetter indirekte indeksering? Hver adresse er på 8 byte og datablokkene er på 8K a. 8K b. 1M c. 8M 14. En metode for å unngå vranglås er kalt sirkulær venting. Denne metoden er: a. En type vranglås, hvor prosessene venter på ressurser som allerede er opptatt av andre prosesser. b. En måte å unngå vranglås ved at ressursene må allokeres i en bestemt rekkefølge (for eksempel stigende nummerrekkefølge). c. At alle prosesser får lit tid i CPU 15. Vedlegg D viser et systemet hvor Bankers algoritme brukes. Hvilken tilstand er dette systemet i? a. Sikker tilstand. b. Usikker tilstand c. Vranglås 16. Vedlegg D viser utskrift fra et konsollvindu i Linux. Hva blir inode-numrene for test og test2 når siste kommando (i utskriften) er kjørt? a. test får nummer 1 og test2 et vilkårlig nummer. b. test får nummer 4923 og test2 nummer 1. c. test får nummer 4923 og test2 får et vilkårlig nummer. 17. Hva blir utskriften ved kjøring av programmet i vedlegg E? a. startslutt b. startsluttslutt c. startsluttsluttsluttslutt 18. Hvordan opprettes en ny prosess i Linux? a. Via systemkallet fork() b. Via systemkallet exec() c. Det er ikke mulig for brukerprogrammer å opprette nye prosesser.

Vedlegg A Svar på flervalgsspørsmålene (leveres) Her skal du skrive inn dine svar på flervalgsspørsmålene fra Oppgave 4. Merk at du kan la feltet stå blankt, i henhold til reglene for beregning som ble forklart i Oppgave 4. Det er brukt tykke linjer etter hver tredje rad for å gjøre det lettere å plassere svarene i riktig rute. Spørsmålsnummer Ditt svar 1 B 2 A 3 A 4 A 5 C 6 B 7 B 8 B 9 B 1 C 11 A 12 C 13 C 14 B 15 A 16 C 17 C 18 A

Vedlegg B Svar på flervalgsspørsmålene (KOPI til deg) Dersom du ønsker å ta med deg en kopi av svarene dine hjem, kan du fylle ut denne tabellen. Husk for all del å levere svarene dine fra Vedlegg A! Spørsmålsnummer 1 2 3 Ditt svar 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18

Vedlegg C R1 R2 R3 R1 R2 R3 P1 3 2 2 P1 2 2 R1 R2 R3 P2 6 1 3 P2 4 1 3 3 3 5 P3 3 1 4 P3 3 1 P4 1 1 1 P4 1 1 1 Krav tabell Allokert tabell Tilgjengelig tabell Vedlegg D Under vises utskrift fra et konsollvindu (i Linux). Kommandoer er skrevet med fet skrift, men utskrift som resultat av kommandoen finner du med vanlig skrift. ls -ial 51311 drwxrwxr-x 2 tomash tomash 496 mai 1 15:26./ 567841 drwxr-xr-x 55 tomash tomash 496 mai 1 15:16../ 4923 -rw-r--r-- 1 tomash tomash mai 1 15:19 startfil ln startfil test ln -s startfil test2 Vedlegg E #include <stdio.h> int main(){ printf("start"); fork(); fork(); printf("slutt"); }