Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 11: controle van de hulpmiddelen.

Slides:



Advertisements
Verwante presentaties
Tevredenheids onderzoek Door Lizanne Jespers HBO-V studente Maart 2014
Advertisements

De zin en onzin van escrow
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Doublet deel 1 – de basis.
Veilig naar school een zorg voor ons allemaal
CIMSOLUTIONS B.V. CIMSOLUTIONS Automation for Industry & Business SIG Embedded “Proces Ellende” André Vink CDP real-time embedded 28 september 2005.
Evaluatie van MS Exchange 2000 en opzetten van een server voor wereldwijde uitwisseling van projectinformatie Bertels David 3ICT1 Stageplaats: Acros Organics.
Downloaden: Ad-aware. Downloaden bestaat uit 3 delen: •1. Zoeken naar de plek waar je het bestand kan vinden op het internet •2. Het nemen van een kopie.
Beter afspelen.
“ff Anders”.  Het thema van dit jaar is “ff Anders” 2.
Van uitleggen leer je het meest
PROS2 Les 2 Programmeren en Software Engineering 2.
Stijn Hoppenbrouwers Software Engineering les 1 Algemene inleiding en Requirements Engineering.
Inkomen les 17 Begrippen & 81 t/ 84
Programmeren met Alice
Resultaten bevraging voorzieningen “participatie ouders”
Ronde (Sport & Spel) Quiz Night !
BESTURINGS SYSTEMEN Vincent Naessens.
Klassieke AO Leseenheid1
Persoonsvriendelijk plannen (PVP)
Hoofdstuk 3 – Gegevens verzamelen
Gezonde Relaties
Hoofdstuk 6: Controle structuren
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Functies Records Dynamische gegevenstructuren Macro’s C.
VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
HANDLEIDING: REGISTREREN VAN VACCINATIES Q-KOORTS
Internationale hogeschool Breda Wiskunde bij het ontwerpen en evalueren van verkeerslichtenregelingen Wachten voor een verkeerslicht duurt altijd te lang…..
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Assenstelsels en het plotten van Functies in LOGO
IJspakketten Annette Ficker Tim Oosterwijk
Geheugenbeheer ICT Infrastructuren hoofdstukken 7 en 8.1.
Opleiding ICT © J.W. Jonker Dia 1/19 Systemen Besturingssoftware Windows XP Mark van Heck.
Hoofdstuk 18 Veranderingen in organisaties tot stand brengen
Real-Time Systems (RTSYST) Week Priority inheritance voorbeeld taakprioexecutionrelease time d4EEQVE4 c3EVVE2 b2EE2 a1EQQQQE0.
Sparen, Kapitaalaccumulatie, en Productie - De Lange Termijn
Werken aan Intergenerationele Samenwerking en Expertise.
1 juni 2010 Verdiepingsdag Toezicht Integraal Toezicht nu en in de toekomst.
Elektriciteit 1 Basisteksten
DEEL 2 LES 20 De verdieping Les 20 Signaleren Versie
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
, 17h30Recursie 1 Inleiding tot recursie Karel Popelier.
Hoofdstuk 7 de Multi (sterke variant, verdediging ertegen)
Les 12: DTD.
MET DANK AAN COLLEGA’S IN DEN LANDE ! vee 2012
Hoofdstuk 5 Vijfkaart hoog, eerste verkenning 1e9 NdF-h1 NdF-h5 1 1.
Concurrency en Deadlock ICT Infrastructuren David N. Jansen Stallings hoofdstukken 5 en 6.
De financiële functie: Integrale bedrijfsanalyse©
Kirti Zeijlmans MSc Rijksuniversiteit Groningen Voor meer informatie:
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 10: atomaire acties, gelijktijdige processen en betrouwbaarheid.
Les 3: Verkeer TOETS.
Etappe 19 Speelfiguren 2e19.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Strijd tegen de zonde?.
Les 2: Interactie in je space door middel van klikbare objecten en actionscript. Wat is actionscript en programmeren?
Hoofdstuk 23 Eliminatie en ingooi
Floodcom lesworkshop Hoofdpresentatie les
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 12: mogelijkheden om met tijd om te gaan.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
1 XSLT processing & control Datamodellering 2006.
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 8: synchronisatie en communicatie met gedeelde variabelen.
DEEL 2 LES 22a De verdieping Les 22a De tweede hand versie
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Docentinstructie: Het is aan te bevelen de eerste dia’s klassikaal te tonen en met uitleg te bespreken. Als na zes dia’s een korte demo van Celsius/Fahrenheit.
Windows niet meer naar huis laten bellen Hoe kunnen we beletten dat windows10 alles gaat verklikken aan grote broer thuis.
TirPrs06: Wachttijdtheorie & simulatietechniek
Hoe werkt bibliografische software?
Het postkantoor van windows
OPENINGSCASE: De Victoria Country Fire Authority in Australië geeft hulp met nieuwe informatiesystemen.
Besturingssystemen Ga verder met een muisklik..
Transcript van de presentatie:

slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 11: controle van de hulpmiddelen

RTP slide 2Programmatuur voor real-time controleYolande Berbers overzicht n beheer van hulpmiddelen n expressieve kracht en gebruiksgemak van verschillende synchronisatieprimitieven ivm controle van hulpmiddelen u eventueel later n impasse (deadlock)

RTP slide 3Programmatuur voor real-time controleYolande Berbers beheer van hulpmiddelen n software die een hulpmiddel controleert (of beheert) u software is passief: protected object, monitor u software moet een actieve rol spelen: server (proces, taak) n implicaties van hulpmiddelen-allocatie ivm betrouwbaarheid u een proces dat vroegtijdig stopt kan nog een hulpmiddel vast hebben u processen kunnen ‘verhongeren’: doordat sommige processen hulpmiddelen monopoliseren kan het gebeuren dat andere processen nooit aan de bak komen u processen kunnen in een impasse geraken: een situatie waarbij een aantal processen geen vooruitgang maken en daarbij nog hulpmiddelen blokkeren ook

RTP slide 4Programmatuur voor real-time controleYolande Berbers beheer van hulpmiddelen n om modulariteitsredenen worden hulpmiddelen ge- encapsuleerd u bv in Ada: body van resource kan een taak of een protected body bevatten u in POSIX gebruikt men conditie variabelen en mutexen om monitors te verwezenlijken package Resource_Control is type Resource is limited private; function Allocate return Resource; procedure Free (This_Resource : Resource) ; private type Resource is... end Resource_Control;

RTP slide 5Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n twee soorten synchronisatieprimitieven u conditie-synchronisatie: gebruikt in monitors u synchronisatie met wachters (avoidance synchronisation) gebruikt bij comm. met boodschappen en bij protected objects n expressieve kracht: mogelijkheid om synchronisatie- beperkingen op te geven met de aangeboden primitieven n gebruiksgemak omvat u expressieve kracht: hoe gemakkelijk kun je synchronisatie- beperkingen aanduiden met de aangeboden primitieven u combinatiemogelijkheden: hoe gemakkelijk kun je de verschillende beperkingen combineren om complexe synchronisatienoden te realiseren

RTP slide 6Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n overzicht van de verschillende synchronisatiebeperkingen: verder uitgewerkt u type van aanvraag u volgorde van de aanvragen u toestand van hulpmiddelenbeheerder en zijn objecten (gegevens) u parameters van de aanvraag u prioriteit van de aanvrager n twee linguïstieke aanpakken: u conditioneel wachten l gebruikt bij monitors l aanvragen die niet toegelaten kunnen worden moeten in een wachtrij wachten u vermijden (met wachters) l de wachters houden aanvragen die niet voldoen tegen

RTP slide 7Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n type van aanvraag u hulpmiddelbeheerder kan voorrang willen geven afhankelijk van het type van aanvraag u bv write-aanvragen voorrang geven op read-aanvragen u monitors: alle procedures hebben gelijke voorrang (zie ook oefeningen) u Ada: alle entries, procedures en functies hebben gelijke voorrang maar ook mogelijkheid van gebruik van Count- attribuut in een guard (zie verder ook de oefeningen) entry Write when not Manager_Locked and Read’Count = 0 is... end Write;

RTP slide 8Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n volgorde van de aanvragen (van belang voor ‘eerlijkheid’ en om verhongering te voorkomen) u monitors: alle aanvragen staan in één enkele wachtrij, die FIFO geordend is u Ada: l elke entry heeft eigen wachtrij, die elk FIFO geordend zijn l er is geen regel over de verhouding van de verschillende wachtrijen onderling (dus niet noodzakelijk FIFO) l wenst men echt FIFO, dan moet men met dubbele oproepen werken (dit heeft nogal wat nadelen, zie verder) Server.Register; Server.Action (...);

