Övningsexempel och lösningar för. TDDC47 Realtids- och processprogramering

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

Lektion 9. Teori. Bilinjär transformation. Byggblock Integratorer. Parasitkapacitanser. SC-filter Leapfrogfilter. LDI-transformation ----

Billigaste väg: Matematisk modell i vektor/matrisform. Billigaste väg: Matematisk modell i vektor/matrisform

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

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

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

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

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

Lösningar modul 3 - Lokala nätverk

Konstruktionsuppgift 1 G7006B. Sofi Isaksson Lea-Friederike Koss Henrik Silfvernagel

Förklaring:

7 Inställning av PID-regulatorer

Delårsrapport Miljö- & hälsoskyddskontoret

7 Inställning av PID-regulatorer

Tips! KanSerien SE - ASL - ENG HJÄLP v TIPS v INFORMATION. Specialpedagogiska. appar

Beräkna standardavvikelser för efterfrågevariationer

ETE115 Ellära och elektronik, tentamen oktober 2007

Sjukvårdsförsäkringar på en privat marknad

TFYA16: Tenta Svar och anvisningar

Faradays lag. ger. Låt oss nu bestämma den magnetiska energin för N st kopplade kretsar. Arbetet som kretsarnas batterier utför är

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

Förstärkare Ingångsresistans Utgångsresistans Spänningsförstärkare, v v Transadmittansförstärkare, i v Transimpedansförstärkare, v i

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

Sammanfattning, Dag 1

Snabbguide. Kaba elolegic programmeringsenhet 1364

TNK049 Optimeringslära

TNK049 Optimeringslära

2. Optimering Linjär programmering

Kravanalys och implementering av ett realtidssystem med höga dataprestanda

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

Allmänt om korttidsplanering. Systemplanering Allmänt om korttidsplanering. Allmänt om vattenkraft. Det blir ett optimeringsproblem!

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

6.2 Transitionselement

Processbeskrivning Driftsättning

Innehåll: har missbrukat jämfört med om man inte har. missbrukat. Risk 1 Odds Risk. Odds 1 Risk. Odds

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

Växelström = kapitel 1.4 Sinusformade växelstorheter

Optimering Linjär programmering

Viktigt säkerhetsmeddelande

Blixtkurs i komplex integration

Experimentella metoder 2014, Räkneövning 5

Mos. Statens väg- ochtrafi V" NationalRoad&Traffic Research Institute- $-58101Li: Lä & t # % p. i E d $ åv 3 %. ISSN

Stelkroppsdynamik i tre dimensioner Ulf Torkelsson. 1 Tröghetsmoment, rörelsemängdsmoment och kinetisk energi

Skoldemokratiplan Principer och guide till elevinflytande

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

Monterings- och bruksanvisning. VideoTerminal

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

Hjälpmedel: Penna, papper, sudd, linjal, miniräknare, formelsamling. Ej tillåtet med internetuppkoppling: 1. Skriv ditt för- och efternamn : (1/0/0)

Tillämpningar av dekomposition: Flervaruflödesproblemet. Flervaruflödesproblemet: Lagrangeheuristik

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

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

TSTE20 Elektronik 01/24/ :24. Dagens föreläsning. Praktiska saker. Repetition, storheter. Repetition kretselement och samband Tvåpolssatsen

Vinst (k) Sannolikhet ( )

ÖVN 15 - DIFFTRANS - DEL2 - SF Nyckelord och innehåll. Inofficiella mål

Slumpvariabler (Stokastiska variabler)

Stela kroppars rörelse i ett plan Ulf Torkelsson

Lönebildningen i Sverige

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

Lösningar till tentamen i Reglerteknik

Massa, densitet och hastighet

a) B är oberoende av A. (1p) b) P (A B) = 1 2. (1p) c) P (A B) = 1 och P (A B) = 1 6. (1p) Lösningar: = P (A) P (A B) = 1

Tentamen (TEN1) TMEL53 Digitalteknik

BEREDSKAP MOT ATOMOLYCKOR I SVERIGE

Tentamen Elektronik för F (ETE022)

Optimering i samband med produktionsplanering av, och materialförsörjning vid, underhåll av flygmotorer

FK2002,FK2004. Föreläsning 5

Läs i vågläraboken om interferens (sid 59-71), dopplereffekt (sid 81-84), elektromagnetiska vågor (sid ) och dikroism (sid ).

Kiruna. Den banbrytande staden. KIRUNA LKAB KIRUNA LKAB LKAB. kan Kan vi förstärka den anda som skapat

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

