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



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

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

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

Tentamen i Programmering grundkurs och Programmering C

Vinst (k) Sannolikhet ( )

Statsbidrag för läxhjälp till huvudmän 2016

Frontermanual för deltagare på våra kompetenskurser

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

Lektion 8 Specialfall, del I (SFI) Rev HL

Kurs: HF1012, Matematisk statistik Lärare: Armin Halilovic Datum: Måndag 30 mars 2015 Skrivtid: 8:15-10:00

1. Frekvensfunktionen nedan är given. (3p)

ELEV- HANDLEDNING (Ansökan via webben)

Vi skall skriva uppsats

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

Handbok Ämnesprov 2016 Lärarinmatning I Dexter Åk 3. Uppdaterad: /HL Version: IST AB

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

Särskilt stöd i grundskolan

Intyg om erfarenhet och lämplighet att undervisa som lärare i gymnasieskolan

Vad är en webbläsare?

Datorövning 2 Statistik med Excel (Office 2007, svenska)

Gruppenkät. Lycka till! Kommun: Stadsdel: (Gäller endast Göteborg)

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:

VÄGLEDNING FÖRETAGSCERTIFIERING Ansökan, recertifiering och uppgradering Version: (SBSC dok )

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

Hemsida Arbetsrum. Skapa arbetsrumslista

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

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

Beräkna standardavvikelser för efterfrågevariationer

Telefonist i Softphone Hantera samtal

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

PBL om tidsbegränsade bygglov m.m

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

Mätfelsbehandling. Lars Engström

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

Två rapporter om bedömning och betyg

Tentamen I a och I b. Personlighet, hälsa och socialpsykologi, PC1245, Delkurs 1 Personlighet och hälsa Personlighet och Hälsa, PC1205 Helfart, vt 10

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

Bostadsbidrag. barnfamiljer. Några viktiga gränser. Vilka barnfamiljer kan få bostadsbidrag? Preliminärt och slutligt bidrag

Granskningsrapport. Brukarrevision. Angered Boendestöd

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

Får nyanlända samma chans i den svenska skolan?

Tentamensdeltagare från Dataekonomutbildningen, Textilekonomutbildningen och Affärsinformatikutbildningen.

Design by. Manual Jossan.exe. Manual. till programmet. Jossan.exe. E-post:

Generellt ägardirektiv

Arbetsbeskrivning, att förbereda för studenternas registrering kommande termin. 1. Studenter antagna på fristående kurs 2

IN1 Projector. Snabbstart och referenshandbok

Utbildningsavkastning i Sverige

Vad tycker de äldre om äldreomsorgen 2013? Verksamhetsresultat för Norrköping Hemtjänst

Det andra alternativet är att ladda upp filer genom att klicka på plustecknet nere till vänster. Man klickar sig in på den mapp som man vill att

Exempel på tentafrågor: Internationell politik

Idag: Dataabstraktion

729G04 - Hemuppgift, Diskret matematik

Särskild avgift enligt lagen (1991:980) om handel med finansiella instrument

Personliga ombud i Hudiksvalls och Nordanstigs Kommun

Sundbybergs stad Skolundersökning 2015 Föräldrar förskola Fristående förskolor totalt Antal svar samtliga fristående förskolor: 360 (57 %)

Manual för Min sida 1/ rev

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

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

TENTAMEN I REGLERTEKNIK Y (TSRT12)

