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

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

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

Oppgave 1 - Java og prosesser (20%)

Oppgave 1 - Linux kommandolinje (%)

Emnekode: SOl35A Alle trykte og skrevne hjelpemidler

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

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

EKSAMEN. Operativsystemer og nettverk

Høgskoleni Østfold. Ny/utsatt EKSAMEN

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

Prøve- EKSAMEN. Operativsystemer med Linux

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

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

Filer og kataloger, prosesser og jobber

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

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

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

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

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

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

Definisjon av prosess

Løsningsforslag til eksamen 24. november 2015

Lynkurs i shellprogrammering under Linux

Fjerninstallasjon av Windows 7

Filterprogrammer og redirigering av I/O

Generelt om operativsystemer

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

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

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

Into da BIOS<3. Bak Skallet

Filterprogrammer og redirigering av I/O

EKSAMEN Innføring i Linux

Hendelser Apprentice ComputerCraft PDF

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

Generell informasjon

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

Hvordan en prosessor arbeider, del 1

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

Etiming i VirtualBox!!!!!!!!!! Side 1 av 24

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

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

Hvis du gjenkjenner ett av disse to bildene over så er dere på vår ASP-server.

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

Software installasjon og andre ettertanker

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

Installere JBuilder Foundation i Mandrake Linux 10.0

Minnehåndtering i operativsystemer

Læringsmål og pensum. v=nkiu9yen5nc

Filer i Linux og Bourne-again shell

Håndtering av filer og kataloger

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

Brukermanual for Quizbuilder

Operativsystemer og nettverk

HASTER! Installer programmet nå!

Installere programvare gjennom Datapennalet - Tilbud

Installasjonsveiledning

Generelt om operativsystemer

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

HOWTO Sette opp Skolelinux med tynne klienter og printer

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

Håndtering av filer og kataloger

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

Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP)

Installere JBuilder Foundation i Windows XP

Generelt om permanent lagring og filsystemer

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

1. Installasjon av Novell Netware 6 server

IN1020. Obligatorisk oppgave 1. Formål

Gi en overordnet beskrivelse av RAID-nivå 0, 1 og 6. Gi eksempler på egnet bruk for hver. Skriv ditt svar her...

Installasjonsveiledning Visma Avendo Lønn, versjon 7.60 Oktober 2011

Oppgave lab. 2. Hvor mye Internminne har den? - Maskinen har 2GB internminne.

Minnehåndtering i operativsystemer

1)Gjør om desimal tallene til binære: a) 4 =0100. b) 17 = c) 34 = d) 128 = e) 255 =

Oppgave 1 & 2: Først gå inn på «Min Datamaskin/ Computer» Høyreklikk på vinduet uten å være nær noen dokumenter o.l.

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

Håndtering av minne i et OS

Her velger dere først System and Security og deretter System.

Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer. IN 147 Program og maskinvare.

Fjerninnlogging over Internett

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

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

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Installasjonsveiledning

DIPS Communicator 6.x. Installasjonsveiledning

Laboppgave. Sondre Gulichsen, Li Lisan Linder. 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

Innføring i bruk av CGI4VB

Ny EKSAMEN. Operativsystemer og nettverk

Tekniske krav. Installasjonsrekkefølge. Operativsystem og web-server. Maskinvare. .Net Framework 2.0. ASP.Net AJAX 1.0

)DVW3ODQ,QVWDOOHULQJ $%% $6 'LYLVMRQ $XWRPDVMRQVSURGXNWHU ΑΒΒ 3RVWERNV 6NLHQ

Operativsystemer og grensesnitt

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

Tildeling av minne til prosesser

$ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755. Praktisk Linux. Grunnleggende skall kommandoer. Irene Ludvigsen Husa

Brukerveiledning for ArkN4

Bruksanvisning for PC-Sentralbord. Ez Attendant

Transkript:

Eksamen høst 2002 Operativsystemer og UNIX Le.~ 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 15%, oppgave 3, 4' og 5 teller 25%. Innenfor hver oppgave vil deloppgavene telle omtrent likt. De som ønsker det kan besvare oppgavene eller deler av oppgavene på engelsk. Sett gjerne egne forutsetninger dersom du synes oppgave teksten er uklar. Beskriv forutsetningene og løs oppgaven utifra dem. Oppgave 1 I denne oppgaven skal du i delspørsmål a) og b) løse problemet ved å angi en kommando på en linje; slik du ville ha tastet den inn til bash på en Linux-maskin fra tastaturet (du svarer f.eks. mkdir kat hvis du blir spurt: Opprett en katalog med navn kat). a) Gi en kommando som endrer på navnet til en fil i katalogen du står fra current.version til old.version. b) Gi en kommando som for filen readme.txt i katalogen du står gir: kun lese og skriverettigheter til eieren, kun leserettigheter til gruppen og ingen rettigheter til andre brukere. c) I en tom katalog med navn - /tmp utføres følgende Unix-kommandoer: $ cp /proc/cpuinfo. $ _dir hosts $ cp /etc/paasvd passvd $ cp /etc/hosts hosta S _dir info S!DY cpuinfo info $!DY info hosta Tegn en liten skisse som viser katalogstrukturen under kommandoene er utført. d) Du gjør følgende i et bash-shell og får kun den output som du ser -/tmp med navn på alle kataloger og filer etter at disse $ cd /tmp $ cd tmp 2> /dev/null $ cd tmp 2> /dev/null $ /bin/pvd /tmp $ Angi tre forskjellige katalogstrukturer under /tmp som vil gi dette resultatet. Oppgave 2 Lag et bash-script pidkill som tar ett argument fra kommandolinjen og betrakter argumentet som en prosesspm. Hvis ingen eller flere enn ett argument gis. skal scriptet avslutte med en passende feilmelding. Ellers skal scriptet drepe alle prosesser som har en PID som er høyere enn den som er gitt ved argumentet. Kun prosesser som eies av den som kjører scriptet skal drepes. Ved f. eks. $ pidkill 1456 skal alle prosesser brukeren eier som har pm høyere enn 1456 drepes. For hver prosess som drepes, skal det gis en melding om det til skjermen. Unngå at scriptet dreper seg selv og eventuelle prosesser det selv starter. Output fra kommandoen ps aux ser slik ut:

USER PID XCPU XMEM vsz ass TTY haugerud 3671 0.0 0.1 5748 1616? haugerud 3672 0.0 0.1 2260 1304 pts/l Oppgave 3 STAT START S 08:31 S 08:31 TIME COMMAND 0:00 /usr/sbin/sshd 0:00 -ba,sh a) En CPU bruker 20-bits registere til å adresser en byte i internminnet. adresseres? Hvor mange r..1bytes kan da b) Hvilken av lagringsenhetene RAM, register og harddisk bruker CPU henholdsvis kortest og lengst tid på å hente en byte fra? c) Hva er linking av programmer? Forklar kort d) Hva er et dynamisk bibliotek. Forklar kort. e) Du har filen Kernel. class i hjemmekatalogen din på en Linux-maskin og kjører den med $ java Kernel. Etter en stund er programmet helt uvirksomt, men ikke ferdig med å kjøre. OS slipper andre til ved å fjerne det helt fra minnet ved hjelp av paging. Hvor legger da OS alt som fjernes fra minnet? f) Swa~partisjonen har under Linux et litt anderledes filsystem enn partisjoner som brukes til vanlige filer. Hva er grunnen til det? g) Forklar kort hvorfor du kan kjøre den samme Java byte-koden på en Intel Windows-PC som på en Sull Unix-maskin. h) Du kompilerer et C-program på en Intel Windows-PC og får en exe-fil. Du kopierer denne til en Sun Unix-maskin og kjører den der. Forklar kort hvorfor programmet ikke vil virke. i) Forklar kort hva systemkallet fork() Kiør. j) Anta at du kjører følgende perl-script.! /bin/perl print "\mork() er komplisert Si. 1; Spid. fork(); Si++; if (Spid - O) sleep(5); print lia: i. $i\n"; Si++; print "B: i. Si\n" Spid. fork(); if (Spid.. O) sleep(5) j print "c: i. $i\n" \n" Angi hva output fra scriptet blir med tidspunkt siden scriptet startet (anta det ikke kjøres noe annent samtidig) i hele sekunder for hver linje. Start slik: fork() er kollpliaert (O sek.) 2