Med funktioner som en lcd display med 10 olika träningsprogram, erbjuder denna cykel en variationsrik träning.

Lektion 8 Specialfall, del I (SFI) Rev HL

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

Tentamen i mekanik TFYA16

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

Konsoliderad version av

Elteknik Svenska AB. FACI - trygghetslarm. Produktlista. Kontaktperson: Palle Wiklund Telefon: Fax:

Lab 1, MATLAB som grafritande räknare

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

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

Jämviktsvillkor för en kropp

TAOP61 Optimering av realistiska sammansatta system. Speciellt med denna kurs. Uppdateringar. Kursplan

Delårsrapport Social- och äldrenämnden. Äldre- och omsorgsavdelningen

Laser Distancer LD 420. Bruksanvisning

i = 1. (1.2) (1.3) eller som z = x + yi

PLUSVAL PRISLISTA 2016

DEL I. Matematiska Institutionen KTH

Exempel: En boll med massa m studsar mot ett golv. Alldeles innan studsen vet man att hastigheten är riktad

Balansering av vindkraft och vattenkraft i norra Sverige. Elforsk rapport 09:88

Delårsrapport Kommunstyrelsen Kommunledningskontoret

KURS-PM för. Namn på kurs (YTLW37) 40 Yhp. Version 1.1 Uppdaterad

Introduktionsersättning eller socialbidraghar ersättningsregim betydelse för integrationen av flyktingar? 1

Stresstest för försäkrings- och driftskostnadsrisker inom skadeförsäkring

Beställningsintervall i periodbeställningssystem

Arbetsbok 1 Jämna steg. o, s, m, a, r, i. Elisabeth Marx. Individuell lästräning för elever i förskoleklass och lågstadiet

SOS HT10. Punktskattning. Inferens för medelvärde ( ) och varians (σ 2 ) för ett stickprov. Punktskattningen räcker inte!

Optimalitet, globala minimerare. Betrakta den -dimensionella problemet. Icke-linjär optimering. Om en punkt uppfyller

IN1 Projector. Snabbstart och referenshandbok

Processbeskrivning Kvalitetsstyrning

Del A Begrepp och grundläggande förståelse.

Transkript:

Övnngexempel och lönngar för DD7 ealtd- och proceprogramerng Mehd mrjoo Jona Elmqvt Inttutonen för datavetenkap (ID) Lnköpng unvertet opyrght 6 Mehd mrjoo

. Proceprogrammerng. etrakta följande proceer där krtk_ekton motvarar en mängd med ater: proce_ repeat krtk_ekton; untl fale; proce_ repeat krtk_ekton; untl fale; proce_ repeat krtk_ekton; untl fale; Lö följande med hjälp av emaforer. (a) Endat en proce får vta krtka ektonen åt gången. (b) Högt två proceer får vta krtka ektonen åt gången (detta trder ju emot defntonen av en krtk ekton, men v tllåter detta för övnngen kull).. etrakta följande datatrukturer och två proceer: nteger {ntally }; nteger buffer[]; producent repeat ; buffer[] funkton; untl fale; konument repeat temp buffer[]; - ; untl fale; V antar att ett fel upptår då data krv tll eller läe från buffer[] när < eller >. (a) Ge exempel på vad om kan hända om producentproceen och konumentproceen nte är ynkronerade? (b) Utöka koden ovan med emaforer å att korrekt programbeteende uppnå.

. Vlket problem kan upptå med följande program och varför? emaphore X {ntally }; emaphore Y {ntally }; proce_ repeat wat(x); wat(y); krtk_ekton; gnal(x); gnal(y); untl fale; proce_ repeat wat(y); wat(x); krtk_ekton; gnal(y); gnal(x); untl fale;. etrakta ett ytem med tre rökarproceer och en agentproce. För att röka en cgarett måte en rökarproce erhålla tre ngredener: tobak, papper och tändtckor. Den förta av rökarproceerna har endat papper, den andra har endat tobak och den tredje har endat tändtckor medan agenten har alla tre ngredener (rökarna och agenten har en oändlg tllgång av dera av materal). genten placerar två lumpmägt utvalda ngredener på ett bord. Dea kan ta av någon eller några rökarproceer om behöver ngredenerna. Om en rökarproce har alla tre ngredener kan denna röka en cgarett. Om den nte har alla tre ngredener måte den vänta. När en rökarproce har rökt klart kommer agenten att placera ut ytterlgare två ngredener och förloppet återupprepa gen. (a) Vad kan hända om rökarproceerna och agentproceen nte är ynkronerade? (b) Skrv ett program om använder g av emaforer för att ynkronera rökarna och agenten..5 etrakta ett ytem betående av fyra reurer av amma typ om dela av tre proceer. Varje proce behöver två reurer. Proceerna ger frvllgt upp na allokerade reurer och en reur kan nte dela mellan proceerna. Kan ytemet hamna baklå (deadlock)?

