Tentamen i ID2206, ID2200 samt IS1350 Operativsystem



Relevanta dokument
Lösningsförslag till tentamen i IS1350 Operativsystem

Tentamen den 18 mars svar Datorteknik, EIT070

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör.

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Minneshantering segmentering och virtuellminne. Föreläsning 3

Operativsystem (ID2200/06) XX XX:00-XX:00

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Operativsystem (IS1350) :00-12:00

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Design och trender. Föreläsning 12

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

4 grundregler. Minneshantering. Problemet. Windows minkrav

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Trådar och Multiprocessorer. Föreläsning 6

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

Minnet från processorns sida Datorteknik

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

Datorteknik ERIK LARSSON

Operativsystem - input/output, skydd, virtualisering

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT

Operativsystem ID2200/06 omtentamen :00-18:00

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets)

Några gamla tentamensuppgifter: Minneshantering

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00

Minneshantering - grunderna. Föreläsning 2

Operativsystem ID1200/06 Tentamen :00-18:00

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

Operativsystem Introduktion

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Synkronisering. Föreläsning 8

Operativsystem ID1200/06 Tentamen :00-18:00

Operativsystem ID2200/06 omtentamen :00-12:00

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Operativsystem ID2200/06 omtentamen :00-18:00

Operativsystem ID2200/06 omtentamen :00-18:00

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

Digitala System: Datorteknik ERIK LARSSON

Operativsystem ID2200/06 omtentamen :00-12:00

Tentamen PC-teknik 5 p Lösningar och kommentarer

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Datorteknik ERIK LARSSON

Föreläsning 2. Operativsystem och programmering

Realtidssystem, device drivers. Föreläsning 10

Fallstudier. Föreläsning 11

Reservföreläsningen inställd

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

Aktivitetsschemaläggning för flerkärninga processorer

Introduktion till hårdvara, mjukvara och operativsystem

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7

Realtidssystem. - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 5

Operativsystem ID hp, ID2200 6hp

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Operativsystem. Hierarkin för hårdvara läses nerifrån

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll?

F5: Högnivåprogrammering

Operativsystem ID2200/06 tentamen och omtentamen :00-12:00

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Operativsystem. IS hp. Jim Dowling Docent, PhD [Bilder av Robert Rönngren]

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Tentamen i Informationsteknologi 5p Fredagen den 13 augusti 2004

Datorsystemteknik för E/D

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Datorsystem. Tentamen

Datorsystemteknik DAV A14 Föreläsning 1

F5: Högnivåprogrammering

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Operativsystem ID2200/06 tentamen och omtentamen :00-12:00

Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet

Systembeskrivning. Systemskiss. Moduler.

Tentamen, Distribuerade System/Programvaruarkitektur

Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop?

Operativsystem ID2200/06 omtentamen :00-12:00

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Datorarkitekturer med operativsystem ERIK LARSSON

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

Styrsystem. Quantum, M340 o Momentum. Kom-igång med konvertera Concept till Unity Rev

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00

Tentamen TEN1 HI

Datorsystemteknik Föreläsning 7DAVA14

Operativsystem ID2200/06 omtentamen :00-18:00

DIG IN TO Dator och nätverksteknik

Transkript:

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tisdagen 2014-03-18 kl 09:00-13:00 Examinator: ID2206, ID2200 Robert Rönngren, IS1350 Jim Dowling Hjälpmedel: Inga Tentamensfrågorna behöver inte återlämnas efter avslutad tentamen. Ange vilken kurs du tenterar och vilken termin du registrerades ffg. på kursen. Varje inlämnat blad skall förses med följande information: ˆ Namn och personnummer ˆ Nummer för behandlade uppgifter ˆ Sidnummer Rättning: ˆ Alla svar, även på delfrågor, måste ha åtminstone en kortfattad motivering för att ge poäng Betygsgränser: ˆ Godkänt (E) garanteras från 50% av den maximala poängen på respektive kurs Frågor: (1) Vad är en translation lookaside buffer, TLB, och varför behövs den? Vad innehåller normalt en entry i en TLB? I ett virtuellminnessystem baserat på paging så görs adressöversättningen vid exekveringen. Har man en sidtabell i vanligt minne så får man minst en fördubbling av minnesaccesstiden om man först måste slå upp översättninngen sida- ram i sidtabellen i vanligt minne och sedan accessa den minnesposition man avsåg. Delvis kan det här problemet minskas om man har sidtabellerna i de vanliga cacharna. Men för att få acceptabel prestanda så inför man oftast en liten, mycket snabb tabell i hårdvara nära processorn där man håller de senast accessade adressöversättningrana i. Den kallas Translation Lookaside Buffer. TLB:n måste innehålla Sidnr, Ramnr, övrig info från sidtabellen som skyddsbitar, PID, Pid behövs om man inte vill behöva tömma hela TLB:n då man byter process. 2014-03-18 Sidan 1/5

