Realtidsprogrammering Ordinarie tentamen

Relevanta dokument
Tentamen i Realtidsprogrammering

Tentamen i Realtidsprogrammering

Tentamen i Realtidsprogrammering för Au3, D3, E3

Tentamen omfattar 40 poäng fördelade på 7 uppgifter. 20 poäng krävs för betyget 3, 30 poäng för betyget 4 och 36 poäng för betyget 5.

Omtentamen i Realtidsprogrammering för Au3, D3, E3

Tentamen i Realtidsprogrammering

Realtidssystem. - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6

Kompletterande kompendium till kursen Realtidsprogrammering

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.

Realtidssystem. - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6

Operativsystem (IS1350) :00-12:00

Aktivitetsschemaläggning för flerkärninga processorer

Tentamen EDA698 Realtidssystem (Helsingborg)

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

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

Tråd C (ms) T (ms) A 4 16 B 3 10 C 4 25 D 2 12

Exam Concurrent and Real-Time Programming

Realtidssystem Z EDA300 Tentamen 15/ , kl i V-huset

Tentamen vid Institutionen för Datavetenskap, Linköpings universitet

Tentamen i Algoritmer & Datastrukturer i Java

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

Operativsystem ID1200/06 Tentamen :00-18:00

TENTAMEN I REALTIDSPROCESSER OCH REGLERING TTIT62

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

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

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

Tentamen i TDIU16 Process- och operativsystemprogrammering

Tentamen. Datorteknik och realtidssystem

Några gamla tentamensuppgifter: Processer. 3. Antag givet ett system i vilket rent CPU-bundna processer med följande egenskaper exekveras.

Institutionen för elektro- och informationsteknologi, LTH

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

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Multimedia. Multimedia. Datakompression. Annorlunda krav. Inte bara text eller nerladdning av filer. Video, ljud med tidskrav.

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

Fö 7 TSEA81. Scheduling

Föreläsning 8: Exempel och problemlösning

Tentamen Datorteknik och realtidssystem, TSEA81 Datum Lokal

Tentamen. Datorteknik och realtidssystem

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

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

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

Datastrukturer. föreläsning 3. Stacks 1

Operativsystem ID1200/06 Tentamen :00-18:00

tentaplugg.nu av studenter för studenter

PROGRAMMERINGSTEKNIK TIN212

Tentamen Lösningar EDA698 Realtidssystem

Tentamen i Informationsteknologi 5p Fredagen den 13 augusti 2004

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

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

OOP Tenta

Tentamen i Algoritmer & Datastrukturer i Java

7,5 högskolepoäng. Statistisk försöksplanering och kvalitetsstyrning. TentamensKod: Tentamensdatum: 30 oktober 2015 Tid: 9-13:00

Föreläsning 13 Innehåll

Tentamen, EDA501 Programmering M L TM W K V

Tentamen. Datorteknik och realtidssystem

Synkronisering - Semaforen. Om att vänta men inte i onödan

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

Synkronisering. Föreläsning 8

TDDC74 Programmering, abstraktion och modellering DUGGA 3

TENTAMEN I REALTIDSPROCESSER OCH REGLERING TTIT62

Laboration: Grunderna i MATLAB

Tentamen i Grundläggande programmering STS, åk

TDDC74 Programmering, abstraktion och modellering. Tentamen

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Tentamen Datorteknik och realtidssystem, TSEA81 Datum Lokal

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)

TOWA AX-100. Kassaregister. Användarhandledning

TENTAMEN CD5250. Objektorienterad programutveckling med C++, 5p. Datum: , Tid: 14:00-19:00

Tentamen i Introduktion till programmering

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15

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

Tentamen vid Institutionen för Datavetenskap, Linköpings universitet

HI1024 Programmering, grundkurs TEN

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

TENTAMEN OOP

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

Tentamen, Distribuerade System/Programvaruarkitektur

Rättningstiden är i normalfall 15 arbetsdagar och resultat anslås sedan i Ladok inom en vecka (under förutsättning att inget oförutsett inträffar).

FRTN20 Market Driven Systems

TDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer

Tentamen Nätverksprogrammering Lösningsförslag

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

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.

Lösningar till tentamen i EIT070 Datorteknik

Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016

Datorarkitekturer med operativsystem ERIK LARSSON

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

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

Tentamen Datastrukturer (DAT036)

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

Realtidsprogrammering

Summering av fält 1.1. Synkronisering - Semaforen. Summering av fält 1.3. Summering av fält 1.2. Summering av fält 2.3 (INTE GK)

Transkript:

Tentamen i Realtidsprogrammering Ordinarie tentamen Datum: 2006-10-20 Tid: 08:00 13:00 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 7 uppgifter. 20 poäng krävs för betyget 3, 30 poäng för betyget 4 och 35 poäng för betyget 5. Övrigt: Använd ett nytt blad för varje uppgift, och lämna gärna lite plats i marginalen. Motivera alltid dina svar. Om du tycker att någonting är oklart, så gör själv nödvändiga antaganden. Redovisa alltid dessa antaganden. Lycka till! 1

2