a n = A2 n + B4 n. { 2 = A + B 6 = 2A + 4B, S(5, 2) = S(4, 1) + 2S(4, 2) = 1 + 2(S(3, 1) + 2S(3, 2)) = 3 + 4(S(2, 1) + 2S(2, 2)) = = 15.

Dokumentation Optitec RS - Återkallning

Manual för BPSD registret. Version 6 /

REGLER. Regler för placering i förskola och annan pedagogisk omsorg

Träning i bevisföring

NATIONELLT KURSPROV I MATEMATIK KURS B HÖSTEN Tidsbunden del

Tentamen (TEN1) TMEL53 Digitalteknik

Svensk författningssamling

Registrera och ordinera i ett flöde i Pascal

Riksförsäkringsverkets föreskrifter (RFFS 1993:24) om assistansersättning

UPPGIFT: SKRIV EN DEBATTARTIKEL

Föreläsning 5: Rekursion

TIMREDOVISNINGSSYSTEM

Sundbybergs stad Skolundersökning 2015 Föräldrar förskola Stella Nova förskola

Beslutet/domen har vunnit laga kraft. Fastighetsmäklarinspektionens avgörande

TT091A, TVJ22A, NVJA02 By, Pu, Ti. 50 poäng

Det är bra om även distriktsstyrelsen gör en presentation av sig själva på samma sätt som de andra.

ANVÄND NAVIGATIONEN I CAPITEX SÄLJSTÖD

Registrera betalning. Motsvarande vägledningar för vänstermeny hittar du längre ner i dokumentet

PROJEKT. Anmälningspliktiga fordonstvättar

Snabbslumpade uppgifter från flera moment.

Presentation vid dialogmöte i Råneå av Arbetsgruppen för Vitåskolan. Presentationen hölls av Ingela Lindqvist

Utvärdering APL frågor till praktikant

Tillträde MANUAL. Mäklarsamfundet system i Sverige AB

Datorövning 2 Statistik med Excel (Office 2003, engelska)

Snabbguide. Kaba elolegic programmeringsenhet 1364

Institutionen för matematik Envariabelanalys 1. Jan Gelfgren Datum: Fredag 9/12, 2011 Tid: 9-15 Hjälpmedel: Inga (ej miniräknare)

Frågor och svar angående de nya nationella övergångsbestämmelserna. Fråga 1: Får en amatör byta förening fler gånger på en säsong?

Frågor i ansökan om statsbidrag för läxhjälp år 2016 skolhuvudmän

Moment 2 - Digital elektronik. Föreläsning 2 Sekvenskretsar och byggblock

7. SAMHÄLLSORIENTERING ÅK 5

DATASAMORDNING NYHETERNA I CHAOS Utbildning Chaos/Handledning - Nyheterna i Chaos 3/

För unga vuxna Vuxenutbildning. Den svenska skolan för nyanlända

Flyktingläget på Tjörn Februari 2016

När du som vårdpersonal vill ta del av information som finns hos en annan vårdgivare krävs det att:

Välkommen till Arbetsförmedlingen! Information till dig som är arbetssökande

SF1625 Envariabelanalys

Personnummer. Närmast anhörig Relation

DOM Meddelad i Stockholm

Java M1 V2 L2 K2 TM W. Tentamen i Programmering , kl LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap.

Transkript:

LET 624 0109(6 hp) Sd nr 1 TENTAMEN KURSNAMN PROGRAM: namn REALTIDSSYSTEM, GK åk / läsperod DAI2 samt EI3 KURSBETECKNING LET 624 0109 ( 6p ) EXAMINATOR TID FÖR TENTAMEN Tsdagen den 23/10 2012 kl. 08.30 12.30 HJÄLPMEDEL Godkänd räknedosa ANSV LÄRARE: namn telnr 772 5726 besöker tentamen kl Ca 9.30 samt 11.00 DATUM FÖR ANSLAG av resultat samt av td och plats för gransknng ÖVRIG INFORM. Gransknng: Måndagen den 5/11 12.15 12:45 Sal J 121. Därefter fnns tentorna vd D&IT:s studeexpedton plan 4 hus Jupter. Betygsgränser : Max 25 poäng 3:11 15,5 4: 16 20,5, 5: 21 -

LET 624 0109(6 hp) Sd nr 2 FORMELSAMLING RMSA enkel analys FÖRUTSÄTTNINGAR: Vare 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 exakt 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 ges av sambandet R n1 c b hp( ) R p n c 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 hp( ) p q J c 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 tter för processen

LET 624 0109(6 hp) Sd nr 3 Uppgft 1. (2p) I CAN-protokollet används CSMA/CR för bussaccess. a) Beskrv vad metoden nnebär generellt för de olka delarna av förkortnngen dvs CS, MA respektve CR b I samband med bussaccess talar man om begreppet bussarbtrerng. Beskrv vad begreppet står för. Uppgft 2 ( 4p) I ett tdsdelat system bestående av flera processer som exekveras pseudoparallellt va tdsdelnngen har man oftast ett realtdsoperatvsystem som sköter tdsdelnng genom processbyten som normalt genereras av klockavbrott. För att ge stöd för ömsesdg uteslutnng av krtska regoner samt för synkronserng av processerna har vanlgen ett realtdssystem stöd för s.k. semaforer. a) b) c) En process ett sådant system kan befnna sg ett av tre olka tllstånd, vlka är dessa. Beskrv även vlken händelse som nterar samtlga mölga byten mellan de olka tllstånden. Beskrv vad en Semafor är samt vlka operatoner man kan utföra på Semaforen. Vsa med korta programexempel hur man kan använda sg av Semaforer för att garantera ömsesdg uteslutnng samt synkronserng av händelser/processer. d) Beskrv vad man menar med krtsk regon samt ömsesdg uteslutnng av krtska regoner. Uppgft 3 ( 3 p) Man har mplementerat en synkron meddelandekanal genom vlken man kan skcka data av typen nteger mellan processer. För att använda kanalen har man skrvt två funktoner enlgt nedan. Tanken är att man från en godtycklg process skall kunna anropa önskad funkton av dessa två för att lämna ett tecken ( ChannelWrte ) alternatvt att hämta ett tal ( ChannelRead). Programmet har stöd av realtdskärnan RTK12, dvs samma som v har använt denna kurs. För att synkronsera och garantera ömsesdg uteslutnng har man använt sg av fyra semaforer enlgt nedan. //----- Global dataarea -------- nt data; man(){ ntsem ( WRITE, 1); ntsem(read,1); ntsem(write_ok,0); ntsem(read_ok,0); vod channelwrte( nt tempdata){ watsem(write); data=tempdata; sgnalsem(write_ok); watsem(read_ok); sgnalsem(write);

