22 45 32 00. faks: 22 45 32. Avdeling for Ingeniørutdanning. Cart Aælersgate 30-0254 Oslo - tlf 05. iu@hio.no



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

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

Emnekode: SOl35A Alle trykte og skrevne hjelpemidler

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

Operativsystemer og nettverk Løsningsforslag til eksamen Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

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

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

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

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

EKSAMEN. Operativsystemer og nettverk

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

Prøve- EKSAMEN. Operativsystemer med Linux

Oppgave 1 - Linux kommandolinje (%)

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O

Controller Brukerstøttedatabase Ottar Holstad/Cantor 09.

Definisjon av prosess

Høgskoleni Østfold. Ny/utsatt EKSAMEN

Generell informasjon

Hvordan laste ned og installere Java på Windowsplattformen

Hvordan installere Java og easyio på Windows

EKSAMEN Innføring i Linux

Skriv ordbøker og litteratur på Tegnspråk med en nett-tjener i lommeformat! For ivrige Tegnskrift (SignWriting )- brukere!

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

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Kjøre Wordpress på OSX

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

UNIVERSITETET I OSLO

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

Lynkurs i shellprogrammering under Linux

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

GK96 Installasjonsveiledning for oppdatering til 2.0

Hvordan å lage og publisere ditt personlige visittkort

Læringsmål og pensum. v=nkiu9yen5nc

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

Løsningsforslag til eksamen 24. november 2015

Shellscripting I. Innhold

Installere JBuilder Foundation i Windows XP

DDS-CAD 6.4 INSTALLASJON VIA NETTVERK. DATA DESIGN SYSTEM ASA Øksnevad Næringspark, 4353 Klepp st., fax , tel.: , e-post:

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

UNIVERSITETET I OSLO

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

Brukermanual for Quizbuilder

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

OPPGAVESETT 1 INTRO. Delta på andre forelesning i emnet, der hovedkomponentene til datamaskinen blir introdusert. Ta notater!

Hvordan en prosessor arbeider, del 1

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

Håndtering av tekstfiler

Oppgaver til forkurs i informatikk dag 1

Filer og kataloger, prosesser og jobber

MERK: DU MÅ IKKE PRØVE Å INSTALLERE PROGRAM- VAREN FØR DU HAR LEST DETTE DOKUMENTET.

Øving 0 - Xcode TDT4102

DDS-CAD 7 INSTALLASJON VIA NETTVERK. DATA DESIGN SYSTEM ASA Øksnevad Næringspark, 4353 Klepp st., fax , tel.: , e-post: dds@dds.

Beskrivelse for hvordan en kan digitalisere og importere musikk inn i Variations på TEST server EINER.UIB.NO (for installasjonen 17.

Brukerveiledning for ArkN4

1. Hent NotaPlan Online Backup på 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

Din verktøykasse for anbud og prosjekt

4. Installasjonsveiledning. Experior - rich test editor for FitNesse -

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

Installasjon av Cantor Controller MSSQL. Installasjon av Enbruker. Veiledningen har tre kapittel

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

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

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

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

Generelt om permanent lagring og filsystemer

Lotus Traveler - Manual for installasjon

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Kapittel 3. The fun starts

Cantor Controller - Installasjon av nettverksklient

Kom i gang med programmering i Java

Bruksanvisning for Blekkspruten koblingsboks

HØGSKOLEN I SØR-TRØNDELAG

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden.

Generelt om operativsystemer

Installasjonsveiledning. DDS-CAD ByggMester

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

HØGSKOLEN I SØR-TRØNDELAG

6105 Windows Server og datanett

Denne artikkelen er produsert for. Amatør Radio. "Bullen" og står trykt i sin helhet i utgave

UNIVERSITETET I OSLO

Hvordan slette midlertidige filer i Java kontrollpanel

Maestro Klientadministrasjon

Operativsystemer og nettverk

Installasjonsveiledning for Ordnett Pluss

Litt info om Unix-nettet/maskinene. Hvorfor kjøre matlab på Unix. Overføring av filer mellom PC og Unix. Hvordan få tilgang/unix-bruker

TI -programvare for grafiske enheter og informasjon om lokalisering

MAT-INF 1100: Obligatorisk oppgave 1

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

UNIVERSITETET I OSLO

WinTid Scheduler. Oppgradering til versjon HRM

Brukerveiledning for programmet HHR Animalia

For kunder som kjører Huldt & Lillevik Reise 1.3 på Access database

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

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

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

UNIVERSITETET I OSLO

Installasjonsveiledning DDS-CAD 7.3

UNIVERSITETET I OSLO

Transkript:

IKandidaten må selv kontrollere at oppgavesettet er fullstendig. Ved eventuelle ~klarheter i oppgaveteksten skal du redegjøre for de forutsetninger du legger Itil grunn for løsningen. Avdeling for Ingeniørutdanning. Cart Aælersgate 30-0254 Oslo - tlf 05. iu@hio.no 22 45 32 00. faks: 22 45 32

Eksamen høst 2004 Operativsystemer og UNIX Les nøye gjennom oppgavene før du begynner og pass på å besvare alle spørsmålene. Alle trykte og skrevne hjelpemidler er tillatt. Oppgavene vil ikke bli vektlagt likt ved sensur. En sannsynlig fordeling er at oppgave 1 teller 10%, oppgave 2 teller 30%, oppgave 3 teller 20% og oppgave.4 teller 40%. De som ønsker det kan besvare oppgavene eller deler av oppgavene på engelsk. Sett gjerne egne forutsetninger dersom du synes oppgaveteksten er uklar. Beskriv forutsetningene og løs oppgaven utifra dem. Oppgave 1 I denne oppgaven antas det at man kjører bash på en Linux-maskin. a) Gi en kommando som flytter filen Itmp/fil.txt til katalogen du står i b) Gi en kommando som gir antall linjer i filen /etc/group c) Gitt følgende cube$ cat IQ.txt 134 toreo 78 haugerud 120 sigmunds 112 mark cube$ sort IQ. txt head -n 2 Hva blir output fra sort-kommandoen? d) Forklar kort feilmeldingen fra kommandoen cp: $ vhoami hh $ 18 -l -rv-r--r-- 2hh lhh $ cp til dir cp: cannot cre.te r.gular tile 'dir/fil' 4096 Nov 28 12:16 dir O Nov 28 12:16 til Permission denied e) Kommandosekvensen fortsettes med $ cbmod 200 dir $ la -l d-v :2 l $ cp fil dir cp: cannot stat r dir/fil) hh hh Permiaaion 4096 Nov 28 12:16 dir denied O Nov 28 12:16 fil Forklar kort feilmeldingen fra kommandoen cp. l

