1 / 17

Innehåll

Innehåll. Odelbara operationer (Atomic actions) Bakåt fel-återhämtning (Backward Error Recovery, BER) Framåt fel-återhämtning (Forward Error Recovery, FER) Asynkrona aviseringar (notifications) POSIX-signaler Asynkron händelse-hantering (Event Handling) i RTJ

ull
Download Presentation

Innehåll

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Innehåll • Odelbara operationer (Atomic actions) • Bakåt fel-återhämtning (Backward Error Recovery, BER) • Framåt fel-återhämtning (Forward Error Recovery, FER) • Asynkrona aviseringar (notifications) • POSIX-signaler • Asynkron händelse-hantering (Event Handling) i RTJ • Asynkron överföring av kontroll (Transfer of Control) i Java

  2. Odelbara operationer — Motivering • Parallella processer möjliggör att parallellism i den verkliga världen återspeglas i programmen • Samverkan mellan 2 processer har uttryckts i termer av en enskild kommunikation; detta är inte alltid fallet, en följd av kommunikationer kan behövas

  3. Odelbara operationer — Motivering • Det kan vara nödvändigt för mer än två processer att växelverka för att utföra den önskade händelsen • De inblandade processerna måste se ett konsistent system-tillstånd • Med parallella processer är det enkelt för grupper av processer att störa varandra • Det krävs att varje grupp av processer exekverar sin samverkande aktivitet som en odelbar operation

  4. Odelbara operationer — Definition En operation är odelbar om processerna som utför den: • ej är medvetna om existensen av några andra aktiva processer, och inga andra aktiva processer är medvetna om processernas aktivitet under den tid processerna utför operationen • ej kommunicerar med andra processer under det att operationen utförs andy: Give example of lecture: no interference, no sneaking out, late arrivals allowed, Another example: airplane: all systems need to know altitude, important they all have the same altitute

  5. Odelbara operationer — Definition En operation är odelbar om processerna som utför den: • ej kan detektera någon tillståndsändring förutom de som utförs av dem själva, och om de ej avslöjar sina tillståndsändringar förrän operationen är avslutad • kan betraktas, med avseende på andra processer, vara odelbar och omedelbar, så att effekterna på systemet sker som om de vore insprängda (interleaved) i motsats till samtidiga (concurrent) andy: Give example of lecture: no interference, no sneaking out, late arrivals allowed, Another example: airplane: all systems need to know altitude, important they all have the same altitute

  6. Struktur Action Controller Role 1 Entry Protocol action component Exit Protocol leave Role 2 Entry Protocol action component Exit Protocol leave Role 3 Entry Protocol action component Exit Protocol leave

  7. Struktur Role 3 Role 2 Role 1 Entry Protocol Entry Protocol Entry Protocol Exit Protocol Exit Protocol Exit Protocol leave leave leave Action Controller action component action component action component

  8. Exception raised here Undantag och nästlade odelbara operationer Action A P1 Action B P1 P2 P3 P4 P5 P6 time

  9. ATC i RTJ • Tillåter en tråd att interrupta en annan tråd • Integrerad i Javas undantags-hantering och interrupt-möjligheter • RTJ kräver att varje metod indikerar om den är förberedd för att tillåta ATC • Användning av ATC kräver • deklaration av en AsynchronouslyInterruptedException (AIE)

  10. ATC i RTJ • identifiering av metoder vilka kan interruptas genom att använda en throw-sats • signalering av en AsynchronouslyInterruptedException till en tråd (t) • Anrop av interrupt()ger en allmän AIE • ATC skjuts upp under synkroniserade metoder och avslutande(finally)-satser

  11. Sammanfattning • När processer växelverkar, är det nödvändigt att styra deras IPC så att återhämtnings-procedurer kan programmeras • Odelbara operationer(atomic actions) är en mekanism genom vilken program, som består av många aktiviteter, kan struktureras för att underlätta skadebegränsning och felåterhämtning

  12. Sammanfattning • Operationer är odelbara (atomic) om de kan betraktas, med avseende på andra processer, vara odelbara och omedelbara, så att effekterna på systemet är som om de vore insprängda (interleaved) i motsats till samtidiga (concurrent) • En odelbar operation har väldefinierade gränser och kan nästlas

  13. Sammanfattning • En konversation är en odelbar operation med möjligheter till bakåt fel-återhämtning (BER) • Vid inträde, sparas processens tillstånd; inuti, är en process endast tillåten att kommunicera med andra processer som är aktiva i konversationen samt med allmänna resurshanterare • För att lämna konversationen måste alla processer som är aktiva i konversationen ha klarat sina acceptans-test

  14. Sammanfattning • Om någon process ej klarar sitt acceptans-test får alla processer sina tillstånd återställda och exekverar sina alternativa moduler • Konversationer kan vara nästlade, och om alla alternativ i en inre konversation misslyckas så måste återhämtning utföras på en yttre nivå

  15. Sammanfattning • Framåt fel-återhämtning (FER) via undantags-hanterare kan också läggas till odelbara operationer • Om ett undantag framkallas av en process så måste alla aktiva processer i operationen hantera det • Två speciella frågeställningar vid detta tillvägagångssätt är hanteringen av samtidigt framkallade undantag respektive undantag i interna operationer

  16. Sammanfattning • Real-Time Java tillhandahåller en asynkron överföring av kontroll(ATC)-mekanism baserad på avslutande(termination)-modellen • RTJ är integrerad i undantags- och tråd-interrupt-mekanismerna • Detta tillvägagångssätt för avslutande, i kombination med undantag , tillåter implementering av återhämtningsbara operationer

  17. Sammanfattning • En asynkron aviserings-mekanism kan användas för att underlätta program-återhämtning • POSIX tillhandahåller signaler och mekanismer för upphävande av trådar • En signal kan hanteras, blockeras eller ignoreras; tyvärr är det inte lätt att programmera återhämtningsbara operationer med användande av en återupptagande(resumption)-modell för asynkrona händelser

More Related