EKSAMEN. Operativsystemer. Dato: 10. desember 2008 Eksamenstid: kl til kl

Like dokumenter
1,r H øgs kolen i Østfol d

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

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

Høgskoleni Østfold. Ny/utsatt EKSAMEN

Ny EKSAMEN. Operativsystemer og nettverk

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

Prøve- EKSAMEN. Operativsystemer med Linux

Operativsystemer og nettverk

EKSAMEN. Dato: 7. desember 2016 Eksamenstid: 09:00 13:00

Lynkurs i shellprogrammering under Linux

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

EKSAMEN. Emne: Algoritmer og datastrukturer

Betinget eksekvering og logiske tester i shell

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

EKSAMEN ITF Webprogrammering 1 Dato: Eksamenstid: Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

Filterprogrammer og redirigering av I/O

EKSAMEN. Operativsystemer og nettverk

EKSAMEN. Emne: Algoritmer og datastrukturer

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

Filterprogrammer og redirigering av I/O

Høgskoleni østfold EKSAMEN. ITF10213 Innføring i programmering (Høst 2013)

EKSAMEN. Evaluering av IT-systemer. Eksamenstid: kl 0900 til kl 1300

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

static int ant_steiner; //antall steiner static int teller2 = 0; //teller for printing til Thread^ murer; //murertråden

Løsningsforslag til 2. del av Del - EKSAMEN

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.

Høgskoleni østfold EKSAMEN

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)

består av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

EKSAMEN. Algoritmer og datastrukturer

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Løsningsforslag til 2. del av Del - EKSAMEN

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

EKSAMEN (Del 1, høsten 2015)

EKSAMEN med løsningsforslag

EKSAMEN. Objektorientert programmering

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

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

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.

UNIVERSITETET I OSLO

EKSAMEN. Oppgavesettet består av 9 oppgaver med i alt 21 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

Høgskoleni østfold EKSAMEN. Oppgavesettet består av 8 sider inklusiv denne forsiden og vedlegg.

EKSAMEN. Emne: Datakommunikasjon

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

Høgskoleni østfold NY/UTSATT EKSAMEN

EKSAMEN (Konvertert fra en gammel PHPeksamen)

EKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 24. november 2015 Eksamenstid: 09:00 13:00

EKSAMEN. Oppgavesettet består av 11 oppgaver med i alt 21 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Løsningsforslag til EKSAMEN

UNIVERSITETET I OSLO

Høgskoleni østfold EKSAMEN. Emne: Innføring i programmering

IN 147 Program og maskinvare

EKSAMEN. Bildebehandling og mønstergjenkjenning

EKSAMEN. Oppgavesettet består av 3 oppgaver. Alle spørsmål på oppgavene skal besvares, og alle spørsmål teller likt til eksamen.

Høgskoleni østfold EKSAMEN

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

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

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

EKSAMEN. Emne: Datakommunikasjon

EKSAMEN. Emne: Emnekode: Matematikk for IT ITF Dato: Eksamenstid: til desember Hjelpemidler: Faglærer:

Emnenavn: Objektorientert programmering. Faglærer: Lars Emil Knudsen

EKSAMEN. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

Høgskoleni østfold EKSAMEN. Hjelpem idler: Faglærer: Kåre Sorteberg Ingen hjelpemidler. Monica Kristiansen

Løsningsforslag EKSAMEN

faks: Avdeling for Ingeniørutdanning. Cart Aælersgate Oslo - tlf 05. iu@hio.no

EKSAMEN. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer:

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200

EKSAMEN. Oppgavesettet består av 16 oppgaver. Ved sensur vil alle oppgaver telle like mye med unntak av oppgave 6 som teller som to oppgaver.

EKSAMEN (Del 1, høsten 2014)

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

HØGSKOLEN I SØR-TRØNDELAG

Del 1 En oversikt over C-programmering

UNIVERSITETET I OSLO

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

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

Eksamen Objektorientert Programmering 2013

EKSAMEN. Dato: 8. desember 2017 Eksamenstid: 09:00 13:00

UNIVERSITETET I OSLO