LET 624 0109(6 hp) Sd nr 4 vod channelread( nt *t_data){ watsem(read); watsem(write_ok); *t_data=data; sgnalsem(read_ok); sgnalsem(read); Antag att v hart tre processer som exekveras pseudoparallellt och som anropar funktonerna enlgt nedan tdsschema där t 1 < t 2 osv. Mellan tderna fnns det relatvt stora tdsluckor. Före nedan händelsekeda har ngen process anropat någon av funktonerna. t 1 : Process 1 anropar funkton enlgt : channelread( &tal); t 2 : Process 2 anropar funkton enlgt : channelread(&nr); t 3 : Process 3 anropar funktonen enlgt : channelwrte( 3);. Beskrv den händelsekeda som uppstår med avseende på semaforhanterng och vlken process som exekverar med hänsyn tll anropen enlgt ovan.. Beskrv även hanterng av varablerna. Uppgft 4 (4p) 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) Bestäm LCM för perodtderna utan att göra någon perodtdsusterng. b) Föreslå en lämplg perodusterng för att mnska den sk LCM-tden för perodtderna. c) Rta ett statskt schema för processerna efter perodusterngen. d) Antag att samma processer schemalägges dynamskt. Beräkna så fall svarstderna enlgt metoden för RMSA exakt analys om man låter processerna ha prortet enlgt tabellens ordnng (P1 högsta prortet) och perodtder enlgt de som gäller efter usterngen. Jämför resultaten med det rtade statska schemat enlgt c. Kan man förklara de uträknade svarstderna med stöd av detta. e) Är systemet schemaläggnngsbart enlgt en eller båda schemaläggnngsmetoderna. Motvera dtt svar. Process p c d P1 6 2 4 P2 10 2 6 P3 16 5 12

LET 624 0109(6 hp) Sd nr 5 Uppgft 5 (3p) I ett system med tre processer har man uppskattat processdata enlgt nedan tabell. Avgör om systemet är schemaläggnngsbart enlgt RMSA. Proc Pr p (ms) d(ms) c(ms) Semafor S P1 0 6 6 2 2 ms P2 1 13 8 3 P3 2 25 15 5 3 ms Uppgft 6 (2p) I ett styrsystem läser en process n data form av 8 btars bnära tal 1 255. Talen sparas en globlal mnnesbuffert ndata[ ]. Den bnära koden 0 används som sluttecken för den senaste nlästa földen av tal. Maxmalt kan de ngå MAX antal tal bufferten utöver sluttecknet 0. Om bufferten är tom är första tecknet lka med sluttecknet. En funkton nt soekantaltal ( unsgned char soektal ) utvecklas för att söka efter antalet förekomster av ett vsst tal bufferten enlgt fölande : #defne MAX 10 unsgned char ndata[max+1]; nt soekantaltal ( unsgned char soektal ){ nt antal, n; unsgned char temp; 1 antal=0; 2 n=0; 3 temp=ndata[n]; 4 whle(temp!=0x00){ 5 f(temp==soektal) 6 antal++; 7 n++; 8 temp=ndata[n]; 9 10 return(antal); a) Rta en programflödesgraf för raderna 1 10 b) Beräkna exekverngstden [mn,max] för programdelen 1 10 om fölande uppskattnngar av exekverngstderna gäller: BB1= [5,5 ] BB2=[5,5] BB3= [ 10,10 ] BB4= [ 20,25 ] BB5= [10,10 ] BB6= [ 5,5 ] BB7= [ 5,5 ] BB8= [ 10,10 ] BB10= [15,15]