.6 etrakta följande bld av ett ytem: llocaton (llokerng) Max evara följande med hjälp av banker algortm: valable ( llgänglga) D D D P 5 P 7 5 P 5 5 6 P 6 6 5 P 6 5 6 (a) Vad är nnehållet av matren Need? (b) Är ytemet ett äkert (afe) tlltånd? (c) En proce begär följande ytterlgare reurer (,,,). Kan denna begäran tllgodoe omedelbart?.7 etrakta följande bld av ett ytem: Max valable D D P 6 5 P 7 5 P 5 6 (a) etäm matren llocaton å att ytemet är ett oäkert (unafe) tlltånd. (b) Måte ytemet hamna baklå? Med andra ord, är det möjlgt för proceerna att avluta dera exekverng även om ytemet befnner g ett oäkert tlltånd?.8 etrakta följande reurallokernganat. Proceer kan begära och läppa reurer när om helt. Om en begäran för en reur nte kan tllåta pga. otllräcklga reurer kan v underöka huruvda reuren fråga är allokerad av någon eller några andra proceer om är blockerade och om väntar på övrga reurer. Om å är fallet tar v reuren från en blockerad proce och ger reuren tll proceen om behöver den. Den blockerade proceen vektor Need öka med motvarande mängd reurer om ta från den. (a) Kan ytemet hamna baklå? Ge ett exempel om å är fallet. (b) Kan oändlgt blockerng ke, dv. kan en proce hndra från att allokera en reur för alltd?

.9 Ett ytem betår av m reurer av amma typ om dela av n proceer. eurer kan begära och läppa endat en taget. Va att ytemet nte kan hamna baklå om följande gäller: () En proce maxmala behov (max requeted) av reurer är mellan och m. () Summan av alla maxmala behov (max requeted) är mndre än m n.

. Schemaläggnng. Följande proceer är gvna: Proce Perod Exekverngtd (a) Ordna proceerna prorteter enlgt ate Monotonc. (b) eräkna PU-utnyttjandegraden. (c) Va en trace av en exekverng med tart från en krtk tdpunkt då M använd. (d) eräkna vartden för, och med hjälp av exakt analy.. Htta på ett cenaro där du har tre proceer. Se tll att du ätter peroder och exekverngtder å att en proce kommer ma n deadlne om du använder M amt att alla proceer klarar na deadlne om du använder EDF.. nta att v har n tycken proceer med peroderna,,n och alla proceer har amma exekverngtd. (a) Vad är det törta där alla proceer klarar av na deadlne gvet att EDF använd för att chemalägga proceerna? (b) För vlka värden på kan man med äkerhet äga att alla proceer klarar av na deadlne när M använd för att chemalägga proceerna?. etrakta följande proceer där Prorty-elng (även kallat Orgnal elng Prorrty ) protokollet använd för reurhanterng och M använd för att chemalägga proceerna. Lånngtd anger hur länge proce låer repektve emafor. Proce Perod Exekverngtd 5 6 D 5 5

Proce Semafor Lånngtd S S S D S (a) eräkna prortettaket för repektve emafor. (b) eräkna blockerngfaktorn för varje proce..5 etrakta följande proceer där Immedate-Inhertance (även kallat Immedate elng Prorty ) protokollet använd för reurhanterng och M använd för att chemalägga proceerna. Lånngtd anger hur länge proce låer repektve emafor. eräkna blockerngfaktor amt vartd för varje proce. Proce Perod Exekverngtd 6 8 Proce Semafor Lånngtd S S S S S S.6 Ett ytem betår av de fyra cke-perodka proceerna P, P, P och P. Dea proceer delar på gemenamma reurerna a, b, c och d. etrakta följande egenkaper: Proce Exekverngekven Prortet Släpptd (releae tme) P EaabdE 8 P EbbdddE 5 P EbbaccE P EccaE 6

