Tentamen i Realtidsprogrammering



Relevanta dokument
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

Tentamen TEN1 HI

Tentamen i Realtidsprogrammering

Tentamen i Realtidsprogrammering för Au3, D3, E3

Realtidsprogrammering Ordinarie tentamen

VÄRDERINGSÖVNINGAR METOD 1

Vad roligt att ni har valt att bjuda varandra på den här timmen.

Kursutvärdering Ämne: SO Lärare: Esa Seppälä/Cecilia Enoksson Läsåret Klass: SPR2

BILAGA KARTLÄGGNING SOCIALSEKRETERARE STOCKHOLM (MELLAN)

Föreläsning 11. Giriga algoritmer

Några övningar att göra

Vad är det för konstigt träd som har text på bladen? Bok, förstås! Lasse läslust Ludvig lusläst Namn... Klass...

Vad tycker du om sfi?

Lathund Web Help Desk

Fråga Referens, JA hela staden Ej svar %

Flexibel meny i Studentportalen

Lathund, till Photo Story, för skräckslagna lärare

Elisabeth Bejefalk IT-Assistent Avesta kommun

Bedömningsuppgifter: Skriftligt prov Vatten och Luft Vattentornet (modell och ritning) Scratch (program)

Lathund till Dexter IUP

Praktikintyg. Utbildning och praktik för ungdomar med sikte på JOBB!

Semester och arbetstidsförkortning

Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)

TDP Regler

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Samhällskunskap Civics

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM. Tentamensinstruktioner. När Du löser uppgifterna

Tentaupplägg denna gång

Skall jag stanna eller ska jag gå? D

UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap. Grafproblem. Laboration 4, Datastrukturer och Algoritmer VT02

Lär dig sökmöjligheterna i Disgen 8

Datorn ska alltid tas med hem efter skoldagens slut och tas med fulladdad till skolan varje dag.

Android-app Användarmanual 1.0

Bättre Självförtroende NU!

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs B, kapitel 1

Frågor? Kontakta Rådgivningen: FAQ om Flexpension

Kom igång med din SMART Board. Det praktiska

Barnkraft/Aladdin Ett FHM-projekt i samverkan mellan Danderyds kommun och FoU Nordost

Till närstående som ska vara med vid samordnad vård- och omsorgsplanering via video eller telefon

Personalhandbok Anställning & Avslut

Addera ett nytt Arranger Track. Skapa Arranger Events

Vill du arbeta som egenerfaren kamratstödjare inom socialpsykiatrin?

Enkel Digital Skyltning. på några minuter...

Provivus tips om KONCENTRATION - VAD PEDAGOGEN KAN GÖRA

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

Webbteknik för ingenjörer

Hjo kommuns medborgare ska ha tillgång till lättillgänglig och relevant information om kommunens verksamheter

Vägledning. till dina studier på lärarprogrammet. Gäller antagning hösten 2009

Enkät rörande boende för äldre i Krokoms Kommun

På webbsidan Matriskonstruktion kan du följa hur en matris kan byggas upp. Det här exemplet utvecklar tankar från den visade matrisen.

Ansök till förskola och familjedaghem

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Att välja kurser på Datateknik år 4-5

Välkommen till din loggbok!

8-4 Ekvationer. Namn:..

"SÄTT SPÅR I FRAMTIDEN NU!

Antal svarande i kommunen 32 Andel svarande i kommunen, procent 43 Kategorier ångest? Mycket dåligt Totalt Nej. Någorlunda. Mycket gott.

Mitt liv som mobbad. Wiveca Wendin

NATURVETENSKAP FÖR LIVET?

Verktyg för arbete utifrån lotsmodellen

Kursprogram Golfträning 2014

9-1 Koordinatsystem och funktioner. Namn:

Tillämpningar av fysik och dynamik i biologiska system , kl. 09:00-15:00

13. Vad tycker du om samarbete och enskilt arbete på kurserna när det gäller laborationer?

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

Instruktioner för lägenhetsnumrering

Underkänt 0-29 poäng Godkänt poäng Väl godkänt poäng. Viktigt! Glöm inte att skriva namn på alla blad du lämnar in.

1. Skulle du vilja att dina barn åt mer frukt- och grönsaker än vad de gör idag?

Så här gör du din gymnasieansökan på webben

Litteraturvetenskap Ger dig en akademisk grund att stå på

Sammanställning av studerandeprocessundersökning GR, hösten 2010

1. Att lyssna 1. Titta på den som talar. 2. Tänk på vad som sagts. 3. Vänta på min tur att prata. 4. Säg det jag vill säga. 1.

MÅL 10 Förmåga att arbeta i projekt. MÅL 9 Förmåga att presentera delarna i designprocessen och resultatet med bild, modell, ritning, skrift och tal.

Övning: Dilemmafrågor

Kom igång med Windows 8.1

8 steg. till underverk

Inlämningsuppgift 2. DA156A - Introduktion till webbutveckling Teknik och samhälle, Malmö högskola Oktober 2012

Tentamen i Robotteknik MPR211, 12 mars 1999

ESIM251. Inkopplingsanvisning

Manual Nedladdningsbara klienten NLK

Bildrutans uppgift MODIG

När du nu förberett medarbetarens utvecklingssamtal i Bisnode People är det dags att planera själva samtalet.

Välkommen till kommunens Lärportal. - Användarhanledning till dig som vårdnadshavare

MagiCAD El & Rör. Varför MagiCAD och varför 2D/3D? Kollisionskontroll. MagiCAD El

Klicka på en sökrad för att få fram hänvisningar, fullständig information och möjlighet att skicka meddelande via e-post eller sms.

Marknadsför ditt företag gratis via bildapparna Senast uppdaterad

