TENTAMEN TDD7 Realtds- och processprogrammerng Datum: December 006 Td: 8- Lokal: TER Jourhavande-lärare: Mehd Amrjoo (Telefonnummer: 0-89, 07-66996). Hjälpmedel: Poängantal: Engelsk lexkon Mnräknare 0p Betyg: F,, and 5: U: - 9 p : 0-6 p : 7 - p 5: - 0 p INSTRUTIONS: Wrte your name, class and personal number (sv. personnummer) on each sheet of paper that you hand n. Further, pages should only contan one answer per page (answers to subquestons can be on the same page). You are asked to only answer on the front page of the paper. Sort all the sheets that you hand n wth respect to the number of the queston. Make sure your answers are presented clearly and precsely. Ponts wll not be gven to answers that cannot be read due to bad handwrtng. Your answers can be presented n Swedsh or Englsh. Your answers shall clearly show the method for the soluton. A correct answer wthout any explanaton wll not be gven any credts (fgures can be of help when descrbng but should be accompaned by a text descrpton). In those cases where you are n doubt about the queston, wrte down your nterpretaton and your assumptons and answer the queston based on the nterpretaton. Note that a correct answer embedded n errors may gve reducton n ponts, so make sure your answers are to the pont. Results are reported no later than 007-0-0. Good luck!!! Mehd Amrjoo Examner TDD7
OBS Några av nedanstående lösnngsförslag är formulerade kortfattat. En mer utförlg beskrvnng behövs för att erhålla full poäng på varje uppgft. Q: Processer, synkronserng, och kommunkaton (a) Vlka vllkor måste vara uppfyllda samtdgt för att baklås (deadlock) ska kunna ske? Förklara dessa vllkor. ( poäng) Följande vllkor måste vara uppfyllda ) Mutual excluson: Det fnns en resurs som kan användas av endast en process åt gången ) Hold and wat: En process har allokerat (låst) en resurs och väntar på att allokera fler resurser som sn tur har allokerats av andra processer ) No preempton: Processer avallokerar (släpper) resurser endast frvllgt. ) cular wat: Det fnns en mängd {P 0, P,, P n } processer som väntar på resurser där P 0 väntar på en resurs som har allokerats av P, P n- väntar på en resurs som har allokerats av P n och P n väntar på en resurs som har allokerats av P 0. (b) Anta att v har två processer som synkronseras enlgt följande: process_a repeat... wat(s) krtsk_sekton; sgnal(s)... untl false; process_b repeat... wat(s) krtsk_sekton; wat(s)... untl false; Förklara vad som händer då. S är ntalt lka med 0. S är ntalt lka med. ( poäng). Baklås kommer att ske då process_a eller process_b utför en wat() operaton.. Baklås kommer att ske då process_b har exekverat krtsk_sekton och utför en wat() operaton då S har värdet 0. (c) Låt S vara en heltalssemafor (countng semaphor). Vsa hur operatonerna wat och sgnal kan mplementeras för S med hjälp av två bnära semaforer och en heltalsvarabel: bnary-semaphore S, S; nt ; Varabeln anger det ntala värdet på semaforen S. ( poäng)
Operatonen wat mplementeras enlgt: wat(s); =-; f ( < 0) { sgnal(s); wat(s); } sgnal(s); Operatonen sgnal mplementeras enlgt: wat(s); =+; f ( <= 0) sgnal(s); else sgnal(s); (d) Betrakta följande bld av ett system: Allocaton (Allokerng) Max Avalable ( Tllgänglga) A B D A B D A B D P 0 0 P 0 6 5 7 5 P 0 5 6 0 5 6 P 0 7 5 7 5 P5 0 6 5 6 6 5 6 Besvara följande:. Är systemet ett säkert (safe) tllstånd? ( poäng). Process P begär följande ytterlgare resurser (0,,0,0). Kan denna begäran tllgodoses omedelbart? ( poäng). Ja, genom att använda sg av Banker s safety algortm ser v att systemet är ett säkert tllstånd då det fnns en säker sekvens av processer som ges av P, P, P5, P, P.. V undersöker med resource request algorthm: a. Request (0,,0,0) Need = (0,,,) b. Request (0,,0,0) Avalable = (,,,0) c. Om v tlldelar (0,,0,0) tll P kommer systemet att ej vara ett säkert tllstånd och därmed kan baklås uppstå. P:s begäran kan ej tllgodoses omdelbart.
Q: Resurshanterng och schemaläggnng (a) Betrakta följande processmängd: Process Perod (T) Relatv Deadlne (D) WET () P 0 0 P 6 6 P P 5 5. Kommer alla processer att klara av sna deadlne om earlest deadlne frst (EDF) används?. Kommer alla processer att klara av sna deadlne om rate monotonc (RM) används? ( poäng). Ja, alla processer kommer att klara av sna deadlne då. För RM har v att = 0.8 ( = T V måste alltså nu undersöka med svarstdsanalys som ger följande: R = 5 D R R = = 0.8 T = D = D R = D Alltså kommer alla processer att klara av sna deadlne om RM används. (b) Anta att v har följande processer där D = T. Process Perod (T) WET () P 0 c P 5 c P 80 0c P 0 c. / ) = 0.76 WET beror på val av PU. V vll av kostnadsskäl välja den PU med mnst klockfrekvens som alltså resulterar högst WET. Bestäm det största c så att processerna klarar av sna deadlne om:
. earlest deadlne frst (EDF) används. rate monotonc (RM) används. Genom att lösa c c 0c c + + + 0 5 80 0 får v att maxmala c, 8. ( poäng). Då peroderna är harmonska gäller följande test som är exakt: n= T V får alltså samma resultat som för EDF, dvs c, 8. Ovanstående test nses även då RMs prortetstlldelnng och EDFs prortetstlldelnng sammanfaller detta fall då v har peroder som är harmonska dvs peroderna är multpler av varandra (rta upp aktverngstder och absoluta deadlne och studera hur EDF och RM skulle ha tlldelat prorteter). Ett annat sätt att htta största c är genom att ställa upp en svarstdsekvaton för P med R =T : T T T 0c + c+ c+ c= T T T T (c) Ett system består av fyra cke-perodska processer P, P, P och P. Dessa processer delar på de gemensamma resurserna a, b, c och d. Betrakta följande egenskaper: Process Exekverngssekvens Prortet Släpptd (release tme) P EaaccE (Högst) 8 P EddbE 5 P EbbcdE P EbbaE (Lägst) 0 E betecknar exekverng utan användnng av resurs, medan a, b etc. representerar exekverng med resurs. När en resurs tlldelas en process kommer processen att bbehålla resursen tlls den nte längre används. Tll exempel nnebär bb att processen bbehåller resursen under två tdsenheter. Under antagandet att orgnal celng prorty protocol (OPP) protokollet används, vsa den faktska exekverngssekvensen. OPP kallas även för prorty celng protocol. Använd bfogad tabell (se ssta sdan). ( poäng) P E a a c c E P E d P P P P P P d b E P E b P b P P P P P P P P P P c d E P E b P b P P P P P P P P P P P P P P P P a E
Q: Schemaläggnng av reglerprocesser Anta att v hart tre regulatorer som betecknas med F, F, and F enlgt nedan (0<<). Varje regulator mplementeras som en perodsk process. F mplementeras som process P, F mplementeras som process P, and F mplementeras som process P. Processernas perod samt största exekverngstd (WET) ges av nedanstående tabell. Process Perod T (ms) WET (ms) Maxmal tllåten reglerfördröjnng W (ms) P 5 P 0 0 P 8 Reglerstorheten y (t) och referenssgnalen y r, (t) samplas när P aktveras med hjälp av tme-trggered nput (TTI). Tll exempel samplas sgnalen y (t) vd tdpunkter 0ms, 5ms, 0ms, 5ms, och y (t) samplas vd tdpunkter 0ms, 0ms, 0ms osv. Styrsgnalen u (t) aktueras slutet av P :s exekverng (tme-trggered output används nte). Låt W vara den maxmala reglerfördröjnngen (control delay) som resulterar ett stablt system. En reglerfördröjnng större än W ger ett nstablt system som alltså ej önskas. Anta att tdfördröjnng pga A(D)/D(A)-omvandlng är noll och att v nte kan dela upp processerna subprocesser. Besvara följande:. Föreslå och motvera en schemaläggnngsalgortm som uppfyller ovanstående krav på perod och maxmal tllåten reglerfördröjnng. ( poäng). Vad blr den faktska maxmala reglerfördröjnngen när dn föreslagna schemaläggnngsalgortm används? ( poäng). Ta fram en överförngsfunkton G c, (s) som relaterar nsgnalen Y r, (s) och utsgnalen Y (s) på det slutna systemet enlgt Y s) G Y ( ) ( = c, r, s där den faktska maxmala reglerfördröjnngen (från deluppgft ) är nkluderad. ( poäng). Sgnalerna y (t) och y r, (t) samplas vd aktverngspunkterna och styrsgnalen aktueras när P exekverar klart. Därmed blr reglerfördröjnngen lka med svarstden R för P. V vll att R W. Alltså har v en relatv deadlne D =W T. V schemalägger med deadlne monotonc (DM) då DM är optmal för system med D T. Detta nnebär att processerna får statska prorteter enlgt π =, π =, π =. En svarstdsanalys ger att alla processer kommer att klara av sna deadlne.. Den faktska maxmala reglerfördröjnngen Q är som nämnt ovan lka med svartstden. V gör en svarstdsberäknng och fnner att:
Q = R Q = ms = 0 ms Q = R = 8 ms. V har följande modell: = R e sr Härlednng av överförngsfunkton: Y = G e F G F e Y = + G F e sr ( Y Y ) sr r, sr Y r, = G c, Y r, Q: Realtdskommunkaton Betrakta ett AN nätverk som består av noder, se tabellen nedan. Nod Ram ID T (ms) Meddelandelängd (bytes) n 00 5 n 000 7 7 n 00 0 n 00 8 0 J (ms) Nod n skckar ramar med ID 00 och med peroden 5ms. Nod n skckar ramar med ID 000 och med peroden 7ms. Nod n skckar ramar med ID 00 och med peroden 0ms. Nod n skckar ramar med ID 00 och med peroden ms. Varje ram nnehåller ett meddelande med längden enlgt ovanstående tabell. Tex vll n skcka meddelanden som är bytes. Transmssonstden ( τ bt ) för en bt är x 0-6 s. Tdsvaratoner (J) kötden ges av ovanstående tabell. (a) Beskrv hur noderna n,, n kommer överens om vlken ordnng ramar ska skckas då alla noder vll skcka samtdgt, dvs beskrv medlngsprocessen. ( poäng) (b) Beräkna största transmssonstden för ramar som skckas av n,, n. ( poäng) Största transmssonstden för ramarna genererade av n,, n ges av: + 8n = 8 n+ 7+ τ bt där n är längden på meddelandet bytes. Detta medför att:
= (+ 7+ ) τ = 85τ = 85τ bt bt = (6+ 7+ ) τ bt bt = 85τ bt = 5τ bt (c) Beräkna blockerngsfaktorn (blockng tme) för respektve ram. ( poäng) Blockerngsfaktorn B för respektve nod är: B = max(, ) = 5τ B B B = max(,, = 0τ bt = max( ) = 85τ bt bt ) = 5τ bt (d) Beräkna svarstden för ramar skckade av noderna n,, n (baserad på tden det tar att skcka hela ramen). ( poäng) Svarstderna för ramarna erhålles genom följande ekvatoner: w V vsar svarstdsberäknngen för n : w w w w R 0 = τ = τ = τ = w = J bt bt bt + B + B + B = w + w = 86τ 0 w + J + T w + J + T + bt τ bt De övrga svarstderna är: R = 90µ s R R = τ R = J bt = 70µ s = 75µ s + B + + w + F hp( F ) j τ bt w + J T j 0 w + J + T w + J + T = 075µ s j j = τ = τ bt bt
Namn Personnummer Tabell för fråga Q. Lämna n denna kopa. Följande betecknng används: yx P Betyder att processen exekverar med prortet x och att processen har tlldelats resurs y. Tll exempel, betyder a att processen har fått resurs a och att processen exekverar med prorteten. Preempton av en process med högre prortet. Blockeras av en process med lägre prortet. P P P P
Tabell för fråga Q. Använd denna kopa för antecknngar. Följande betecknng används: yx P Betyder att processen exekverar med prortet x och att processen har tlldelats resurs y. Tll exempel, betyder a att processen har fått resurs a och att processen exekverar med prorteten. Preempton av en process med högre prortet. Blockeras av en process med lägre prortet. P P P P ****************** P P P P