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

Like dokumenter
Oppgave 1 - Java og prosesser (20%)

Håndtering av tekstfiler

Håndtering av tekstfiler

Emnekode: SO135A Dato: onsdag 25. feb. I Antall oppgaver: 4

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

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

Prøve- EKSAMEN. Operativsystemer med Linux

Hvordan en prosessor arbeider, del 1

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

EKSAMEN. Operativsystemer og nettverk

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

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

Oppgave 1 - Linux kommandolinje (%)

Løsningsforslag til eksamen 24. november 2015

Høgskoleni Østfold. Ny/utsatt EKSAMEN

EKSAMEN Innføring i Linux

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

-/tmp med navn på alle kataloger og filer etter at disse

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

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

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Filer i Linux og Bourne-again shell

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr

UNIVERSITETET I OSLO

Filterprogrammer og redirigering av I/O

Antall sider:s (inkludert denne) Alle skrevne og trykte hjelpemidler samt kalkulator

Avdeling for ingeniørutdannlng. Con Adelersgate Oslo. tlf: faks:

Definisjon av prosess

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

Filterprogrammer og redirigering av I/O

1,r H øgs kolen i Østfol d

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

Operativsystemer og nettverk

Håndtering av filer og kataloger

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

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

Linux-programmer som bruker regulæruttrykk: grep, sed, awk

Generelt om operativsystemer

UNIVERSITETET I OSLO

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.

UNIVERSITETET I OSLO

Operativsystemer og grensesnitt

Oppgaver til forkurs i informatikk dag 1

Håndtering av filer og kataloger

Kurset består av to relativt uavhengige deler. Foreleser: Hårek Haugerud, rom PS431

Oppgaver til forkurs i informatikk dag 2

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

Antall sider:5 (Inkludert denne) Alle skrevne og trykte hjelpemidler samt kalkulator

Lynkurs i shellprogrammering under Linux

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Brukerprogram OS hardware

Læringsmål og pensum. v=nkiu9yen5nc

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

Unix/Linux en annen måte å gjøre ting på

Filsikkerhet i Linux

Kapittel 1: Datamaskiner og programmeringsspråk

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

Kapittel 1: Datamaskiner og programmeringsspråk

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

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

Fra Python til Java, del 2

TDT4110 IT Grunnkurs Høst 2015

INF100/INF100-F - INNLEVERING 2 HØSTEN 2005

Generell informasjon

UNIVERSITETET I OSLO

Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

d~~ "5(~~~~ ~ \ - -~-- en av disse: Annen lærer r Studieleder/ Fagkoordinator Utarbeidet av (faglærer) :

MAT-INF 1100: Obligatorisk oppgave 1

Shellscripting I. Innhold

Eksempler på ikke-blokkerende systemkall:

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Faglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten.

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

Kommersiell Unix Linux og frie Unix kloner

Labbene skal være oppsatt med dual boot. Disse labene er satt opp med dual boot, dvs. at vi må velge Linux eller Windows under oppstart av maskin.

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

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

Filer og kataloger, prosesser og jobber

Ny EKSAMEN. Operativsystemer og nettverk

Hendelser Apprentice ComputerCraft PDF

TDT4258 Eksamen vår 2013

UNIVERSITETET I OSLO

IN1140, H2018 gruppetime oppgaver Introduksjon til Tekst i Python

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

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

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Scheduling og prosesshåndtering

Løsningsforslag for TDT4186 Operativsystemer

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

}?> <!DOCTYPE... <html xmlns=" <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

UNIVERSITETET I OSLO

Transkript:

Eksamensinformasjon Eksamensoppgave Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl. 9.00-12.00 Hjelpemidler: Ingen hjelpemidler er tillatt. Andre opplysninger: Les nøye gjennom oppgavene før du begynner og pass på å besvare alle spørsmålene. Sett gjerne egne forutsetninger dersom du synes oppgaveteksten er uklar. Beskriv forutsetningene og løs oppgaven utifra dem. Maks poeng på de fleste av deloppgavene er 10 og de bidrar 2.5% hver til sluttpoengsummen. Men legg merke til at deloppgavene 2(g), 3(a) og 5(e) teller mer. 1(a) Prosesser Forklar hva som menes med PID. 1(b) Prosesser Forklar kort hva et systemkall er. 1/20

1(c) Prosesser Du utfører Linux-kommandoen ls /etc/passwd. Forklar kort om dette vil medføre at det utføres systemkall og isåfall hvorfor dette er nødvendig. 1(d) Prosesser Om man kopierer et C-program kompilert på en x86-basert Linux maskin til en x86-basert Mac OS X, vil da programmet kunne kjøre? Forklar kort. 2/20

1(e) Prosesser Anta at man kompilerer et Java-program på en x86-basert Linux maskin slik at man får en Java class-fil. Om man kopierer class-filen til en x86-basert Windows 10 PC, vil da programmet kunne kjøre? Er det noen forutsetninger utover det som operativsystemet bidrar med som må være på plass for at programmet skal kunne kjøre? Forklar kort. 1(f) Prosesser 3/20