(2) När man bygger distribuerade system, kan man använda både blockerande- och ickeblockerande kommunikation. Beskriv en viktig fördel och en viktig nackdel med att vänta tills ett meddelande har skickats istället för att vänta tills mottagaren har tagit emot meddelandet. Non-blocking sockets kan vara både TCP och UDP - dvs, non-blocking TCP är inte nödvändigtvis mindre pålitligt än blocking TCP. Vad är annorlunda är att clienten som skickar medelandet blockeras inte - clienten kan fortsätta göra beräkningar. Non-blocking skalar bättre på multicore hårdvara. En nackdel är att det är svårare att programmera message-passing applikationer än RPC applikationer, eftersom flödeskontroll inte längre är sekventiellt. (3) Förklara vad följände 64bitars NASM kod gör. Vad händer om vi byter positioner av rad 9 och rad 12 (dvs., flytter rad 9 till rad 12 och rad 12 till rad 9)? Varför? 1 s e c t i o n. data 2 msg : db Tentan idag!, 10 3. l e n : equ $ msg 4 5 s e c t i o n. t e x t 6 g l o b a l s t a r t 7 8 s t a r t : 9 mov rax, 0x1 ; w r i t e 10 mov rdi, 2 11 mov r s i, msg 12 mov rdx, msg. l e n 13 s y s c a l l 14 mov rax, 0 x3c ; e x i t 15 mov rdi, 0 16 s y s c a l l Programmet skriver meddelandet Tentan idag! till stderr (fildescriptor 2). Ingenting händer när vi flytter raderna. När vi anropar syscall, däremot, måste alla parametrar vara p a plats, så att kärnan kan avläer dem och syscall nummret. (4) Vilka delar av den virtuella adressrymden är delade mellan trådar i en process? i) Stack ii) Heap iii) BSS iv) Data v) Text Samtliga utom stacken som varje tråd har en egen privat. (BSS Block Started by Symbol, dataarea för globala variabler med odefinierat eller nollställt initialvärde) (5) Linux har två systemcall clone och fork som kan användas för att skapa en ny process. Förklara vad clone och fork gör och skillnaden mellan dem. Vilken systemcall brukar trådbibliotek i Linux använda för att skapa tråder? Varför? Fork skapar en ny barn process som får en kopia av föreldrars adressrymd, men en copy-onwrite kopia. Clone skapar en ny process som delar det mesta (förrutom stack) med sin föreldrar process. Clone används för att skapar tråder i Linux. Sidan 2/5 2014-03-18

(6) DMA kan reducera tiden för att överföra data till/från minne jämfort med ren avbrottstyrd I/O. Förklara hur DMA fungerar och varför DMA är snabbare. Vid avbrottstyrd I/O måste CPU:n ta hand om varje avbrott, t.ex. efter varje överfört tecken. Vid DMA har man en slav-processor som kan instrueras att föra över större mängder data till/från minne och bara avbryta CPU:n då hela överföringen är klar. DMA är alltså at föredra vid överföring av atörre mängder data. (7) Hur många sidfel får man givet ett primärminne om 4 ramar som är tomt från början, ren demand-paging och följande referenssträng: 7 4 3 6 4 5 1 3 5 2 3 5 7 6 2 För sidutbytesalgoritmerna FIFO, LRU och OPT. Fifo 10, LRU 11, OPT 8 (8) Svältning är ett problem man måste ta hänsyn till då man inför prioritetsbaserad schemaläggning av processer. Beskriv hur en schemaläggare kan förhindra att problemet uppstår. Ett annat problem kan uppstår när en tråd exekveras över en längre tid på en multiprocessor dator som kör Linux. Tråden kan context switchas ofta och schemaläggas på olika processorer. Förklara varför problemet uppstår och hur man kan förhindra att problemet uppstår. Schemaläggare kan temporärt öka prioritet för en processs schemaläggningen från basprioriteten. Man vill sedan sänka den ökade prioritet, ibland genom aging - man antingen sänker prioriteten för processer som fått exekvera mycket eller höjer prioriteten för processer som inte fått exekvera eller som fått exekvera lite. Man kan använda affinity-based schemaläggning för att se till att en tråd fortsätter köra på samma CPUn. Man kan också konfigurera linux så att alla avbrott hanteras av bara en CPU - en som inte kör tråden. (9) Beskriv kortfattat två fördelar med distribuerade filsystem (som, t.ex. NFS) jämfört med lokala filsystem. Distribuerade filsystem underlättar delning av filer/mapper mellan användare. Distribuerade filsystem är lättre att administrera uppdatera mjukvara, auktorisering, osw. Distribuerad filsystem är mer skalbar de kan innehåller många datorer och stödja större filsystem. (10) Varför genererar kompilatorer i de flesta moderna operativsystem relokerbar kod? Detta ges av att man i virtuellminnessystem inte före exekveringen vet i) var koden kommer att laddas i minnet; ii) Om man länkar ihop flera kodmoduler vet man inte exakt var i den laddbara modulen de hamnar (hur långt från början) (11) Kalle är ägare till en fil i ett Unix filsystem som just nu kan läsas/skrivas/exekveras av alla änvändare i systemet. Hur kan Kalle skyddar filen så att ingen annan kan läsa, skriva eller exekvera filen? Chmod kan användas för att ändra rättigheterna på filen. Kom ihåg att ta bort rättigheterna för gruppen också - man vill att ingen annan har tillgång till filen. Det finns 3 grupper av användare alla, gruppen, och ägaren. Om man ägar filen själv, man kan se till att andra användare inte tillhör grupperna som har rättigheter till filen eller man kan sätta rättighera så att bara ägaren kan läsa/skriva/exekvera filen. (12) I ett Unix filsystem, vilka datastrukturer används för att hantera öppna filer? I ett Unix filsystem, hur håller man ordning på lediga blockar på disken? 2014-03-18 Sidan 3/5

