Chalmers, Data- och informationsteknik 2011-10-19. DAI2 samt EI3. Peter Lundin. Godkänd räknedosa



Relevanta dokument
Partikeldynamik. Fjädervåg. Balansvåg. Dynamik är läran om rörelsers orsak.

Chalmers, Data- och informationsteknik. DAI2 samt EI3. Peter Lundin. Godkänd räknedosa. Peter Lundin

TDDC47 Realtids- och processprogrammering. Jourhavande-lärare: Mehdi Amirijoo (Telefonnummer: , ).

Vinst (k) Sannolikhet ( )

FÖRDJUPNINGS-PM. Nr Kommunalt finansierad sysselsättning och arbetade timmar i privat sektor. Av Jenny von Greiff

Projekt i transformetoder. Rikke Apelfröjd Signaler och System rikke.apelfrojd@signal.uu.se Rum 72126

Handlingsplan. Grön Flagg. Bosgårdens förskolor

2B1115 Ingenjörsmetodik för IT och ME, HT 2004 Omtentamen Måndagen den 23:e aug, 2005, kl. 9:00-14:00

Tentamen (TEN2) Maskininlärning (ML) 5hp 21IS1C Systemarkitekturutbildningen. Tentamenskod: Inga hjälpmedel är tillåtna

Primär- och sekundärdata. Undersökningsmetodik. Olika slag av undersökningar. Beskrivande forts. Beskrivande forts

Beräkna standardavvikelser för efterfrågevariationer

Optimering av underhållsplaner leder till strategier för utvecklingsprojekt

Lektion 8 Specialfall, del I (SFI) Rev HL

Tentamen TEN1 HI

Handlingsplan. Grön Flagg. I Ur och Skur Pinneman

Grön Flagg-rapport Borrby förskola 18 maj 2015

Sammanfattning. Härledning av LM - kurvan. Efterfrågan, Z. Produktion, Y. M s. M d inkomst = Y >Y. M d inkomst = Y

Partikeldynamik. Dynamik är läran om rörelsers orsak.

Utbildningsavkastning i Sverige

2 Jämvikt. snitt. R f. R n. Yttre krafter. Inre krafter. F =mg. F =mg

Snabbguide. Kaba elolegic programmeringsenhet 1364

Föreläsning 6: Introduktion av listor

Tentamen (TEN1) TMEL53 Digitalteknik

Grön Flagg-rapport Förskolan Kalven 20 jan 2016

Generellt ägardirektiv

saknar reella lösningar. Om vi försöker formellt lösa ekvationen x 1 skriver vi x 1

En studiecirkel om Stockholms katolska stifts församlingsordning

Grön Flagg-rapport Förskolan Fjäderkobben 17 apr 2014

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

rm o rs W e d n r: A e n tio stra Illu Grön Flagg-rapport Hässlegårdens förskola 15 apr 2014

på fråga 6 i tävlingen för matematiklärare. 'l.

Sammanfattning, Dag 1

Centrala Gränsvärdessatsen:

För de två linjerna, 1 och 2, i figuren bredvid gäller att deras vinkelpositioner, θ 1 och θ 2, kopplas ihop av ekvationen

Uppgift 1 (max 5p) Uppgift 2 (max 5p) Exempeltenta nr 6

Dugga Datastrukturer (DAT036)

Om ja, hur har ni lagt upp och arbetat i Grön Flagg-rådet/samlingarna med barnen och hur har det upplevts?

Tentamen i Realtidsprogrammering

Beställningsintervall i periodbeställningssystem

Jag vill tacka alla på företaget som har delat med sig av sina kunskaper och erfarenheter vilket har hjälpt mig enormt mycket.

En kort introduktion till principalkomponenttransformation och kanonisk diskriminantanalys av multispektrala data

Komplettering: 9 poäng på tentamen ger rätt till komplettering (betyg Fx).

Mätfelsbehandling. Lars Engström

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

FÖRDJUPNINGS-PM. Nr Kommunalt finansierad sysselsättning och arbetade timmar i privat sektor. Av Jenny von Greiff

Tentamen i Dataanalys och statistik för I den 5 jan 2016

Tentamen OOP

Skizz till en enkel databas

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

BEREDSKAP MOT ATOMOLYCKOR I SVERIGE

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs Verónica Gaspes. IDE-sektionen.

Radien r och vinkeln θ för komplexa tal i polär form och potensform: KOMPLEXA TAL. ) (polär form) (potensform)

Utbildningsdepartementet Stockholm 1 (6) Dnr 2013:5253

Tentamen Programmeringsteknik II och NV2 (alla varianter) Skriv bara på framsidan av varje papper.