LET 624 0109(6 hp) Sd nr 6 Uppgft 7 ( 3p ) Antag att v har ett system med tre processer med struktur enlgt nedan. Process två och tre delar en semafor för att garantera omsesdg uteslutnng för exekverngen av funktonerna comput2() respektve compute3(). Process 1 har prortet 6, Process 2 har prortet 10 och Process 3 har prortet 2. Högsta prortet ges för lägsta prortetsnummer. Exekverngstder är : compute1() : 5 sek, compute2() : 4 sek samt compute3() 2 sek. Funktonerna : parkforevent_x() nnebär att processen avvakter en vss händelse nr x och ges e körtd under denna väntan. När händelse nträffar ändrar processen tllstånd tll Ready och ges körtd utfrån den fxa prorterngen den har vlket kan nnebära att den får vänta tlls högre prorterade processer körts klart.. Antag att händelserna nr 1 3 nträffar fölande ordnng, händelse nr 2, 3 och sst 1, med en sekund mellan händelserna. V får anta att nga andra processer påverkar körnngen av de ter processerna. Process 1() { whle(1) { parkforevent_1(); compute1(); //------------------------------------------ process2(){ whle(1) { parkforevent_2(); watsem(s1); comput2(); sgnalsem(s1) //------------------------------------------- Process3(){ whle(1) { parkforevent_3(); watsem(s1); compute3(); sgnalsem(s1) //------------------------------------------------ a) Rta ett tdsdagram over exekverngen av processerna från det att första händelsen nträffar tll att samtlga tre processer genomfört en teraton av sn exekverng, dvs att funktonen computex() genomförts. Rta tdsdagrammet så att processernas tllstånd ( watng samt runnng ) framgår. b) På grund av semaforhanterngen kommer man att få en oönskad effekt vd exekverngen av processerna. Beskrv denna effekt och ange vad den kallas. c) Det fnns en metod att mnmera denna effekts nverkan. Beskrv kort om denna metod och vad de man nför kallas.

LET 624 0109(6 hp) Sd nr 7 Uppgft 8 ( 2p ) Två datornoder NOD 1 och NOD 2 byggda krng mcrocontrollern Motorola HCS12. Controllern har två nbyggda CAN moduler CAN0 respektve CAN4. Nodernas båda CAN-moduler är anslutna tll en gemensam datorbuss. Tll systemen fnns en antal drvrutner enlgt nedan. I drvrutner och det exempel på ett huvudprogram som ges används varabler av typen struct samt pekare varav några defneras nedan. Den drekta hanterngen av kretsen regster är dold drvrutnerna. struct CAN { unsgned short CANx; //CAN nterface unsgned char CAN_IDAM; //Identfer Acceptence Mode unsgned long CAN_AR_MR_ID[5]; //Acceptance Code 1st Bank //Acceptance Code 2nd Bank //Acceptance Mask 1st Bank //Acceptance Mask 2nd Bank //Message Identfer unsgned char CAN_IDE; //ID Extended ( 12/29 ARB) unsgned char CAN_RTR; //Remote Transmsson Request unsgned char CAN_DLR; //Data Length unsgned char CAN_PRIO; //Transmt Buffer Prorty ; struct CAN_message { unsgned char length; //number of bytes (0-8) char byte[8]; //eght data bytes ; Pekare : ptrcan0_nt : en pekare tll en struct av typen CAN_nt för CAN0. prtcan0 : en pekare tll en struct av typen CAN för CAN0. ptrcan_trans_message: en pekare tll en struct av typen message. ptrcan_rec_message : en pekare tll en struct av typen message. vod nt_can_ponters(vod) : Interar ett antal pekare som används av programmet vod default_can(struct CAN_nt *,struct CAN *); : Interar en CAN struct tll defaultvärden. vod nt_can(struct CAN_nt *,struct CAN *,unsgned char recve); :Interar CAN modulen för sand/mottag. vod transmt_can(struct CAN *,struct CAN_message *,unsgned char); : Sänder ett meddelande. nt receve_can(struct CAN *,struct CAN_message *); :Läser ett mottaget meddelande. Returnerar 1 om meddelande fnns mottaget. //------------------------------------------------------- Nedan vsas ett exempel på ett program för systemets NOD 1 som sänder ett meddelande avsett för NOD 2 samt läser n ett eventuellt meddelande från NOD 2 med arbtrerngskoden 0x0AAAAAAC eller =0x0AAAAAAA.

LET 624 0109(6 hp) Sd nr 8 // ------- Huvudprogram NOD 1 ------------ vod man(vod) { nt length=0,, n; char sendtxt[]={"text_1\0"; char ntxt[8]; unsgned long dentfer;.. ptrcan0->can_ar_mr_id[4]=0x0aaaaaba; //default ntalze CAN4 default_can(ptrcan4_nt,ptrcan4); //Acceptence Flter 1 & 2 ptrcan4->can_ar_mr_id[0]=0x0aaaaaac; // ID acc reg ptrcan4->can_ar_mr_id[1]=0x0aaaaaaa; // ID acc reg ptrcan4->can_ar_mr_id[2]=0xf0000000; // ID mask reg ptrcan4->can_ar_mr_id[3]=0xf0000000; // ID mask reg //ntalze CAN0 for transmsson nt_can(ptrcan0_nt,ptrcan0,cantransmt); //ntalze CAN4 for recepton// nt_can(ptrcan4_nt,ptrcan4,canreceve); whle(1){ //message to send =0; for(=0; <7;++) ptrcan_trans_message->byte[]=sendtxt[]; 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; dentfer = read_id_can(ptrcan4); f (dentfer==0x0aaaaaac) puts("id ok \n\r"); / /send message //f receved message // antal databytes // mottaget ID // Kolla ID för mottagen data else for ( =0;<length;++){ ntxt[]=(ptrcan_rec_message->byte[]); ntxt[]='\0'; puts(ntxt); puts("no message\n\r"); // fxa strängslut Uppgften: Beskrv vlka ändrngar man behöver göra det redovsade programmet för att programmet skall ge NOD 2 önskad funkton dvs sända ett meddelande tll NOD 1 samt läsa meddelandet från NOD 1. Ingen av noderna skall läsa stt eget utsänt meddelande.

LET 624 0109(6 hp) Sd nr 9 Uppgft 9 ( 2p ) Nedan fnns en nledande del tll en programlsta av ett C-program. Programmet hanterar bland annat en länkad lsta bestående av poster av typen REGTYP. I man-funktonen fnns en pekare head av typen REGTYP som pekar på lstans första element. Ssta elementets next-pekare är NULL. V kan utgå från att det alltd fnns mnst ett element lstan. Skrv en funkton som söker om det fnns en post med ett vsst angvet enamn. Funktonen skall returnera en pekare tll den första posten med angvet enamn alternatvt NULL om det e fnns en post med angvet enamn. Funktone har deklaratonen: REGTYP* fnd_person( char *name, REGTYP *top); Not : Bbloteksfunktonen nt strcmp( const char *s1, const char s2 ) får användas. Funktonen returnerar talet 0 om strängarna är dentskt lka. #nclude <stdo.h> #nclude <stlb.h> #nclude <strng.h> // ##### Typdeklaretoner #### typedef struct q{ char enamn[20]; char fnamn[20]; struct q *next; REGTYP; // ##### Funktonsdeklaratoner ##### REGTYP* fnd_person( char *name, REGTYP *top);. //###### Huvudprogram ####### nt man(nt argc, char *argv[]) { nt antal_poster; REGTYP *head; REGTYP *aktuellpost; char s_enamn[20]; // sökt pesons enamn.. // Anrop av funktonen: aktuellpost= fnd_person( s_enamn, head);...... system("pause"); return 0; Lycka tll önskar