En prosess bruker ca 8 minutter på å beregne et CPU-intensivt regnestykke. Hvis to slike prosesser kjører samtidig på et multitasking OS med én CPU, hvor lang tid vil det omtrent ta? Forklar kort. 1(g) Prosesser Hvorfor kan ikke et OS generelt sett utnytte en dual core CPU ved å la en vanlig sekvensiell prosess kjøre på to CPUer? Forklar kort. 1(h) Prosesser 4/20

Prosesser 1(h) Operativsystemer En sekvensiell 100% CPU-intensiv regnejobb bruker 6 minutter på en dual core CPU. Hvor lang tid tar det hvis 7 slike program startes samtidig på samme maskin? Forklar kort. 2(a) Linux kommandolinje I de følgende deloppgavene skal vi først studere noen Linux-kommandoer som til slutt skal settes sammen til en lang Linux-kommando som viser hvilke fem ord Shakespeare brukte oftest i sine samlede verker. Forklar utifra følgende eksempel hva kommandoen head -n 2 gjør: $ cat num.txt 30 to 20 en 200 tre $ head -n 2 num.txt 30 to 20 en 5/20

2(b) Linux kommandolinje Vi bruker så kommandoen sort på den samme filen num.txt. Forklar utifra følgende eksempel hva opsjonene n og r betyr for kommandoen sort: $ sort num.txt 200 tre 20 en 30 to $ sort -n num.txt 20 en 30 to 200 tre $ sort -nr num.txt 200 tre 30 to 20 en 6/20

2(c) Linux kommandolinje Studer manualsiden for kommandoen uniq: NAME uniq - remove duplicate lines from a sorted file SYNOPSIS uniq [OPTION]... [INPUT [OUTPUT]] DESCRIPTION Discard all but one of successive identical lines from INPUT (or standard input), writing to OUTPUT (or standard output). -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines -D, --all-repeated only print all duplicate lines -f, --skip-fields=n avoid comparing the first N fields -t, --separator=sep use SEParator to delimit fields -u, --unique only print unique lines -W, --check-fields=n compare no more than N fields in lines Gitt at du har følgende fil med navn test.txt to en en to to Angi hvordan du kan bruke uniq med opsjoner på filen test.txt slik at output blir 1 to 2 en 2 to 7/20

2(d) Linux kommandolinje Lag så en sammensatt kommando med sort og uniq og opsjoner, slik at du får en numerisk sortert liste over antall ganger ord forekommer i filen test.txt: $ cat test.txt DIN KOMMANDO 3 to 2 en Angi hva som må stå istedet for DIN KOMMANDO. 8/20

2(e) Linux kommandolinje Anta du står i en katalog med fire underkataloger som inneholder tekstversjonen av alle Shakespeares verker og som ser slik ut når du lister dem: $ ls -l totalt 4 drwx------ 2 haugerud drift 512 2016-11-21 15:32 comedies drwx------ 2 haugerud drift 512 2016-11-21 15:32 histories drwx------ 2 haugerud drift 512 2016-11-21 15:32 poetry drwx------ 2 haugerud drift 512 2016-11-21 15:32 tragedies $ ls -l poetry/ totalt 265 -rw------- 1 haugerud drift 14366 2016-08-29 07:45 loverscomplaint -rw------- 1 haugerud drift 84700 2016-08-29 07:46 rapeoflucrece -rw------- 1 haugerud drift 95662 2016-08-29 07:43 sonnets -rw------- 1 haugerud drift 18954 2016-08-29 07:46 various -rw------- 1 haugerud drift 54390 2016-08-29 07:46 venusandadonis Tilsvarende inneholder de tre andre underkatalogene tekstfiler med de andre verkene. Gi en Linux-kommando som legger alle disse tekstfilene etter hverandre i samme tekstfil med navn /tmp/alle.txt. 2(f) Linux kommandolinje Linux-kommandoen tr leser fra standard input og kan brukes til å skifte ut tegn i tekster. Følgende kommando bytter ut alle sekvenser av tegn som ikke er bokstaver med ett linjeskift: $ echo "Hei, ja og Hallo dere..." tr -cs A-Za-z '\n' Hei ja og Hallo dere Dermed overføres en setning til ord fordelt linje for linje. Kommandoen tr kan også brukes til å bytte store 9/20

bokstaver med små $ echo "HEisaNN" tr A-Z a-z heisann Lag en sammensatt kommando som gjør begge deler ved å fylle inn det som mangler i kommandoen nedenfor, slik at resultatet blir som angitt: $ echo "Hei, ja og Hallo dere..." DIN KOMMANDO hei ja og hallo dere 2(g) Linux kommandolinje Bruk det du har lært fra de tidligere deloppgavene og filen /tmp/alle.txt fra deloppgaven 2(e) til å lage en enlinjers Linux-kommando som lager en liste over de 5 ordene som Shakespeare brukte mest når han skrev sine verker. Output fra kommandoen skal være på formen 29854 the 27554 and 23357 i 21075 to 18520 of eller ihvertfall inneholde samme informasjon. Resultatet betyr at Shakespeare brukte ordet "the" 29854 ganger og "and" 27554 ganger. 10/20