E betecknar exekverng utan användnng av reur, medan a, b etc. repreenterar exekverng med reur. När en reur tlldela en proce kommer proceen att bbehålla reuren tll den nte längre använd. Under antagandet att Prorty-elng protokollet använd, va den faktka exekverngekvenen. nvänd bfogad tabell (e ta dan)..7 nta att v hart tre regulatorer om beteckna med F, F, and F enlgt nedan (<<). Varje regulator mplementera om en proce. F mplementera om proce P, F mplementera om proce P, and F mplementera om proce P. Proceerna perod amt maxmala exekverngtd ge av nedantående tabell. Proce Perod (m) Maxmal exekverngtd (m) P P P Proceerna chemalägg på amma dator och enlgt rate monotonc (M). lla proceer läpp vd tdpunkten. En reglertorhet (controlled varable) ampla början av repektve perod, dv. y (t) ampla vd tdpunkter m, m, m, m, och y (t) ampla vd tdpunkter m, m, m ov. Låt D vara den törta reglerfördröjnngen (control delay) av F. (a) eräkna D för varje regulator. (b) nta att v vll ta fram regulatorer baerad på den törta reglerfördröjnngen. Modellera överförngfunktonen från Y r, () tll Y () där D är nkluderad. 7

.8 etrakta följande ervoytem för blar. Vnkeln på ratten a r (t) mät på enornoden och kcka därefter tll ervonoden, om ändrar hjulvnkeln a(t). Det fnn alltå ngen mekank kopplng mellan ratten och hjulen. atten vnkel a r (t) ampla perodkt med amplngperoden och överför tll dgtal form va analog/dgtal (/D) omvandlare. den för /D och D/ omvandlng är δ ad. Efter /D omvandlng kcka ratten vnkel a r tll ervonoden va ett nätverk. ranmontden för ett paket, om nnehåller a r är δ n. Hjulvnkeln a(t) ampla perodkt med amplngperoden. När /D omvandlngen av a(t) är lutförd beräknar regleralgortmen F den pännng v om måte applcera på hjulervot W. När v är beräknad, D/ omvandla v och v(t) erhåll. egleralgortmen (om repreentera av F) maxmala exekverngtd ge av δ c. nta att a r (t) och a(t) ampla vd amma tdpunkter. (a) Vad är den maxmala reglerfördröjnngen (control delay)? (b) a fram en överförngfunkton G c () om relaterar ngnalen r () och utgnalen () på det lutna ytemet enlgt ( ) G ( ) ( ). Du kan anta för enkelheten kull att δ δ. ad c n r.9 nta att det fnn n tycken perodka reglerproceer. En reglerproce beteckna med P och de perod med, där ( n). För en v reglerproce P gäller följande ( j n) : () j, där () j, där j, gäller att j, j <, gäller att m, där m {,,,}, j () reglertorheten och referenen ampla vd tdpunkter k ( k,,,) genom tmetrggered nput (I), 8

() tyrgnalen beräkna och lägg ut när reglerproceen avluta (tme-trggered output använd nte), (5) P har en kontant exekverngtd, (6) P aktvera (läpp) vd tdpunkten k. Gvet att reglerproceerna P,.., Pn chemalägg med rate monotonc (M) amt att reglerproceerna uppfyller ovannämnda egenkaperna ()-(5), va att jtter reglerfördröjnngen (control delay jtter) är noll. 9

. ealtdkommunkaton. etrakta ett N nätverk om betår av noder, där SM/ använd. Nod n har ID och kckar ramar med peroden 5m. Nod n har ID och kckar ramar med peroden 7m. Nod n har ID och kckar ramar med peroden m. Varje ram är maxmalt 5 btar och tranmontden ( τ bt ) för en bt är x -6. (a) ekrv hur noderna kommer överen om vlken ordnng ramar ka kcka då alla noder vll kcka amtdgt. (b) eräkna vartden för ramar kckade av noderna n, n och n (baerad på tden det tar att kcka hela ramen).. eter utförda på närverket bekrvet uppgft. har vat att uppmätta vartder är mycket törre än väntat. Man har funnt att detta beror på chemaläggnngen av de proceer om genererar ramarna. För noderna n och n blr en ram värta fallet redo för att ända 5m efter tarten av denna perod, dv. den köa enat 5m efter perodtarten. För nod n gäller att en ram blr redo för att ända 8m efter denna perodtart. eräkna om vartderna med aveende på denna nya nformaton.. Meddelandet SOPENGINE ka kcka över ett N nätverk. nta att nga andra noder kckar för tllfället och att varje boktav är 8 btar ( byte). (a) eräkna den kortate tranmontden för meddelandet. (b) eräkna den längta tranmontden för meddelandet.