Høgskoleni østfold EKSAMEN. Ikke-programmerbar lommeregner uten grafisk skjerm Monica Nordbakke Marianne Maugesten

Ny/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00

Høgskoleni østfold EKSAMEN

EKSAMEN. Emne: Innføring i informasjons- og kommunikasjonsteknologi

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærere: Robert Roppestad. Hele oppgavesettet består av 8 oppgaver, samt 1 vedlegg.

Hjemmeeksamen 2 i INF3110/4110

Læringsmål og pensum. v=nkiu9yen5nc

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Høgskoleni østfold EKSAMEN. LSVIMAT12 Matematikk 1, V 1: Tall og algebra. funksjoner 1. Dato: 16. desember Eksamenstid: kl til kl 15.

Høgskoleni østfold EKSAMEN. LSV1MAT12 Matematikk Vl: Tall, algebra og funksjoner 1

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: Eksamenstid: kl til kl.

EKSAMEN Innføring i Linux

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

Emnenavn: Matematikk for IT. Eksamenstid: Faglærer: Christian F Heide

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

1. del av Del - EKSAMEN

Objektorientert Programmering Ekstraordinær eksamen 2014

Transkript:

EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 10. desember 2008 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 A-4 ark med selvskrevne notater. Faglærer: Jan Høiberg Einar Krogh Eksamensoppgaven: Oppgavesettet består av 5 sider inklusiv denne forsiden. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene. Oppgavesettet består av 7 oppgaver. Oppgavene 1, 2,3,4 er fra Modul 1 (JH) Oppgavene 5, 6, 7 er fra Modul 2 (EK) Sensurdato: 7. januar 2009 Karakterene er tilgjengelige for studenter på studentweb senest 2 dager etter oppgitt sensurfrist. Følg instruksjoner gitt på: http://www.hiof.no/index.php?id=11229 1