Maks poeng: 30 3 Bash-scripting Skriv et bash-script rename.sh som endrer filendelse på filer i katalogen det kjøres. Brukeren angir en filendelse og hva den skal endres til med to argumenter. Hvis man bruker rename.sh som følger: $ rename.sh wav mp3 Endrer fil.wav til fil.mp3 Endrer fil2.wav til fil2.mp3 skal alle filer i katalogen som har filendelse wav endres til mp3. En opplysning om hver endring skal gis som i eksempelet. Du trenger ikke å sjekke at brukeren virkelig kjører scriptet med to argumenter. Man kan bruke kommandoen basename i scriptet om man ønsker det; to relevante eksempler er vist her: $ basename fil.wav.wav fil $ basename fil.12.wav.wav fil.12 11/20

Maks poeng: 60 4(a) Virtualisering Beskriv og forklar kort to grunner til at virtualisering av en datamaskin er nyttig, sammenlignet med å bruke en tradisjonell datamaskin. 4(b) Virtualisering Inntil 2005 var det slik at det fantes noen x86 instruksjoner (som for eksempel POPF) som bare ble oversett om de ble utført i user mode. Det disse instruksjonene utførte skulle bare være lov å gjøre i kernel mode og ingen ting 12/20

skjedde når de ble utført i user mode. Forklar kort hva som gjorde dette problematisk i forbindelse med virtualisering og hvordan disse hardware-instruksjonene ble endret for å støtte x86-virtualisering. 4(c) Virtualisering Forklar kort hva som ligger i begrepet Unikernel. 4(d) Virtualisering 13/20

Ofte omtaler man et komplett operativsystem, som for eksempel Ubuntu, som unødvendig stort når det skal være operativsystem i en virtuell maskin. Forklar kort årsaker til det og hvordan dette er relevant for Unikernels. 5(a) PowerShell Forklar kort hva følgende betyr for kommandoen ps: PS C:\Users\haugerud> alias ps CommandType Name Version Source - - - - - - - - - - - - - - - - - - - - - - - - - - - Alias ps -> Get-Process 14/20

5(b) PowerShell Forklar kort hva slags informasjon følgende kommando gir deg om ps: PS C:\Users\haugerud> ps Get-Member Name MemberType Definition - - - - - - - - - - - - - - - - - - - - - - - - WS AliasProperty WS = WorkingSet64 Kill Method void Kill() Id Property int Id {get;} PeakWorkingSet64 Property long PeakWorkingSet64 {get;} ProcessName Property string ProcessName {get;} WorkingSet64 Property long WorkingSet64 {get;} 5(c) PowerShell Bruk metoden vist i dette eksempelet PS C:\> (ps notepad) Select-Object name, @{name="tid";expression={$_.starttime}} Name Tid - - - - - - - notepad 02.05.2017 11.54.54 til å gjøre en tilsvarende enlinjes kommando som gir tilsvarende output: Id Name Prosent WS - - - - - - - - - - - - - - - 256 chrome 81,5734118636937 4996 chrome 45,9291518402464 5500 conhost 84,1443538998836 352 csrss 83,3824975417896 15/20

hvor kolonnen med Prosent WS er hvor mange prosent WorkingSet64 utgjør av PeakWorkingSet64 for hver prosess som listes. 5(d) PowerShell Ordet peak kan oversettes med største verdi. Forklar hva kolonnen Prosent WS viser oss og hvorfor det kan være nyttig å vite dette tallet. 5(e) PowerShell 16/20

PowerShell 5(e) Operativsystemer Skriv et PowerShell-script som regner ut hvor mange prosent summen av WorkingSet64 for alle kjørende prosesser utgjør av summen av PeakWorkingSet64 for de samme prosessene. Maks poeng: 40 6(a) Kode og maskinkode Forklar kort forskjellen på C-kode, assembly-kode og maskinkode. 6(b) Kode og maskinkode 17/20

Hva er et register? Forklar kort. 6(c) Kode og maskinkode Hva er det største tallet som kan lagres i et 32-bits register? Uttrykk svaret i potenser av 2. 6(d) Kode og maskinkode Studer følgende assembly-funksjon med navn sum: 18/20

.globl sum sum: mov $0, %rbx mov $0, %rax start: add $1, %rbx add %rbx, %rax cmp $3, %rbx jne start ret # Verdien i rax returneres Forklar kort hva funksjonen gjør når den kjøres og hvilket tall som returneres i registeret rax. 6(e) Kode og maskinkode Endre ett tegn i assembly-koden slik at tallet 10 returneres i rax og forklar kort hvorfor retur-verdien da endres til 10. 19/20

20/20