Ett bidrag till frågan om gånggriftstidens havsnivå vid Östergötland Nerman, Birger Fornvännen 22,

Hur har Grön Flagg-rådet/elevrådet arbetat och varit organiserat? Hur har rådet nått ut till resten av skolan?

Steg 1 Arbeta med frågor till filmen Jespers glasögon

Frontermanual för deltagare på våra kompetenskurser

1. a Vad menas med medianen för en kontinuerligt fördelad stokastisk variabel?

Björn Abelli Programmeringens grunder med exempel i C#

Bruksanvisning och monteringshandledning

Objektorienterad programmering i Java

Handlingsplan. Grön Flagg. Pysslingförskolan Gläntan

Grön Flagg-rapport Smedjans förskola 7 apr 2016

Tentamen i Tillämpad matematisk statistik för MI3 och EPI2 den 15 december 2010

OBS! Dina högtalare (medföljer ej) kan skilja sig från de som visas på bild i denna bruksanvisning. modell RNV70 HIFI-SYSTEM

Handlingsplan. Grön Flagg. Förskolan Trollet

Industrins förbrukning av inköpta varor INFI

AVTAL AV5EENDE FLYTNING AV 130 KV LEDN1NG ML1 561 KATRINEH02M\s KOMMUN

Introduktion Online Rapport Din steg-för-steg guide till den nya Online Rapporten (OLR) Online Rapport

Tillfälliga elanläggningar (Källor: SEK handbok 415 oktober 2007, SS kap 704, ELSÄK-FS)

Förklaring:

Att identifiera systemviktiga banker i Sverige vad kan kvantitativa indikatorer visa oss?

TFYA16: Tenta Svar och anvisningar

LJUSETS REFLEKTION OCH BRYTNING. Att undersöka ljusets reflektion i plana speglar och brytning i glaskroppar.

Handlingsplan. Grön Flagg. Stadionparkens förskola

Arbetslivsinriktad rehabilitering för sjukskrivna arbetslösa funkar det?

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

Grön Flagg-rapport Berga förskola 2 jun 2015

Programmeringsteknik med C och Matlab

Att använda pekare i. C-kod

PPU207 HT15. Skruvförband. Lars Bark MdH/IDT

Performansanalys LHS/Tvåspråkighet och andraspråksinlärning Madeleine Midenstrand

SVENSKA LADDNING 06 ANSLUTNING 07 DISPLAY SÖMN MÅL PÅMINNELSER RÖSTSTYRNING MUSIK ANTI-LOST ALARM TEKNISKA DATA 11 SAMTAL

DOM Meddelad i Stockholm

Tentamen. Datorteknik och realtidssystem

Handlingsplan. Grön Flagg. Förskolan Näckrosen

Bofakta. Brf Äppelblom Hildedal

D 45. Orderkvantiteter i kanbansystem. 1 Kanbansystem med två kort. Handbok i materialstyrning - Del D Bestämning av orderkvantiteter

Handlingsplan. Grön Flagg. Berga förskola

Föreläsning 13 och 14: Binära träd

PARTIKELDYNAMIK Def.: partikel utsträckning saknar betydelse Def. : Dynamik orsakar växelverkan kraft, F nettokraften

Manual. För användaren. Manual. eloblock. Elpanna för montage på vägg

Föreläsning 4. Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö

6.2 Transitionselement

Experimentella metoder 2014, Räkneövning 5

Tentamen i. för D1 m fl, även distanskursen. lördag 19 januari 2013

Handlingsplan. Grön Flagg. Gärdesängens förskola

Transkript:

LET 624 (6 hp) Sd nr 1 TENTAMEN KURSNAMN PROGRAM: namn REALTIDSSYSTEM åk / läsperod DAI2 samt EI3 KURSBETECKNING LET 624 0209 ( 6p ) EXAMINATOR TID FÖR TENTAMEN Onsdagen den 19/10 2011 kl 14.00 18.00 HJÄLPMEDEL Godkänd räknedosa ANSV LÄRARE: namn (7725726) telnr besöker tentamen kl ca 15 samt ca 16.30 DATUM FÖR td och plats för gransknng ÖVRIG INFORM. Gransknng Onsdagen den 2/11 kl 10.00-10.30 Sal J121 Alternatvt även på Johanneberg för E3 : Torsdagen den 3/11 kl 09.45 sal ES51 Betygsgränser : Max 24 poäng 3:11 15,5 4: 16 19,5, 5: 20 -