. Övrga uppgfter. eräkna maxmal och mnmal exekverngtd för följande avntt av ett -program: for(y;y<;y) { } f(tet(y)) { } for(x;x<6;x) { } f(mage[x][y]) { } nt weght; weghtcalc_weght(mage,x,y); x_umx*weght; y_umy*weght; quareweght; Förutatt att: - tlldelnng tar 5 cykler - jämförele tar cykler - addton tar 5 cykler - multplkaton tar 9 cykler - att anropa en funkton tar 5 cykler - tet() tar maxmalt 8 och mnmalt 8 cykler - calc_wegth() tar maxmalt 5 och mnmalt cykler. För enkelheten kull låter v alla hopp, åväl vllkorlga om ovllkorlga, ta cykler. Enheter: cykler en v proceor (tderna helt fktva). Obervera att och nnebär både addton och tlldelnng.

Lönngförlag. Proceprogrammerng. (a) Inför emaforen emaphore gå_n {ntally }; Proceerna kod er ut om följer proce_ repeat wat(gå_n); krtk_ekton; gnal(gå_n); untl fale; proce_ repeat wat(gå_n); krtk_ekton; gnal(gå_n); untl fale; proce_ repeat wat(gå_n); krtk_ekton; gnal(gå_n); untl fale; (b) V ändrar endat ntalvärdet på emaforen, dv. v deklarerar gå_n enlgt: emaphore gå_n {ntally };. (a) Fel upptår om proceen producent exekverar fler än tre gånger rad, då krvnng ker tll buffer för >. Det omvända gäller för proceen konument då den exekverar fler än tre gånger rad ( blr mndre än ). Deutom kan bl.a. denna ekven av ater ke: producent: ; konument: temp buffer[]; konument: - ; producent: buffer[] funkton; Detta nnebär tex. att värdet av funkton kommer att krva tll fel plat buffer. (b) V måte e tll att () ngen krvnng ker tll en redan full buffer, () ngen länng ker från en tom buffer och () endat en proce kan ändra varabeln och buffer åt gången. Den ta punkten nnebär att v har följande krtka ektoner:

producent: ; buffer[] funkton; konument: temp buffer[]; - ; V utökar koden med följande: nteger {ntally }; nteger buffer[]; emaphore nnehåller_data {ntally }; emaphore fnn_utrymme {ntally }; emaphore buffer_lä_krv {ntally }; producent repeat wat(fnn_utrymme); wat(buffer_lä_krv); ; buffer[] funkton; gnal(buffer_lä_krv); gnal(nnehåller_data); untl fale; konument repeat wat(nnehåller_data); wat(buffer_lä_krv); temp buffer[]; - ; gnal(buffer_lä_krv); gnal(fnn_utrymme); untl fale;. aklå (deadlock) kan upptå då alla fyra vllkor är uppfyllda: Mutual excluon: En emafor kan enbart allokera av en proce, där allokerngen ker med wat(). Hold & wat: En proce kan allokera en emafor och edan vänta på att allokera en annan emafor. ex. kan proce_ allokera emafor X med wat() och vänta på att allokera emafor Y.

No preempton: En proce ger frvllgt upp en emafor om den har allokerat genom att anropa gnal(). rcular wat: Följande cykel kan upptå. Proce_ har allokerat emafor X och vll ha emafor Y. Proce_ har allokerat emafor Y och vll ha emafor X.. (a) aklå kan upptå då alla fyra vllkor är uppfyllda: Mutual excluon: En ngreden på bordet är en reur om enbart kan använda av en rökarproce, dv. man kan nte dela på denna reur. Hold & wat: En rökarproce har en ngreden och väntar på den andra ngredenen. No preempton: En ngreden blr tllgänglg när en rökarproce lutar röka. En rökarproce ger frvllgt upp reuren. rcular wat: P papper, tändtckor, b tobak. P proce, P proce, P proce genten har nte placerat ut ngredener ännu: P P har b gent P har b P har P genten placerar ut två ngredener på bordet och en crcular wat upptår:

P P har b gent P har b P har P (b) Gemenamma datatrukturer är: emaphore ngreden_par[] {ntally}; // ngreden_par[] tobak_papper // ngreden_par[] tobak_tändtckor // ngreden_par[] papper_tändtckor emaphore agent {ntally}; Koden för agenten är: agent_proce repeat wat(agent); ätt tll ett värde mellan och ; //välj två ngredener placera ngredenerna på bordet; gnal(ngreden_par[]); untl fale; Koden för proceerna är (<<): rökar_proce_ repeat wat(ngreden_par[]); rök; gnal(agent); untl fale;.5 nta värta fallet: varje proce har allokerat en reur. Då fnn det en reur om nte är allokerad. Denna fra reur kan allokera av en av proceerna om har då na två reurer och därmed kan avluta. Detta medför att det nu fnn två fra reurer om de återtående proceerna kan allokera och därmed kan även de avluta. Hold & wat kan därmed nte upptå och ålede kan nte ytemet hamna baklå. 5

.6 (a) Need Max - llocaton Need D P P 7 5 P P P 6 (b) Ja. Genom att använda o av äkerhet algortmen (afety algorthm) kan v htta en ekven <P,P,P,P,P> om var att ytemet är ett äkert tlltånd. (c) Ja. V använder o av algortmen för hanterng av reurbegäran (reource requet algorthm) för att va detta: () equet (,,,) < Need (,7,5,) () equet (,,,) < valable (,5,,) () Efter en allokerng är ytemet tlltånd äkert. Sekvenen <P,P,P,P,P> var att ytemet befnner g ett äkert tlltånd..7 (a) Följande ytem är ett oäkert tlltånd: llocaton Max valable D D D P 6 5 P 7 5 P 5 5 6 Need D P P 7 5 P (b) P avluta vlket leder tll att valable (,6,6,). Men P behöver kanke nte 7 ntaner av reur (Max är ju trot allt vad en proce behöver väta fall) utan nöjer g med 6 ntaner av reur. När P avluta blr valable (,6,6,), vlket betyder att P kan ockå avluta. Detta betyder att ytemet nte behöver hamna baklå då tlltåndet är oäkert. 6

.8 (a) Nej, baklå kan ej ke ty proceer tvnga ge upp na reurer. Med andra ord gäller nte voluntary releae om är ett av fyra kraven för att baklå ka kunna ke. (b) Ja, en proce kan blockera för alltd om proceen allokerade reurer blr avallokerade genom en ere av begäran från andra proceer..9 V har följande: () Max () () Need Max < m n Max llocaton Om baklå upptår måte llocaton m. V var att ytemet nte kan hamna baklå genom motägelebev. nta att ett baklå har ägt rum, dv. att llocaton m. Detta nnebär då att Need llocaton Need m Max < m n Need < n Detta nnebär att det exterar en proce P ådan att Need. Med andra ord kan P avluta n exekverng och läppa alla reurer om den har allokerat. Då Max nnebär detta att P har åtmntone en reur om den kan läppa. Detta nnebär dock att llocaton < m, vlket mottrder antagandet ovan. Med andra ord kan ytemet nte vara baklå. 7

. Schemaläggnng. (a) Proce Perod Exekverngtd Prortet Lägt Mellan Högt (b) PU: utnyttjandegrad ge av U / / /.85 (c) den är en krtk tdpunkt, ty alla proceer har maxmalt långa vartder. Längden på tracen måte vara mnta multpel av proceerna peroder, dv.. me Executng eady Watng,, 5, 6, 7,, 8 9,,,,, 5,, 6 7, 8, 9,,, 8

9 (d) V utnyttjar följande ekvaton om löe genom fxpunktteraton: Svartden : Svartden för blr (: exekverngtd) då nga proceer med högre prortet kan avbryta, m.a.o. Svartden : har högre prortet än och ålede gäller att hp(). Svartden räkna ut med teraton tll fxpunkt uppnå. ntag ntalt (: exekverngtd) Svartden : Proceer och har högre prortet än proce och därmed är hp() {,}. hp() j j j