Oppgave 4 I denne oppgaven skal du skrive tre Perl subrutiner som skal kjøres på en Linux-maskin og som skal brukes i neste oppgave (ikke skriv dem på nytt der!). Alle subrutinene skal benytte lokale variabler. a) Lag en Perl-subrutine g~tfile() som tar ett filnavn som argument. Subrutinen skal returnere en streng som begynner med en linje hvor det står FILE: filnavn der filnavn er navnet som er gitt i argumentet. Resten av strengen som returneres skal være innehaidet av filen. Hvis filen ikke kan åpnes for lesing, skal strengen som returneres kun inneholde FILENOTFOUND: Can't open file filnavn der filnavn er navnet som er gitt i argumentet. b) Lag en Perl-subrutine getcommand () som tar en skalar streng som argument. Subrutinen skal returnere en streng som begynner med en linje hvor det står COMMAND : ko~do der kommando er strengen som er gitt i argumentet. Resten av strengen som returneres skal inneholde output som denne kommandoen gir når den kjøres på Linux-maskinen. c) Lag en Perl-subrutine getip() som skal returnere maskinens lp-adresse om den klarer å finne den og strengen "lp unknown" om den ikke finner den. Subrutinen skal finne lp-adressen ved å bruke programmet /sbin/ifconfig. Output fra dette programmet inneholder bl. a. en linje inet addr:128.39.89.9 Bcast:128.39.89.2SS Mask:2SS.2SS.2SS.0 der tallet 128.39.89.9 er maskinens lp-adresse. Dette er den første linjen "inet addr". Oppgave 5 output som inneholder strengen Etter din avsluttende eksamen ved Il7 spredte ryktene seg om dine glitrende resultater og du fikk snart et tilbud om jobb ved Microsofts hovedkontor i Seattle. Første dag på jobb kom selveste Bill Gates innom kontoret ditt og fortalte at de hadde valgt deg p.g.a. ditt kjennskap til Linux. Han fortalte at de nå kontinuerlig mottok informasjon fra alle i verden som hadde installert Windows XP, men at de visste for lite om den lille men potensielt farlige konkurrenten Linux. De hadde laget en såkalt MISS (Microsoft Information Spy Server) som skulle stå og kjøre på maskinen miss.mictosoft.com og du fikk utlevert MISS sin kildekode: I! /bin/perl uae IO::Soc:ket::DlETj use Crypt::CBCeasy; Smy_key. "miss"; my Sserver_port = 6686; 's.rver - IO::Socke~::IHET->nev(LocalPor~ a> 'server_port. buse -> 1. Lis~en => 5) or di. "Can'~ 8~art MISS a~ port 's.rver_port\n" j 3

SBUFFSIZE.1000000; print "Starting HISS on port Sserver_port.\n" vhile <$client. $server->accept(».buffer. ""; vhile(true) recv(sclient.snevbuffer.$buffslze."o") i Sbuffer.- $nevbufferi last if (Sbuffer 8- s/endoftranskissions/ /) *buffer = Blovfish::decipher(*my_key.*buffer) open(fil. "»LinuxWorld. log") i print FIL Sbuffer; clo.e(fil); Det var viktig at informasjone skulle krypteres, slik at ingen fant ut hva som foregikk. Gates gav deg så i oppdrag å skrive en klient som skulle kunne kjøres på en hvilken som helst Linux-maskin i verden og sende informasjon om maskinen den kjørte på til spy-serveren på miss.microsoft.com. Han fortalte et en samarbeidspartner ved navn Kram Segrub hadde skrevet et GPL-program enignefc som er med i alle Linux-distribusjoner og som skulle sørge for at din klient ble startet en gang hver time. Siden du var nyansatt, skulle du få hele 40 minutter på oppgaven. Skriv en slik Perl-klient som gjør følgende (bruk subrutinene fra oppgave 4). Sender en kryptert rapport til MISS på miss.microsoft.com slik at MISS kan dekryptere og lagre den. Hvis klienten kjører på maskinen tube. skall. linje i rapporten se slik ut: REPORT: from tube (128.39.74.16) on \Ved Dec 1114:40:21 2002. Deretter skal følgende informasjon sendes: 1. En fil som inneholder navn og info om alle brukere på systemet 2. En fil som inneholder info om CPU'en: modell, klokkefrekvens, etc.. 3. Output fra en kommando son gir info om nettverkskortet: ethernettadresse, lp-adresse, netmask~ etc. 4. Output fra en kommando som gir en linje med OS-navn, versjon, etc. 5. Output fra en kommando som gir en detaljert listing av alle prosesser 6. Output fra en kommando som gir informasjon om tjenesten telnet er tilgjengelig. Før innholdet i filene skal det sendes en linje: FILE: filnavn (FILENOTFOUND: filnavn hvis den ikke kan leses). Før output fra kommandoene skal det sendes en linje: COMMAND: kommando-navn. Etter at informasjonen er sendt. skal klienten bryte forbindelsen og avslutte. Heldigvis hadde du allerede skrevet Perl-subrutiner som hentet lp-adresse samt innhold i filer og output fra kommandoer på det formatet som var ønsket (forrige oppgave), så du kan bruke disse subrutinene i programmet (ikke skriv dem inn på nytt!). -SLUTT- 4