LET 624 (6 hp) Sd nr 2 FORMELSAMLING RMSA enkel analys FÖRUTSÄTTNINGAR: Varje process uppsättnngen är perodsk Deadlne (d) och perodtd (p) är lka stora. Konstant exekverngstd för processer Ingen processkommunkaton förekommer Alla processer är avbrytbara n n(2 1/n 1 ) 1 1,000 2 0,828 3 0,780 4 0,757 5 0,743 En uppsättnng processer (P 1,P 2,...P n ) är schemaläggnngsbar om: n c 1 p n 2 1 n ( 1 ) där c är är exekverngstden för P och p är perodtden för P. RMSA exact analys ( krav som ovan men här räcker det med att d <= p) Beräknng av svarstden för process under nterferens från högre prorterade processer j ges av sambandet R n1 c b jhp( ) R p n j c j Där b är blockerngsfaktorn, nterferens från lägre prorterade processer. Svarstdsanalys vd processuppsättnngar med fx prortet och godtycklg deadlne. För en uppsättnng processer gäller att maxmal svarstd R, nom ett fönster w, kan beräknas. För blockerngsfaktorn b gäller att prortetstaksprotokoll (max en blockerng) är mplementerat. w w n n1 ( ) ( q) ( q 1) c b jhp( ) p j q J j c j Iteratonen utförs tlls : w,q <=( q+1) p Svarstden R ges av: R max w ( q) qp J q0,1,2,... och där: w är det fönster nom vlket v betraktar svarstder q är den start, numrerad 0,1,2..., nom fönstret v betraktar c är processens exekverngstd b är blockerngsfaktor för processen p är processens perodtd J är maxmalt jtter för processen

LET 624 (6 hp) Sd nr 3 Uppgft 1. (3p) a) För CAN-protokollet fnns en beskrvnng av ramformatet, dvs en beskrvnng av vad varje fält ramen har för funkton. Det första fältet ramen består av den s.k. arbtrerngskoden. Beskrv vlka vktga funktoner som koden har samband med en sändnng. b) Antag att v har ett system bestående av två datornoder bestående av MC12 kort av samma typ som använts vd våra laboratoner. Noderna är anslutna tll varandra va en CAN-buss enlgt fguren nedan. I varje nod fnns ett flertal CAN-moduler av vlka v denna uppgft använder oss av modulerna 0 och 4. NOD 1 NOD 2 CAN 0 CAN 4 CAN 0 CAN 4 CAN modul CAN-BUSS V har tllgång tll ett program som nterar nod1 och sänder 2 meddelanden respektve läser ett av de sända meddelande nom den egna noden enlgt programlstan nedan. Skrv ett program för Nod 2 som läser n och skrver ut båda de sändande texter termnalfönstret tll systemet. V kan förutsätta att nod 2:s program har samma nlednng som nod1 tll nedan rad med undantag för att strängarna sendtxt[] respektve sendtxt2[] ej behövs. // --------------------------------- Skrv program tll Nod 2 från denna rad ------ Program Nod 1 vod man(vod){ nt length=0, ; char sendtxt[]={"send_1\0"; char sendtxt2[]={ From_1\0 ; char ntxt[8]; unsgned long dentfer; REG8(DDRB)=0xFF; //confgure CAN0 & CAN4 confg_can_port(can0pm01,can4pm67); nt_can_ponters();

LET 624 (6 hp) Sd nr 4 //default ntalze CAN0 o CAN4 default_can(ptrcan0_nt, ptrcan0); default_can(ptrcan4_nt, ptrcan4); //ntalze CAN0/4 for transmsson/ recepton nt_can(ptrcan0_nt,ptrcan0, CANreceve); nt_can(ptrcan4_nt,ptrcan4, CANreceve); // --------------------------------- Skrv program tll Nod 2 från denna rad ------ //Acceptence Reg 1o2 ptrcan4->can_ar_mr_id[0]=0x0aaaaaac; // ID acc reg ptrcan4->can_ar_mr_id[1]=0x0aaaaaac; // ID acc reg ptrcan4->can_ar_mr_id[2]=0xf0000000; // ID mask reg //---------------------- Huvudloop ------------------------------------------------------ whle(1){ //send message_1 //transmsson address ptrcan0->can_ar_mr_id[4]=0x0aaaaaac; for(=0; <7;++) ptrcan_trans_message->byte[]=sendtxt[]; ptrcan_trans_message->length=7; transmt_can(ptrcan0,ptrcan_trans_message,txe0); / /send message //send message_2 //transmsson address ptrcan0->can_ar_mr_id[4]=0x0aaaaaaf; for(=0; <7;++) ptrcan_trans_message->byte[]=sendtxt2[]; ptrcan_trans_message->length=7; transmt_can(ptrcan0,ptrcan_trans_message,txe0); f(receve_can(ptrcan4,ptrcan_rec_message)==1){ length=ptrcan_rec_message->length; for ( =0;<length;++){ ntxt[]=(ptrcan_rec_message->byte[]); ntxt[]='\0'; puts(ntxt); else puts("no message\n\r"); / /send message //f receved message // antal databytes // fxa strängslut // End Huvudloop // End Man Uppgft 2 ( 3p ). I ett realtdssystem med stöd av en realtdskärna kan man exekvera flera processer samtdgt va tdsdelnng. I ett sådant system är prncperna för schemaläggnng av central betydelse och samband med detta fnns ett antal olka begrepp. Försök så gott det går att kort förklara nnebörden av följande begrepp : a) Pre-emptve respektve non pre-emptve process. b) Round robn. c) Tdsdelad respektve serell exekverng. d) Statsk schemaläggnng respektve dynamsk schemaläggnng.

