Tentamen i Realtidsprogrammering

Relevanta dokument
Realtidsprogrammering Ordinarie tentamen

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

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

Tentamen i TDIU16 Process- och operativsystemprogrammering

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

Kompletterande kompendium till kursen Realtidsprogrammering

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

tentaplugg.nu av studenter för studenter

Operativsystem (IS1350) :00-12:00

För att få betyget Godkänt på denna deltentamen fordras 50% av maxpoäng. För att få delbetyg Väl Godkänd fordras 75% av maxpoäng.

OOP Tenta

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 examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

Tentamen i Grundläggande programmering STS, åk

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

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Institutionen för elektro- och informationsteknologi, LTH

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

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

Tentamen i Algoritmer & Datastrukturer i Java

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

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

Tentamen. Datorteknik och realtidssystem

TENTAMEN OOP

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

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

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

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

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

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

TDDC74 Programmering, abstraktion och modellering DUGGA 3

TOWA AX-100. Kassaregister. Användarhandledning

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

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

Tentamen, EDAA10 Programmering i Java

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

7,5 högskolepoäng. Statistisk försöksplanering och kvalitetsstyrning. TentamensKod: Tentamensdatum: 28 oktober 2016 Tid: 9.

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Hur fungerar en dator? Lektionen handlar om att förstå hur datorer styrs av program. Hur fungerar en dator? Lektionsförfattare: Boel Nygren

Tentamen i Informationsteknologi 5p Fredagen den 13 augusti 2004

Programmera i teknik - kreativa projekt med Arduino

Tentamen i Programmering

Tentamen Nätverksprogrammering Lösningsförslag

Omtentamen i Datakommunikation för E2

Lösningar till tentamen i EIT070 Datorteknik

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Tentamen i Programmeringsteknik I

Föreläsning 1 & 2 INTRODUKTION

HI1024 Programmering, grundkurs TEN

Tentamen Objektorienterad Programutveckling med C++

Datorn från grunden. En enkel introduktion. Innehåll: Inledning 1 Vad är en dator? 2 Datorns olika delar 3 Starta datorn 5 Stänga av datorn 7

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.

SweTrack Animal II. Svensk manual

Tentamen FYTA11 Javaprogrammering

Tentamen i Introduktion till programmering

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

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.

PROGRAMMERINGSTEKNIK TIN212

OOP Tentamen

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)

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

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

Tentamen i Grundläggande programmering STS, åk 1 lördag

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

FRTN20 Market Driven Systems

Hur fungerar en dator?

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Deluppgift 17 Processhantering: exec, sleep, exit, plist

OOP Tentamen

Färgtyper. Färg. Skriva ut. Använda färg. Pappershantering. Underhåll. Felsökning. Administration. Index

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

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

PKS5000PC hjälpmedel uppföljning

Tentamen i Programmering grundkurs och Programmering C

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

Laboration: Grunderna i MATLAB

Övningsuppgifter till föreläsning 2 Variabler och uttryck

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Synkronisering. Föreläsning 8

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Utskickad av Högskolan i Halmstad för att användas under perioden 11 mars till 17 mars 2013.

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar

OOP Omtenta

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).

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

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

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

OOP Tentamen

Programmeringsolympiaden 2011 Kvalificering

Skriv tydligt. Besvara inte frågor med lösryckta ord, utan sammanhängande och tydligt. Visa även dina beräkningar.

2 Pekare och dynamiska variabler.

Transkript:

Tentamen i Realtidsprogrammering Omtentamen Datum: 2007-08-31 Tid: 08:00 11:00 Ansvarig lärare: Telefon: ej tillgänglig Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 5 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 (5 poäng) Förklara följande begrepp: a) Dödlåsning b) Semaforer c) Monitorer (ej bildskärmar!) d) Prioritetsinvertering e) Prioritetsärvning Uppgift 2 (12 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

Uppgift 3 (9 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? 4

Uppgift 4 (8 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 16MB minne, 10 Mbit/s bandbredd och tillgång till 30A 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. a) Vid det här tillfället begär process P2 att få starta upp en till maskin som drar 10A ström och förbrukar 2 Mbit/s i bandbredd. P3 6 2 5 Kan detta beviljas utan att systemet går i dödlåsning? b) Antag att P2 istället begär att få allokera 4MB minne ifrån det här läget. Kan detta beviljas utan risk för dödlåsning? Uppgift 5 (6 poäng) Antag att vi har det färgade petrinätet till höger. a) Rita upp nåbarhetsgrafen för petrinätet om möjligt. b) Är petrinätet begränsat? c) Är petrinätet levande? Available Allocation 8 6 15 P1 2 2 10 P2 2 0 0 P3 4 2 5 Need P1 2 6 10 P2 12 5 10 5