Uppgift 1 (4 poäng) Förklara följande begrepp och vad som krävs för att kunna implementera dem. a) Ej föregripande schemaläggning (non-preemtive scheduling) b) Föregripande schemaläggning (preemptive scheduling) c) Tidsdelning (round-robin) Beskriv även nackdelarna respektive fördelarna med tidsdelning. Uppgift 2 (4 poäng) Förklara följande begrepp och vad finns det för problem/begränsningar med dem. a) Semaforer b) Monitorer c) Meddelandeköer d) Remote-Procedure-Call (RPC) Uppgift 3 (8 poäng) Antag att vi har ett system som innehåller de tre processerna P1, P2 och P3 som utför ett jobb periodiskt och gör en utskrift på skärmen när de är klara. P1 och P2 körs var 10'e millisekund och P3 körs var 8'e millisekund. Alla processerna tar 1 millisekund för varje jobb. Utskrifterna på skärmen tar 1ms och kan inte göras av två processer samtidigt utan att bli fel. Visa hur det här systemet kan implementeras på ett säkert sätt. Ni kan använda funktionerna nedan: void jobba(int i); // Utför jobbet för process i void print(int i); // Gör utskriften för i void sleepto(double time); // Sover ända till den givna tidpunkten. void taskcreate(int prio,fn funktion,... args...) // Skapar en ny process MSG_Q createq(); // Skapar en meddelandekö SEM createsem(); // Skapar en semafor void send(msg_q,void *msg,int len); // Skickar ett meddelande void receive(msg_q,void *buf,int len); // Läser ett meddelande void take(sem S); // Tar en semafor void give(sem S); // Ger en semafor a) Visa hur uppgiften ovan kan lösas genom att använda en separat process för att hantera alla utskrifter. Beskriv samtliga funktioner som behövs, inklusive en funktion för att starta systemet och alla processerna. b) Visa hur den här uppgiften kan lösas genom att istället implementera en monitor. Beskriv samtliga funktioner som behövs, inklusive en funktion för att starta systemet och alla processerna. 3

4

Uppgift 4 (6 poäng) Följande kod beskriver ett enkelt system som antingen läser eller tar emot ett antal kommandon från en operatör och skriver dom i en kö eller läser meddelanden ifrån kön och arbetar med dom. for(;;) { if(kommando_färdigt()) { kommando = nästa_kommando(); skriv(kö, kommando); } else { kommando = läs(kö); jobba(kommando); } } För att avgöra om systemet kommer att fungera som förväntat har petrinätet till höger skapats som en modell av den. I det här exemplet antar vi att vi startar med ett tecken i kön. a) Konstruera nåbarhetsgrafen för petrinätet. b) Vad innebär begreppet levande och är petrinätet levande? c) Vad innebär (global) rättvisa och är petrinätet rättvist? d) Vad innebär det att ett petrinät är begränsat? Är nätet ovan begränsat? 5

6

Uppgift 5 (6 poäng) I en industri finns en styrdator som kommunicerar över ett nätverk och kontrollerar ett antal maskiner. På den här datorn finns tre kontrollprocesser P1, P2 och P3 som samsas om tre kritiska resurser, minne, bandbredd och strömförbrukning, då de styr maskinerna. Ursprungligen har datorn 8MB minne, 6 kbit/s bandbredd och tillgång till 100mA ström. En bit in i körningen av datorn ser situationen ut som i den övre tabellen till höger. Available visar hur många resurser som just nu finns lediga, Allocation hur många resurser som just nu finns tilldelade varje process och Need hur mycket mer resurser som processerna kan behöva innan de blir färdiga. Available Minne Bandbredd Ström 4 4 50 Allocation Minne Bandbredd Ström P1 1 1 10 P2 1 0 40 P3 2 1 0 Need Minne Bandbredd Ström P1 4 2 0 P2 2 6 10 P3 5 0 50 a) Vid det här tillfället begär process P3 att få starta upp en till maskin som drar 10mA ström och förbrukar 2kbit/s i bandbredd. Kan detta beviljas utan att systemet går i dödlåsning? b) Antag att P2 istället begär att få allokera 10mA ström ifrån det här läget. Kan detta beviljas utan risk för dödlåsning? c) Antag att vi endast är intresserade av att detektera dödlåsning och att processerna begär resurserna enligt den nedre tabellen till höger. Är systemet i dödlåsning just nu? Available: samma som ovan Allocation: samma som ovan Request Minne Bandbredd Ström P1 4 0 0 P2 1 4 10 P3 3 0 60 7

8

Uppgift 6 (8 poäng) Antag att vi har ett system bestående av två sporadiska processer (P1, P2) och två periodiska processer (P3 och P4). De två sporadiska processerna tar bägge 2ms för varje körning. P1 körs i medelfallet var 10'e ms och i värsta fallet var 8'e, P2 alltid körs i medelfallet var 20'e ms och i värsta fallet var 10'e ms. Process P3 körs var 5'e ms och tar i medelfallet 1ms per körning och i värsta fallet 2ms per körning. Process P4 körs var 12'e ms och tar alltid 1ms per körning. a) Ge exekveringstiden, perioden och nyttjandegraden för processerna ovan för värsta fallet och för medelfallet. b) Går det att schemalägga det här systemet med RMS (Rate Monotonic Scheduling) i medelfallet? c) Går det att schemalägga det här systemet i värsta fallet med RMS? d) Antag att vi använde EDF (Earliest Deadline First) som schemalägningsmetod och att det värsta fallet inträffade. Visa hur systemet schemaläggs under de första 20ms. e) Under vilka omständigheter är det bättre att använda LST (LeastSlackTime first) istället för EDF när man schemalägger processer? Uppgift 7(4 poäng) Antag att vi har det färgade petrinätet nedan. a) Rita upp nåbarhetsgrafen för petrinätet om möjligt. b) Är petrinätet begränsat? c) Är petrinätet levande? 9