LET 624 (6 hp) Sd nr 5 Uppgft 3 ( 3p ) Antag att v har ett system med tre processer som exekveras samtdgt ett system med stöd av en realtdskärna. Realtdskärnan stödjer användande av semaforer. Två av processerna delar på en global buffert med varabler av typen heltal där varje process kan läsa respektve skrva data tll bufferten enlgt kodexemplet nedan. I exemplet fnns det krtska regoner för vlka man vll garantera ömsesdg uteslutnng med hjälp av en gemensam Semafor S1. PROCESS nr_1 { whle(1){ // krtsk regon 1 // ta ut ett tal från bufferten f n>0{ tal=buf[n]; n=n-1;.. PROCESS nr_2{ whle(1){. // krtsk regon 2 // lägga n et tal bufferten f n<max{ n=n+1; buf[n]=ntal; a) Beskrv kort vad en semafor är och vlka operatoner man kan utföra på semaforen. Beskrv även hur operatonen påverkar själva semaforen. b) Beskrv vad man menar med : - Krtsk regon ett program. - Odelbar regon ett program. - Ömsesdg uteslutnng. c) Ange hur man processerna ovan bör använda sg av semaforen S1 för att garantera ömsesdg uteslutnng mellan de krtska regonerna processerna ovan. Uppgft 4 ( 2p ) I en realtdskärna utan stöd för ömsesdg uteslutnng på masknnära nvå har Dekker vsat att man kan mplementera ömsesdg uteslutnng mellan krtska regoner två processer, Dekkers algortm. Dekker beskrver sn algortm genom att först beskrva ett antal enklare algortmer ( Dekker 1 4 ) som vsar ett antal begränsnngar form av deadlock och svält. Utfrån de fyra cke fungerande lösnngarna så tar Dekker fram den slutlga lösnngen för två processer.

LET 624 (6 hp) Sd nr 6 nt 1=FALSE ; nt 2=FALSE; PROCESS P1() { whle(1){ // cke krtsk regon whle( 2==TRUE); 1=TRUE; // Krtsk regon. 1=FALSE; PROCESS P2() { whle(1){ // cke krtsk regon whle( 1==TRUE); 2=TRUE; // Krtsk regon. 2=FALSE; a) Ovan processer beskrver en av Dekkers algortmer. Vsa med ett scenaro, dvs beskrv en följd av processbyten mellan processerna som ger upphov tll problem. Beskrv även vlket problem som uppstår. b) Beskrv kort begreppen : deadlock respektve svält Uppgft 5 ( 3p ) Antag att v har en uppsättnng av processer med data enlgt tabellen nedan. Processerna skall schemaläggas med ett statskt schema. Processerna får avbrytas. a) För ett antal perodska processer med perodtderna p n kan man för perodtderna beräkna ett sk LCMtal. Justera perodtderna för nedan system av processer så att ett för statsk schemaläggnng lämplg LCM-tal för perodtderna kan beräknas. Beräkna därefter LCM-talet för perodtderna både före och efter justerngen. b) Rta ett möjlgt statskt schema för processerna med den eller de justerade perodtderna. Process p c d P1 6 2 4 P2 14 2 5 P3 18 5 10 Uppgft 6 ( 3) Antag att vllkoren för dynamsk schemaläggnng enlgt RMSA är uppfyllda för nedan uppsättnng av processer. Processerna är uppställda fallande prortetsordnng där prorteten för P1 är högst. Process p (ms ) c ( ms ) d(ms) P1 18 4 10 P2 34 6 20 P3 68 12 30 P4 68 16 60 a) Vsa att processerna är schemaläggnngsbara. b) Antag att processerna delar användande av en semafor S1 enlgt följande beskrvnng: P2 : Använder S1 3 ms dvs cs P2,S1 = 2 ms P4 : Använder S1 5 ms dvs cs P4,S1 = 5 ms Beräkna maxmala svarstden för P3 med hänsyn tll de nya förutsättnngarna.

LET 624 (6 hp) Sd nr 7 Uppgft 7 ( 2p ) Antag att v har ett system av processer där v nte har några krav på svarstderna men har krav på en vss prortetsordnng. En av processerna P 2 är dessutom av den karaktären att den har ett startjtter +/- 0,5 ms. Processernas data ges av tabellen nedan där de är lstade prortetsordnng. Beräkna maxmala svarstden för P3 enlgt metoden för godtycklg deadlne och med prorterng enlgt tabellen. Proc Prortet p ( ms ) c ( ms ) J P1 0 20 5 - P2 1 25 6 1 P3 2 8 3 - Uppgft 8 ( 2p ) I en process fnns nedanstående rutn som läser n ett tal från en nport systemet. Man har för avskt att teoretskt uppskatta exekverngstden för programdelen. (Not: Uppgften och svar är justerad efter tentamenstllfället pga av felaktgheter) #defne ReadInport *((unsgned char*) 0x9C00) nt antal; unsgned char nkod, temp; 1 antal=0; 2 nkod= ReadInport; 3 4 temp=nkod & 0xF; If(temp){ 5 whle(!(temp & 0x01 ) && (antal < 4 ) ){ 6 7 temp = temp >> 1; 8 antal++; 9 10 a) Rta en programflödesgraf för raderna 1 8 b) Beräkna exekverngstden [mn,max] för programdelen om följande uppskattnngar gäller: BB1= [5,5 ] BB2= [ 5,5 ] BB3= [ 20,30 ] BB4= [5,5 ] BB5= [ 25,35 ] BB6= [ 0,0, ] BB7= [ 5,8 ] BB8= [5,8]

LET 624 (6 hp) Sd nr 8 Uppgft 9 ( 3p ) Studera nedan programexempel. Programmet skapar en länkad lsta med poster av typen REGTYP. Uppgfter: a) Skrv en funkton med funktonsprototypen : REGTYP* add_frst(regtyp* temp, nt data); Som lägger tll en ny post först lstan och tlldelar fältet tal värdet enlgt nparametern data. Funktonen skall returnera en pekare tll den nya första posten lstan. b) Ange hur anropet av funktonen ser ut från huvudprogrammet. Se avsedd plats programlstans huvudprogram. /******************************************** Programexempel 9 tentamen realtdssystem ** 2011-10-19 / ** ********************************************/ #nclude <stdo.h> #nclude <cono.h> #nclude <strng.h> #nclude <stdlb.h> //#### Konstanter ##### #defne MAX 5 // ( alternatvt 1 ) // ##### Typdeklaretoner #### typedef struct q{ nt tal; struct q *next; struct q *prev; REGTYP; // ##### Funktonsprototyper ##### REGTYP* slumpa_lsta(); REGTYP* add_frst(regtyp* temp, nt data); //###### Huvudprogram ####### nt man(nt argc, char *argv[]) { nt nr=0; nt ntal; REGTYP *akt_post, *head=null; srand(254); head=slumpa_lsta(); akt_post=head; whle( akt_post!=null){ prntf("\n Post nr %d : %d", nr++, akt_post->tal); akt_post=akt_post->next; // Programdel där heltalet ntal tlldelas ett vsst värde, dvs ntal=xxx; // Skapa en ny post först lstan vlken ntal skrvs n. // Här anropas den nya funktonen.

LET 624 (6 hp) Sd nr 9 // --- Frgör mnnet whle((akt_post=head)!=null){ head=akt_post->next; free(akt_post); //------------------ system("pause"); return 0; // ==== Slut man ====================================== REGTYP* slumpa_lsta(){ nt nr,=0; REGTYP *top, *old, *tem; tem=(regtyp*) malloc(szeof(regtyp)); top=tem; tem->tal=0; tem->next=null; tem->prev=null; old=tem; whle(<max){ return(top); tem=(regtyp*) malloc(szeof(regtyp)); nr=rand()%100; tem->tal=nr; tem->next=null; old->next=tem; tem->prev=old; old=tem; ++; //========================================================== REGTYP* add_frst(regtyp* temp, nt data){ // Funkton som lägger tll ett element först den länkade lstan samt // lägger n talet data elementets fält tal. Lycka tll önskar!

LET 624 (6 hp) Sd nr 10