f) I fortsettelsen av eksempelet i forrige deloppgave, gi en kommando som setter det minmum av rettigheter katalogen dir må. ha for at cp fil dir skal kunne utføres uten feilmeldinger. g) Studer følgende eksempel: $ 18 -l drvx 2 bh -rv-r--r-- 1 bh -rv-r--r-- 1 bh $ cp fil dir $ cp -p fil. ~xt dir. 18-1 dir -rv"r--r-- 1 bh -rv"r--r-- 1 bh bh bh 4096 Nov 28 12:~ dir O Nov 28 12:16 fil O Nov 28 13:01 f11.txt o Nov 28 13:03 O Nov 28 13:01 til til.txt Forklar ut fra dette kort hva som er forskjellen på kommandoene cp og cp -p. Oppgave 2 Det er lurt å gjøre de./, siste deloppgavene i oppgave 1 før du gjør denne oppgaven. Ofte er det nyttig å ta vare på eldre versjoner av filer, for eksempel et program under utvikling eller loggfiler. Men om man ikke fjerner de eldste versjonene, kan man risikere at disken fylles opp. I denne oppgaven skal du lage et bash-script med navn rotate som skal kopiere en fil (gitt som argument 1) til en katalog (gitt som argument 2). Hvis det fra før ligger en fil med samme navn i denne katalogen (en tidligere versjon) skal det lages en kopi av denne filen med versjonsnummer 1 og eventuelle andre versjoner roteres slik at alle får et høyere versjonsnummer. Inntil 10 gamle versjoner av filen skal lagres. Noen eksempler viser best hvordan scriptet skal virke om man utfører. r~at. fil.txt dir I det siste eksempelet skal fil. txt.10 ikke bevares, slik at det maksimalt skal lagres 10 gamle versjoner Filen som angis i første argument kan være gitt med en path før filnavnet som i. ro~at.. 1~/tll..~G dir Scriptet skal avlutte med en passende feilmelding hvis. det ikke gis to argumenter. noen av argumentene ikke oppfyller de krav som må være oppfylt for at man skal kunne kopiere argument 1 (en fil) til argument 2 (en katalog) 2