RTP slide 9Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n toestand van hulpmiddelenbeheerder en zijn objecten (gegevens) u voorbeelden: een hulpmiddel kan enkel aangevraagd worden als het vrij is (zoals schrijven in een bepaald bestand) of als er plaats is (bv een element toevoegen in een buffer) u monitors: test, gevolgd door mogelijk wait op conditie-variabele u Ada: guard die direct test

RTP slide 10Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n parameters van de aanvraag (bv identiteit van aanvrager, grootte van de aanvraag) u monitor: l test op hoeveelheid hulpmiddel dat aangevraagd wordt, gevold door mogelijk wachten op conditievariabele l wanneer hulpmiddelen vrijgegeven worden maakt men wachtenden wakker, totdat een geschikte kandidaat gevonden wordt u Ada: l zie volgende slide

RTP slide 11Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n parameters van de aanvraag u Ada: l probleem: guards kunnen enkel gebruik maken van interne variabelen en niet van de parameters van de aanvraag l er kan dus niet getest worden op bv de grootte van de aanvraag voordat men de aanvraag toelaat l oplossing 1: s indien grootte een niet te groot discreet type is: voorzie een ‘familie’ van allocate-entries, 1 per soort grootte (analoog behandeling van type van aanvragen) s als discreet type erg groot is: dubbele oproep nodig –best ge-encapsuleerd zodat ‘gebruiker’ het niet merkt –programma erg ingewikkeld (zie vb pp )

RTP slide 12Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n parameters van de aanvraag u Ada : l intermezzo: probleem bij dubbele aanvragen s een abort zou kunnen optreden tussen de twee oproepen –of de server verwacht absoluut de tweede oproep en komt zo in problemen –of men schrijft server met een timeout op de tweede oproep om dit op te vangen, maar timeout kan ook te kort zijn in een bepaalde situatie, en het proces doet dan nog een onverwachte tweede oproep l oplossing 2: gebruik maken van ‘requeue’ faciliteit van Ada (zie verder)

RTP slide 13Programmatuur voor real-time controleYolande Berbers expressieve kracht en gebruiksgemak n prioriteit van de aanvrager u processen hebben prioriteiten l de scheduler gebruikt die in zijn policy l maar dit heeft meestal geen invloed op wachtrijen u prioriteit kan meegegeven worden bij de parameters (in functie bv van identiteit van aanvrager): zie behandeling van parameters u eventueel kunnen verschillende soorten entries voorzien worden voor de verschillende soorten prioriteiten (bv een aparte entry voor hoogdringende aanvragen): zie behandeling van type van aanvraag u zowel in Ada als in POSIX kan een prioriteit opgegeven worden voor de verschillende wachtrijen

RTP slide 14Programmatuur voor real-time controleYolande Berbers requeue-faciliteit in Ada n oplossing voor het gebrek aan expressiviteit inherent aan synchronisatie met wachters (wanneer men geen test kan doen op de parameters van de aanvraag) n basis van de requeue-faciliteit: u een aanvraag die toegelaten werd kan weer teruggeplaatst worden achter een entry l dit kan de entry zijn waar het toegekomen is l of een andere entry van de taak of van het protected object l of een entry van een andere taak of protected object u meest gebruikt: plaatsen in een andere entry van de taak of van het protected object

RTP slide 15Programmatuur voor real-time controleYolande Berbers impasse n eenvoudig vb van impasse (processen wachten): u proces A heeft printer toegewezen gekregen en wacht op band u proces B heeft band toegewezen gekregen en wacht op printer u er is geen tweede printer noch een tweede band n eenvoudig vb van livelock (processen voeren uit maar maken geen vooruitgang): u proces A heeft de printer toegewezen gekregen en polt actief om te zien of de band vrijkomt u proces B heeft de band toegewezen gekregen en polt actief om te zien of de printer vrijkomt u er is geen tweede printer noch een tweede band n verhongering: een proces krijgt nooit het aangevraagde n def van liveness: iets wat uiteindelijk ooit zal gebeuren