Val av blockstorlek är ett viktigt beslut när man konfiguerera ett Unix filsystem. Beskriv kortfattat fördeler och nackdelar med ett blockstorlek på 1 KB. Per process fil-descriptor tabeller, Gemensam tabell för öppna filer, i-nodes tabell för öppna filer. Ett bitvektor är inte bra eftersom den växer linärt med antal blockar. Man kan använda länkade listor som är lagrada i lediga blockar. Fördelar med 1KB blocker: mindre intern defragmentering, snabbare att läsa in en block till minnet. Nackdelar med små blocker: page storleken är oftast 4 KB i Unix/Linux, och när man läser in blockar från disk, man alltid läser in 4 blockar åt gången. Relativt mer overhead per block med små blockstorlekar. Kan leda till mer extern defragmentering. (13) Vilka information sparas i Windows Registry? Registry i Windows sparar inställningar, information och datorn, filextensioner, och användare. Registry är en inställningsdatabas. Registryn är uppdelat i inställningar för hela datorn, alla användare och även för varje användare. (14) Beskriv vad händer (kontrollflöde) när man anropar en funktion från användernivå som i sin tur anropar en device driver i ett UNIX/LINUX system. Beskriv vilka datastrukturer man går igenom i kärnan. En device-driver anropas indirekt via ett systemanrop, t.ex read(), write(), när man skriver/läser till en enhet eller en fil. Abstraktionen för en enhet i UNIX/LINUX är en fil med tillhörande i-nod. Det betyder att oavsett om man gör I/O mot en fil eller en specifik I/O enhet har den en i-nod och i den finns information om device-id (major device number) Major device number används för att i device-driver vektorn slå upp en datastruktur med pekarna till gränssnittsfunktionerna för device-drivern. Gränssnittsfunktionerna implementerar funktionerna motsvarande systemanropen för att manipulera filer (read(), write() etc.) (15) Vilka är Coffmans fyra villkor för deadlock? Ömsesidig uteslutning Behåll och vänta Ingen pre-emption (konfiskering ) Cirkulär väntan (16) Varför kan en flertrådad process ibland exekvera snabbare även på en dator med en enda processorkärna än motsvarande process som bara utnyttjar en tråd (en enkel-trådad process)? Om man har kärntrådar kan man överlappa I/O och beräkningar. I en enkeltrådad process blockeras hela processen om man gör blockerande I/O. I en flertrådad process blockeras bara den tråd som gör I/O om man har kärntrådar. (17) Context switch tiden att byta mellan två kärntrådar är betydligt mindre än att byta mellan två processer. Förklara varför och beskriv vilket tillstånd man byter ut när man context switchar både processer och trådar. Att byter mellan processer kräver att man byter ut sidtabeller, tabeller med fildescriptorer osv. Dessa delas av trådar i en och samma process och vid trådbyte behöbver man i princip bara byta stack och programpekare och registerinnehåll. (18) Vad kan händer om ett virus kan lyckas ta kontroll över avbrottshanteraren i kärnan. Man kan logga den mesta I/O som görs på maskinen, dvs., allt som händer på tangentbord, mus tryckningar, osv. Sidan 4/5 2014-03-18

(19) Hur skiljer sig periodiska jobb från aperiodiska jobb i ett realtidsoperativ system? Beskriv bivillkorna schemaläggningensalgoritmer måste ta hänsyn till i hårda realtidsystem. Ett periodiskt jobb sköter en uppgift som utförs med regelbundna intervall. Aperiodiska jobb är inte periodiska utan förorsakas av någon händelse i systemet. Bivillkor i en realtidsschemaläggningsalgoritm för att klara alla jobb: ˆ Deadlines ˆ Beräkningstider, C ˆ Starttider, S ˆ Ordning mellan jobb (ex. jobb A måste vara klart före jobb B) ˆ Vikter (20) Operativsystem beskrivs ibland som resurshanterare och ibland som virtuella maskiner. Beskriv kortfattat de olika synvinkel! Ser man OS:et som en virtuell (utökad/extended) maskin är de primära målen att: Isolera program från hårdvaran, Bättre programmeringsmodell, Portabilitet. Ser man OS:et främst som en resurshanterare ligger istället fokus på vilka resurser OS:et hanterar: Filsystem, Minne, CPU tid, I/O enheter 2014-03-18 Sidan 5/5