Oppgave 3 a) En av fordelene med de nye 64-bits x64 prosessorene og ltanium er at de kan adressere mer RAM. Hvor mange byte internminne kan man maksimalt adressere med et 32-bits adresseregister som de fleste av dagens 32-bits prosessorer har? b) Du kjører Jbuilder og et par andre programmer som krever mye internminne. Når du bruker disse programmene kjører de etterhvert veldig sakte og du hører at harddisken brukes hele tidene, selvom programmene ikke lagrer eller leser filer. Hva kan dette skyldes? Forklar kort. c) Anta at du skal lage et CPU-intensivt program som skal utføre en stor matematisk beregning. Du vurderer å bruke språkene bash, C++, Java og Perl. Ranger antatt hastighet for disse programmene fra 1 til 4 med 1 som hurtigste og 4 som sakteste. d) Anta at du har en Linux og en Windows maskin som kjøer på samme type x86-hardware og en Sun Solarismaskin som kjører på sparc. Alle har installert Java. I følgende tabell er det et kryss i første rute fordi et Java-program kompilert på Windows-maskinen kan kjøres på Windowsmaskinen. Fyll ut tilsvarende der du mener det skal være kryss. e) Anta samme maskiner som i forrige deloppgave, men nå. har a.1l en C-kompilator. Siden et C-program som er kompilert på. Windows-maskinen vil kjøre på. Windows-maskinen, er det fylt ut et kryss i første rute. Fyll ut tilsvarende der du mener det skal være kryss. f) Et brukerprogram kjører under et multitasking OS på en maskin med bare en CPU. I maskinkoden til programmet er det en evig løkke som gjør at den samme koden kjøres om og om igjen. Hvordan sørger OS for at andre prosesser slipper til i CPU-Iøkken? Forklar kort. g) Når et brukerprogram skal lese en fil, må modusbit switches til superusermodus for at kjernekode skal utføres. Anta at dette ble gjort med følgende maskin-instruksjoner i brukerprogrammet: switchtosuperusermodus JMP readfile hvor det i den andre instruksjonen hoppes til kjernekoden. Hva er problemet med denne løsningen og hvordan løses det i moderene OS? Forklar kort. ~

Oppgave 4 a) Lag en Perl subrutine addl1ne() som tar to argumenter. Det første er et filnavn og det andre er en tekststreng. Subrutinene skal åpne filen, legge til tekststrengen på slutten av filen og lukke filen igjen. Hvis det ikke lykkes å åpne filen for skriving, skal den skrive ut en feilmelding om det til STDERR. Du skal bruke use str1ct;. ~)! ~enne ~eloppg~ven skal du skrive klient-delen av et Perl chat-program som skal kunne brukes mellom to vilkarlige UnIX-maskiner på Internett. Koden for server-delen heter server og ser slik ut:.! /b1n/perl us.str1ct; us. IO::Sock.t::INET my $serverport. 9002;.y $socket = ID: : Socket: :INET->nev(LocalPort ->..erverport, Reuse -> l, Listen -> 5) or die "Kan ikke starte chat-server pi port..erverport!\d"; while (my $socketconn8ction a $8ocket->aCc8pt(» { vh1le(my Sline. <SsoctetConnect1on» } addline("/t8p/chat".$line); $socketconnection->clo.a() j Koden for subrutinen addline() er den fra oppgave a) og er tenkt inkludert til slutt i server. Begge de to maskinene det skal chattes mellom skal kjøre en slik server. En typisk chat mellom brukeren haugerud på. host rex og brukeren os på host cube kan se slik ut for haugerud på rex: rex$./servert. rext./client cube haugerudorex> Hei! haugerudorex> Er du der? haugerudorex> OK. Jeg m& stikke haugerudorex> Med qui t haugerudgrex> quit rex$ og for os på host cube cube$./servert; cube$./client rex osgcube> Jada... oagcube> Greit, hvordan avslutter man? osgcube> OK osocube> quit cube$ 4

Begge vil når de starter client få opp et xterm-vindu som fortløpende viser det som begge taster inn slik: haugerudorex> Heil haugerudorex> Er du der? osocube> Jada... haugerudorex> OK. Jeg må stikke. os~cube> Greit, hvordan avslutter man? haugerudorex> Med quit osccube> OK Dette skal gjennomføres ved at programmet client (som du skal skrive) åpner en socket på port 9002 til serveren. Navnet på serveren som client skal koble seg til skal bli gitt som første argument. Deretter sender client hver linje som brukeren taster inn over denne socketen til server. I tillegg skriver client hver linje til filen /tmp/chat med subrutinen addline() fra oppgave a). Ikke skriv inn addline() på nytt. Dette gjør at filen /tmp/chat på begge serverene vil fylles opp med alle linjene som de to brukerene taster inn. De to chat'erne ser alt som skrives inn ved å kjøre kommandoen ta11-f /tmp/chat i et terminalvindu. Da vises linje for linje av det som legges til filen /tmp/chat. Scriptet client skal sørge for følgende:. Bruke use strict; Avslutte med passende melding hvis det ikke blir gitt noe argument. Avslutte med passende melding hvis det ikke lykkes å koble seg til!. argument på portnummer 9002. Gjøre kommandoen xterm -e tail -f /tmp/ chat for å vise det som skrives. Men programmet må først gjøre en fork() og utføre kommandoen i child, ellers vil client henge på denne kommandoen. Lage et prompt bestående av brukernavn og host-navn som hentes dynamisk med Linux-kommandoer eller environment-variabler. Sende hver linje brukeren skriver inn (med promptet lagt til først) over socketen og med addline() til filen /tmp/chat -SL~- Avslutte hvis brukeren skriver en linje som bare inneholder ordet quit og eventuelt blanke, TAB eller lignende før eller etter 5