RTP slide 16Programmatuur voor real-time controleYolande Berbers impasse n 4 noodzakelijke voorwaarden voor impasse u wederzijdse uitsluiting bij gebruik van hulpmiddel u er zijn processen die hulpmiddelen vast hebben en wachten op andere u men kan geen hulpmiddelen afpakken wanneer ze toegekend zijn (geen pre-emption van hulpmiddelen) u circulaire wachtrij: er bestaat een gesloten ketting van processen die op hulpmiddelen wachten bezet door het volgende proces

RTP slide 17Programmatuur voor real-time controleYolande Berbers impasse n 3 methodes voor het behandelen van deadlock u voorkomen van impassen u vermijden van impassen u detecteren van een impassen en deze breken n voorkomen van impassen u analyse van programma en bewijzen dat impassen niet kan voorkomen: erg moeilijk met laag niveau primitieven zoals semaforen u er voor zorgen dat 1 van de 4 voorwaarden nooit voorkomt (zie volgende slide)

RTP slide 18Programmatuur voor real-time controleYolande Berbers impasse n voorkomen van impassen : er voor zorgen dat 1 van de 4 voorwaarden nooit voorkomt u wederzijdse uitsluiting l moeilijk: sommige hulpmiddelen zijn gewoon exclusief u vast hebben en wachten l altijd alle hulpmiddelen tegelijk aanvragen (alles of niets) l leidt tot inefficiënt gebruik van de hulpmiddelen u geen hulpmiddelen afpakken l wel afpakken: moeilijk om toestand van proces te herstellen u circulaire wachtrij: l strikte volgorde vastleggen tussen de hulpmiddelen l hulpmiddelen mogen enkel in die volgorde aangevraagd worden

RTP slide 19Programmatuur voor real-time controleYolande Berbers impasse n vermijden van impassen u dit gebeurt dynamisch u van elk proces moet bijgehouden worden l wat reeds gereserveerd is l wat aangevraagd wordt l wat totaal nodig is u toestand is veilig als er een volgorde van uitvoering bestaat zodat geen impasse voorkomt u volgende slide geeft een eenvoudig voorbeeld (met 1 soort hulpmiddel) u vaak niet zo eenvoudig, daarom zijn er moeilijke algoritmen om dit op te lossen, bv het Banker’s algoritme

RTP slide 20Programmatuur voor real-time controleYolande Berbers impasse n vermijden van impassen u voorbeeld: systeem met 12 bandeenheden u eerste geval: veilige toestand omdat er nog 3 bandeenheden vrij zijn en P1 dus kan eindigen, dan zijn er genoeg vrij opdat P0 zou kunnen eindigen en dan zijn er genoeg voor P2 processheeftmax nodig P0510 P124 P229 u tweede geval: onveilige toestand omdat er maar 2 meer vrij zijn; P1 kan nog eindigen maar daarna kunnen noch P0 noch P2 iets doen procesheeftmax nodig P0510 P124 P239

RTP slide 21Programmatuur voor real-time controleYolande Berbers impasse n detecteren van een impassen en deze breken u vermijden van impasse moeilijk en niet haalbaar: l maximale noden van een toepassing zijn vaak door systeem (en soms door te toepassing) niet gekend l kost voor het systeem is erg hoog u detectie (ook wel moeilijk) gebaseerd op volgende kennis: l wat is er reeds toegekend l op wat wachten processen l met deze informatie een grafe opbouwen (zie volg slides) s grafen reduceren om alle processen die normaal kunnen eindigen er uit te halen s kijken of er een cyclus optreedt

RTP slide 22Programmatuur voor real-time controleYolande Berbers impasse n grafen voor het detecteren van impassen: P1P2P4P3 R1 R2 deze grafe kan gereduceerd worden (zie volgende slide)

RTP slide 23Programmatuur voor real-time controleYolande Berbers impasse n gereduceerde grafe: er is geen impasse P1P2 R1 R2

RTP slide 24Programmatuur voor real-time controleYolande Berbers impasse n grafe met een cyclus, dus een impasse P1P2 R1 R2

RTP slide 25Programmatuur voor real-time controleYolande Berbers impasse n het breken van een gedetecteerde impasse u delen van een hulpmiddel (kan meestal niet want exclusief) u een proces vroegtijdig stoppen (is nogal drastisch) u een hulpmiddel afpakken l dit kan gecombineerd worden met achterwaarts herstel l keuze van wat moet afgepakt worden van wie is niet zo eenvoudig