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

1. Introduksjon til operativsystemer

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

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

Faglig kontakt under eksamen: Orestis Gkorgkas

Definisjon av prosess

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.

UNIVERSITETET I OSLO

1. Introduksjon til operativsystemer

HØGSKOLEN I SØR-TRØNDELAG

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

Det matematisk-naturvitenskapelige fakultet

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

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

Oppgave 1 - Linux kommandolinje (%)

Eksempler på ikke-blokkerende systemkall:

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning Data

Introduksjon til kurset og dets innhold

Scheduling og prosesshåndtering

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

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

HØGSKOLEN I SØR-TRØNDELAG

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

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

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

HØGSKOLEN I SØR-TRØNDELAG

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

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN Innføring i Linux

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

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

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

Deadlocks og mer om concurrencymekanismer

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

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

Prøve- EKSAMEN. Operativsystemer med Linux

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

Filsystemet fra innsiden

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

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

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

TDT4258 Eksamen vår 2013

Løsningsforslag for TDT4186 Operativsystemer

UNIVERSITETET I OSLO

KONTINUASJONSEKSAMEN

Operativsystemer og grensesnitt

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Det matematisk-naturvitenskapelige fakultet

Linux distribusjoner

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen

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 - AITeL

K O N T I N U A S J O N S E K S A M E N

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer

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

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

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Generelt om operativsystemer

UNIVERSITETET I OSLO

Vranglås (Deadlocks) Fag: Operativsystemer

Tråder og concurrency i Linux

EKSAMEN. Operativsystemer og nettverk

CPU-Scheduling. Fag: Operativsystemer

Dagens tema. Nyttige programmer Programmet make. Flyt-tall Representasjon av flyt-tall. Standarden IEEE 754. Systemkall i Unix

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Innføring i bedriftsøkonomisk analyse med IKT

Eksamensinformasjon. Linux kommandolinje. Linux kommandolinje. Eksamensinformasjon. Fakultet: Teknologi, kunst og design. Tid: 3 t.

TDT4110 IT Grunnkurs Høst 2014

Eksamensoppgave i TMA4140 Diskret matematikk

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

HØGSKOLEN I SØR-TRØNDELAG

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Transkript:

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) (BADR) Studiepoeng: 6 studiepoeng Faglærere: Walter Keim (73 55 95 74) Kursassistent Siri Wæhre Lien (73 55 91 54) Hjelpemidler: Ingen hjelpemidler. Oppgavesettet består av: 4 oppgaver og 5 vedlegg merket Vedlegg A, Vedlegg B, Vedlegg C, Vedlegg D og Vedlegg E 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 10 sider (medregnet denne forsiden) VIKTIG: Husk å levere arket merket med Vedlegg A sammen med resten av besvarelsen din. Tallet i prosent bak hver oppgave angir hvor mye oppgaven teller totalt sett. Side 1 av 10

Oppgave 1 Generelt om operativsystemer (vekt: 30%) a) Operativsystemet har bestemte oppgaver i et datamaskinsystem. Gjør kort rede for operativsystemets plassering i systemet og oppgavene den utfører. b) Et viktig begrep innen operativsystemer er multiprogrammering (multitasking). Hva menes med multiprogrammering? Hva er bakgrunnen for innføring av multiprogrammering i datamaskinsystemer, eller sagt på en annen måte - hvorfor har det noen hensikt? Hvilke fordeler gir multiprogrammering? c) Minneadministrasjon dreier seg mye om at prosesser må kunne relokeres (dvs flyttes på) i minnet. Hvorfor er det ønskelig å kunne flytte på prosesser? d) Tenk deg følgende eksempel: På en bestemt UNIX-maskin er 15 brukere innlogget, og disse kjører til sammen ca 60 programmer. Hvordan er dette mulig når en tross alt har bare en CPU og et begrenset primærlager? Gi en kort redegjørelse for dette! e) I et flerbrukersystem er kravene til sikkerhet større enn det var i et system av typen MS-DOS. Hvorfor? Oppgave 2 Prosesser (20%) a) Aktiviteter i datamaskinsystemer er organisert som prosesser. Gjør rede for hva prosesser er og hvorfor de er så viktige i datamaskinsystemer. b) Prosesser opprettes i Linux med fork- og exec-systemkallet. Forklar kort hvordan disse systemkallene virker. Gi et kort eksempel som demonstrerer virkemåten. c) Tråder er etter hvert blitt et viktig begrep. Sammenlign en prosess og tråd. Hva er forskjellen og hva er likhetene? Hvorfor brukes tråder? Gi eksempler på bruk av tråder. d) Prosesser kan kjøre i bruker-modus og i kjerne-modus. Hva er forskjellen på brukermodus og kjernemodus? Hvorfor må prosessene kjøre i kjernemodus? Side 2 av 10

Oppgave 3 Prosesskommunikasjon (20%) a) Prosesser kommuniserer med hverandre. I den forbindelse er det laget forskjellige mekanismer for at kommunikasjonen skal gå problemfritt. Hva slags problemer er det som kan oppstå når prosesser kommuniserer med hverandre? b) Hva menes med et kritisk område (region) for en prosess, og hvorfor er dette viktig å ta hensyn til? c) Tenk deg at en prosess utfører en wait-operasjon på en semafor. Kan vi da regne med at prosessen da går inn i en vente-tilstand ("blocked")? Forklar! d) Tre prosesser, p1, p2 og p3, er i ventetilstand ("blocked") på den samme semaforen. En annen prosess,, p4, utfører en signal-operasjon på denne semaforen. Hva skjer? Tegn og forklar! Oppgave 4 Diverse flervalgsspørsmål (30%) 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 0 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. Side 3 av 10

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 som konsekvens av at nye prosesser ankommer 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 10. 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 C 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 Side 4 av 10

siste kommando (i utskriften) er kjørt? a. test får nummer 1 og test2 et vilkårlig nummer. b. test får nummer 49203 og test2 nummer 1. c. test får nummer 49203 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. Side 5 av 10

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. Ditt studentnummer: Spørsmålsnummer 1 2 3 Ditt svar 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Side 6 av 10

Vedlegg B Svar på flervalgsspørsmålene (kopi til deg) 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. Denne tabellen er nøyaktig lik den i Vedlegg A. Her kan du føre over svarene dine dersom du vil ta disse med deg hjem etter eksamen. Ditt studentnummer: Spørsmålsnummer 1 2 3 Ditt svar 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Side 7 av 10

Vedlegg C R1 R2 R3 R1 R2 R3 P1 3 2 2 P1 2 0 2 R1 R2 R3 P2 6 1 3 P2 4 1 3 3 3 5 P3 3 1 4 P3 3 1 0 P4 1 1 1 P4 1 1 1 Krav tabell Allokert tabell Tilgjengelig tabell Side 8 av 10

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 4096 mai 10 15:26./ 567841 drwxr-xr-x 55 tomash tomash 4096 mai 10 15:16../ 49203 -rw-r--r-- 1 tomash tomash 0 mai 10 15:19 startfil ln startfil test ln -s startfil test2 Side 9 av 10

Vedlegg E #include <stdio.h> int main(){ printf("start"); fork(); fork(); printf("slutt"); } Side 10 av 10