. nta att v har tre proceer och välj exekverngtder och peroder enlgt: Proce Perod Exekverngtd 7 Detta nnebär att utnyttjandegraden är,99 7 U lla proceer klarar av na deadlne med EDF då U. För M kan en eller flera proceer ma na deadlne då 75, ) (,99 /. För att äkertälla huruvda deadlne kommer att ma måte v använda o av repontdanaly. Svartden : hp(){} och därmed är. Proce klarar av n deadlne. Svartden : Endat proceen har högre prortet än och ålede har v att hp(){}. eräknng av repontden ger att: Proce klarar av n deadlne. Svartden : Proceer och har högre prortet än och ålede har v att hp(){,}. eräknng av repontden ger att: 6 7 7 7 6 6

8 7 7 7 7 8 8 7 5 > Här er v att proce mar n deadlne.. (a) EDF: För att garantera att alla proceer klarar av na deadlne måte följande gälla n. (b) M: Genom att ätta exekverngtden för proceerna enlgt ) ( / n n n kan man garantera att alla proceer klarar av na deadlne. Obervera att för M kan ett törre använda, men att ovantående är ett tllräcklgt krav.. Prortettlldelnng enlgt M ger Proce Prortet (π) D (a) aket på en emafor är den maxmala prorteten av alla proceer om kan tänka låa emaforen. Därmed har v att ), max( ) ( ), max( ) ( D S ak S ak π π π π (b)

V använder o av algortmen för beräknng av blockerng. Lå lp {Z} beteckna mängden av proceer med lägre prortet än Z. D : Det fnn ngen proce med lägre prortet än proce D och ålede har v att lp { D} {}. Därmed kan ngen proce blockera proce D och därmed är. : V har att lp { } { D}. Proce D låer S och ak( S) π och därmed kan proce D blockera proce. Detta medför att. t S, D : V har att lp { } { D, }. V underöker vlka proceer om kan blockera proce. () Proce D låer S och ak( S) π. Proce D kan blockera. () Proce låer S och ak( S) π. Proce kan blockera. Därmed kan proce blockera högt en gång av proceerna D och. Detta medför att max( t S, D, t S, ). : V har att lp { } { D,, }. Underöker vlka proceer om kan blockera proce. () Proce D låer S och ak( S) π. Proce D kan ej blockera. () Proce låer S och ak( S) π. Proce kan blockera. () Proce låer S och ak( S) π. Proce kan ej blockera. Med andra ord kan endat blockera av och därmed har v att. D t S,.5 Prortettlldelnng enlgt M ger Proce Prortet (π) För att beräkna blockerngfaktorn för varje proce måte v fört beräkna taket på emaforerna: ak( S) max( π, π, π ) ak( S) max( π, π ) ak( S) max( π ) V använder o av algortmen för beräknng av blockerng. Låt lp {Z} beteckna mängden av proceer med lägre prortet än Z. : Det fnn ngen proce med lägre prortet än proce och ålede har v att lp { } {}. Därmed kan ngen proce blockera proce och därmed är.

: V har att lp { } { }. Proce låer S och ak( S) π och därmed kan proce blockera proce. Detta medför att. t S, : V har att lp { } {, }. V underöker vlka proceer om kan blockera proce. () Proce låer S och ak( S) π. Proce kan blockera. () Proce låer S och ak( S) π. Proce kan blockera genom emafor S. () Proce låer S och ak( S) π. Proce kan blockera genom emafor S. Proce blockera högt en gång av proceerna och. Detta medför att max( t S,, t S,, t S, ). V beräknar nu vartderna genom att löa följande ekvaton med fxpunktteraton: j hp() j j Svartden : hp(){} och därmed är Svartden : Endat proceen har högre prortet än och ålede har v att hp(){}. eräknng av repontden ger att: 6 6 Svartden : Proceerna och har högre prortet än och ålede har v att hp(){,}. eräknng av repontden ger att: 9

.6 Följande betecknng använd: Proce Exekverngekven Prortet Släpptd P EaabdE 8 P EbbdddE 5 P EbbaccE P EccaE yx P etyder att proceen exekverar med prortet x och att proceen har tlldelat reur y. ll exempel, betyder a att proceen har fått reur a och att proceen exekverar med prorteten. Preempton av en proce med högre prortet. lockera av en proce med lägre prortet. P E a a b d E P E b P b P P P P P d d d E P E b P b P P P P P P P P P P P P a c c E P E c P c P P P P P P P P P P P P P P P P P P P a E.7 (a) Då reglertorheterna ampla början av varje perod blr den törta reglerfördröjnngen detta fall lka med repontden för repektve proce. En repontdanaly ger att D m, D 6m och D 7m. (b) eglertorheten ampla början av varje perod. Det fnn en fördröjnng beräknngen av regleralgortmen, dv. tyrgnalen blr fördröjd. V modellerar därmed reglerfördröjnngen ( detta fall) enlgt nedan. e D

Detta nnebär att D Y ( ) G ( ) e F ( )( Y, ( ) Y ( )) r vlket efter en omkrvnng blr Y ( ) G ( ) e Gc, ( ) Y ( ) G ( ) e r, F ( ) D D F ( ).8 (a) eglerfördröjnngen är tden mellan amlng av reglertorhet amt beräknng av tyrgnal. Detta motvara av tden det tar att utföra en /D omvandlng av a (t), beräkna F amt att D/ omvandla, vlket är alltå δ δ δ. ad c ad (b) För enkelheten kull antar v att δ ad δ n. etrakta nedantående fgur: (t) a r δ ad δn a(t) δ ad δ c δ ad δ ad δ c δ ad eferengnalen om använd av regulatorn är fördröjd med δ ad. eglertorheten är fördröjd pga. av /D-omvandlng. Detta medför följande modell. e ( δ ad ) c e δ e δ ad e δ ad V har därmed att ( δ c δ ad ) ( δ ad ) δ ad ( ) W ( ) e F( ) ( r ( ) e e ( ) ) vlket efter en omkrvnng ger ( δ ( c δ ad ) W ( ) F( ) e ) Gc ( ) r ( ) ( ) ( δ W ( ) F( ) e ) r. c δ ad.9 etrakta proceen P med peroden. Enlgt egenkap () gäller för en proce j < ) att m j. Vd tdpunkten k km j l j har högre prortet än P (dv. P j om 5

(där l är ett heltal) aktvera alltå P j och P enlgt egenkap (6). Detta medför att när en proce aktvera å kommer ockå andra proceer om har högre prortet att aktvera ockå. En proce kommer ålede att alltd aktvera vd n krtka tdpunkt. Detta medför tllamman med egenkap (5) amt att prorteter är unka (egenkap ()) att vartden kommer att vara maxmal och kontant. eglertorheten ampla vd aktverngtden enlgt egenkaperna () och (6). Fördröjnngen mellan amplng av reglertorhet och beräknng av tyrgnal (reglerfördröjnngen) ge då av vartden, vlket är kontant. Därmed är reglerfördröjnngjtter lka med noll. 6

. ealtdkommunkaton. (a) Se kurltteratur. (b) V har följande Nod Perod (m) Prortet (π) 5 7 V utnyttjar följande ekvaton w w τ bt j hp j, ( ) j w τ bt om löe genom fxpunktteraton och där 5µ och. amar om kcka av n har lägt prortet å dera blockerngfaktor är enlgt defnton noll. ranmontden ge av 5 τ 5. bt µ Svartden : Det fnn nga ramar med högre prortet vlket nnebär att 7µ. Svartden : V beräknar fört w. w τ bt 6µ w w τ bt 7µ w w τ bt 7µ w w w 7µ Svartden för en ram är w τ bt 5µ Svartden : V beräknar fört w. w τ bt µ w w w τ bt 7µ 7

w w w τ bt 7µ w w w 7µ Svartden för en ram är w τ bt 5µ. V har alltå en releae jtter, J J 5m och J 8m För att beräkna vartder med jtter löer v följande ekvaton: w J w τ bt j hp j, J w τ ( ) bt j Svartden : Det fnn nga ramar med högre prortet vlket nnebär att J 57µ. Svartden : V beräknar fört w. w τ bt 6µ w J w τ bt 6µ w J w τ bt 6µ w w w 6µ Svartden för en ram är J w τ bt 55µ Svartden : V beräknar fört w. w τ bt µ w J w J w τ bt 6µ w J w J w τ bt 6µ w w w 6µ Svartden för en ram är J w τ bt 85µ 8

. (a) Den kortate tranmontden för en ram ge av ( 8n 7) τ där n 8 är antal byte data. Meddelandet v ka kcka är byte och ålede får v dela upp meddelandet två ramar. Detta nnebär att 7τ. (b) På grund av bttuffng kan antal kckade btar öka, vlket leder tll att tranmontden för en ram är maxmalt 8n 8 n 7 τ bt. Då v måte dela upp meddelandet två ramar får v det maxmala tranmontden τ bt. bt bt 9

. Övrga uppgfter. for(y;y<;y) { f(tet(y)) { for(x;x<6;x) { f(mage[x][y]) { nt weght; 5 weghtcalc_weght(mage,x,y); 6 x_umx*weght; 7 y_umy*weght; 8 quareweght; } } } } ad MX MIN 5*(55) 5*(55) *(8) *(8) *(5)*6*(55) *6* 5 *6*(55) 6 *6*(955) 7 *6*(955) 8 *6*(55) Summa 9675 55

fogat övnngmateral.6 Följande betecknng använd: yx P etyder att proceen exekverar med prortet x och att proceen har tlldelat reur y. ll exempel, betyder a att proceen har fått reur a och att proceen exekverar med prorteten. Preempton av en proce med högre prortet. lockera av en proce med lägre prortet. P P P P ****************** P P P P