Oppgave 1: Generelt om operativsystemet Linux (10%) a) Hva er de viktigste oppgavene til et operativsystem? b) Forklar kort følgende begrep i Linux: i) Standard innenhet og standard utenhet. ii) Filterprogram. iii) Redirigering av I/O. iv) Piping (eller rørlegging ) c) Programmet lint kan brukes i tillegg til kompilatoren for å luke ut bugs og finne mistenkelig og ikke-standard kode i C-programmer. lint leser en fil med C- kode og skriver ut advarsler og feilmeldinger til standard utenhet. En bruker som ville sjekke kvaliteten på programmene sine (et stort antall C-filer som var plassert i katalogen myprogs), ga følgende kommando: lint myprogs/*.c Dette ga ingen respons fra lint. Brukeren fikk i stedet bare tilbake kommandopromptet fra skallet. Hva tror du dette betyr mht. til brukerens C-kode? Oppgave 2: Linux-verktøy og kommandoer (15%) a) Forklar kort hva som utføres ved eksekvering av hver av disse tre kommandoene: i) ls -ld h* ii) who grep janh > /dev/null && echo Sjefen er her iii) tail -100 fil.txt tee fil2.txt mail s Hei janh@hiof.no b) Skriv Linux kommandoer (sammensatt med rørlegging og redirigering av I/O) som utfører følgende operasjoner: i) Finner og skriver ut alle linjer på filen minfil.txt i stående katalog, som inneholder i rekkefølge (men ikke nødvendigvis rett etter hverandre) bokstavene b, a, n og d. Det skal ikke gjøres forskjell på store og små bokstaver, f.eks. skal ordene BAND og Branford skrives ut hvis de finnes på filen. ii) Skriver ut brukernavn og "fullt navn" for alle brukere på Linux-systemet som har et brukernavn som begynner med a, b eller c. Utskriften skal være alfabetisk sortert på brukernavnet. iii) Setter tilgangsrettighetene for filen minfil slik at eieren av filen kan lese filen, skrive til filen og eksekvere den. Alle andre brukere skal bare kunne lese filen. 2

Oppgave 3: Skallprogrammering (15%) a) Forklar hva som utføres ved kjøring av følgende skallprogram: #!/bin/sh trap "echo $0 aborting; rm tempfile; exit 1" 1 2 3 15 footer_file=$1 shift for file do if [ -r "$file" -a -w "$file" ] then cat "$file" $HOME/$footer_file > tempfile cp tempfile "$file" rm tempfile else echo $0: Cannot read and write $file exit 1 fi done b) Skriv et interaktivt skallprogram som leser to filnavn (tekststrenger) fra bruker (dvs. fra standard innenhet). Hvis begge filene finnes og er lesbare, skal innholdet av filene skrives ut til standard utenhet. Innholdet av de to filene skal deretter legges etter hverandre i en ny fil med navn appended_files. Alle filene skal ligge i stående katalog. Programmet bør håndtere feilsituasjoner fornuftig. Oppgave 4: C-kode med operativsystemkall (10%) Hva skrives ut når C-programmet nedenfor kjøres?: #include <stdio.h> #include <stdlib.h> int main(void) { int nummer; printf("da er vi gang!\n"); nummer = fork(); if (nummer == 0) { char *argv[3]; argv[0] = strdup("w"); argv[1] = strdup("-s"); argv[2] = NULL; } printf("og nå over til noe helt annet:\n"); execvp(argv[0], argv); } waitpid(nummer, NULL, 0); printf("hadet!\n"); 3

Oppgave 5 (17 %) a) Hvorfor er det behov for synkronisering av tråder? Hvilke synkroniseringsobjekter kan man bruke i Visual C++ 2008? Beskriv de ulike synkroniseringsobjektene og hvordan de fungerer. b) Hva menes med Interprosess kommunikasjon? Hvilke muligheter har prosesser på en PC til å kommunisere med hverandre? Hvilke muligheter har prosesser til å kommunisere med hverandre over nettverk? c) Gi en oversikt over hvordan Windows Sockets fungerer. Beskriv både server og klient. Oppgave 6 (17 %) a) Gi en oversikt over hvordan operativsystemer kommuniserer med hardware. b) Beskriv hvilke oppgaver følgende typer operativsystemer er laget for 1. Operativsystemer for vanlige PC-er. 2. Operativsystemer for sanntidssystemer. 3. Operativsystemer for servere i et nettverk. Hva vil være forskjellig for disse typene operativsystemer? c) Hvilket behov er det for sikkerhet i datasystemer. Ta for deg både enkeltstående datamaskiner og datamaskiner tilknyttet et nettverk. Oppgave 7 (17 %) Skriv et C++ program (Console i Visual Studio) med to tråder som kommuniserer med hverandre via et buffer. Den ene tråden (skrivetråden) skal skrive meldinger til bufferet. Den andre tråden (lesetråden) skal lese meldingene fra bufferet. Som buffer benyttes en String. private: static String^ _Buffer; Når en tråd har skrevet til / lest fra bufferet skal den sove noen sekunder. Bruk class Random for å trekke tilfeldige tall. Lesetråden skal ikke lese bufferet før noe er skrevet og skrivetråden skal ikke skrive noe nytt før forrige melding en er lest. For å synkronisere lesing/skriving benyttes to event objekter private: static EventWaitHandle^ _skrevetevent; private: static EventWaitHandle^ _lestevent; Lag fornuftige utskrifter til skjermen fra de to trådene slik at vi hele tiden er oppdatert på hva som skjer. Se vedlegg side 5 for noen aktuelle bibliotekrutiner i programmet. 4

Vedlegg Vedlegg til oppgave 7. Thread Members Thread(ThreadStart) Start() Sleep() Initializes a new instance of the Thread class, specifying a delegate that allows an object to be passed to the thread when the thread is started. Causes a thread to be scheduled for execution. Blocks the current thread for the specified number of milliseconds. Random Members Random() Next(Int32, Int32) Initializes a new instance of the Random class. Returns a random number within a specified range. EventWaitHandle Members EventWaitHandle(Boolean, EventResetMode) WaitOne() Set() Initializes a new instance of the EventWaitHandle class, specifying whether the wait handle is initially signaled, and whether it resets automatically or manually. Blocks the current thread until the current WaitHandle receives a signal. Sets the state of the event to signaled, allowing one or more waiting threads to proceed. 5