Ringkontakten. Ett kostnadsfritt erbjudande från frivilligorganisationerna och Hjo kommun

Vikingatiden. - kreativt på olika sätt

Valet till gymnasiet Information från antagningskanslierna för Värmland & Åmål

ANSÖKAN OM VALIDERING INOM LÄRARLYFTET VT15

Bruksanvisning för hjälpbegäran

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

Att vilja vara en undulat är naturligtvis ovanligt men inte något farligt.

HANDLEDNING ZENIT BILBOKNING

5 vanliga misstag som chefer gör

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

I SaMa Ledarutveckling AB har medarbetarna, med programmet Personligt Ledarskap som bas, coachat över personer alla typer av företag.

Vad tycker de äldre om äldreomsorgen 2013? Verksamhetsresultat för Ektorpsgården Särskilt boende

Transkript:

Tentamen i Realtidsprogrammering Ordinarie Tentamen Datum: 2011-05-14 Tid: 08:15 11:15 Ansvarig lärare: Telefon: 301438 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

Uppgift 1 (10 poäng) Svara med sant/falsk på följande påståenden, du behöver inte ge någon motivation till dina svar. Rätt svar ger +1 poäng, fel svar ger -1 poäng. Läs påståendena noggrant! Observera att det är tillåtet att inte svara på påståenden där du är osäker (ger +/- 0 poäng) och att du inte kan få mindre än 0 poäng totalt på hela uppgiften. 1. Realtidsspråk är programspråk som kan ge garantier för när program i språket uppfyller realtidskrav. 2. Realtidsspråk kräver ett realtids operativsystem för att köra program skrivet i språket. 3. Att två trådar/processer har en delad minnesrymd innebär att globala variabler med samma namn är åtkomliga från bägge processerna. 4. En mutex semafor skiljer sig ifrån en binär semafor då den bara får användas för att skydda kritiska regioner, men kan igengäld underlätta för schemaläggaren. 5. Generella semaforer kan få vilka positiva eller negativa värden som helst under en körning. 6. Felträdsanalys används är en metod för att hitta buggar främst i datastrukturer som länkade listor och (binära)-träd. 7. Färgade petrinät används för att ge detaljerade petrinätsmodeller, men är mer krävande att analysera. 8. Att använda moderna fler kärninga processorer är bra för majoriteten av inbyggda system eftersom de kan jobba snabbare än gamla processorer. 9. Dynamisk skapande av processer i takt med att det kommer in nya jobb är bra för realtidssystem eftersom vi då slipper ha onödigt många processer. 10.Om man har ett val av två olika algoritmer så skall man alltid välja den med lägst asymptotisk komplexitet, ex. O(n). 2

Uppgift 2 (6 poäng) Vad innebär dödlåsning och vilka är Coffmans fyra villkor för dödlåsning? Förklara varje villkor och beskriv för var och en av dem vilka metoder man kan använda för att undvika dom. Uppgift 3 (8 poäng) I styrdatorn till en avancerad svarv finns tre processer P1,P2 och P3 som ansvarar för att utföra olika arbeten med svarven samt en process P4 som tar emot indata ifrån operatören. Pga begränsat utrymme i svarven kan endast två av arbetsprocesserna (P1-P3) arbeta samtidigt. Indata processen läser periodiskt av kommandon ifrån operatören och skickar ett jobb till någon av de tre arbetsprocesserna mha. en meddelandekö. Observera att P1-P3 endast arbetar så länge det både finns jobb och ledigt utrymme för deras arbete. Visa hur detta kan implementeras i VxWorks med hjälp av semaforer och meddelande köer. Skriv en funktion init() som körs när programmet startar och en funktion för varje process som körs. Ni kan använda följande VxWorks funktioner: sem = semcgreate(sem_q_fifo, startvärde) semtake(sem,wait_forever) semgive(sem) q = msgqcreate(16,4,msg_q_fifo); msgqsend(q,msg,4,wait_forever,msg_pri_normal) msgqreceive(q,msg,4,wait_forever) Dessutom kan ni använda följande funktioner för att utföra arbetet i processerna resp. läsa nästa operatörs kommando. jobba(int i) int getnextjobb() Utför arbetet för process i Väntar pä nästa operatörs kommando och returnerar numret på nästa jobb som ska utföras (1 3). 3

Uppgift 4 (10 poäng) Tänk dig att du ska implementera tre asynkrona processer A,B och C som körs cykliskt. Process A och B kan köras parallellt och först när de bägge är färdiga med sitt första jobb kan process C köras. När process C är färdig med ett jobb kan process A och B börja om igen. a) Visa hur detta kan implementeras i VxWorks med hjälp av semaforer. Du kan använda funktionerna: semtake(sem, WAIT_FOREVER) semgive(sem) sem = semgcreate(sem_q_fifo, startvärde) b) Beskriv din lösning i ett Petri-nät. Använd olika platser/tecken för varje process. Visa genom att ge nåbarhetsgrafen för den att din lösning är korrekt. Tips: varje semafor blir en egen plats i petrinätet. c) Diskutera betydelsen av SEM_Q_FIFO i semgcreate anropet ovan. Vad har det för betydelse i ditt program och vad har det för betydelse för petrinätet? Förklara varför ditt petrinät är en bra modell av programmet med SEM_Q_FIFO eller förklara varför den inte är det (men i övrigt är korrekt) du får poäng för bägge alternativen! 4

Uppgift 5 (6 poäng) a) Vilka två varianter av petrinät med tid finns det och hur fungerar dem? Vad är skillnaden mellan dem? b) Rita tillståndsgrafen för petrinätet till höger med tid. c) Vilken avfyrningsfrekvens har petrinätet och vad innebär avfyrningsfrekvens? 5