Concurrency en Deadlock ICT Infrastructuren David N. Jansen Stallings hoofdstukken 5 en 6.

Slides:



Advertisements
Verwante presentaties
Test computertermen: Deze test gaat over de vorige les. Je krijgt steeds een vraag te zien waarop je het juist antwoord moet aanklikken. Is je antwoord.
Advertisements

2 beeldschermen op één PC
WORKSHOP. EEN CPU MAKEN VAN UW COMPUTER. Dinsdag 05 / 04 / Door; Tom Roef, bestuurslid. Sodipa Computerclub.
CIMSOLUTIONS B.V. CIMSOLUTIONS Automation for Industry & Business SIG Embedded “Proces Ellende” André Vink CDP real-time embedded 28 september 2005.
LICHT – ZIEN EN LICHTBRONNEN
Autisme en Mindmap Thuis en op School
HM-ES-th2 Les 9 en 10 Electronic System Level Design and Verification.
Programmeren met Alice
Thinkquest2 versie 2013 info: vanaf februari 2013.
ICT Infrastructuren 26 november 2007 David N. Jansen.
Risico’s en gevaren van techniek
BESTURINGS SYSTEMEN Vincent Naessens.
Opleiding ICT © J.W. Jonker Dia 1/22 Systemen Besturingssoftware Windows XP Mark van Heck.
Les1: eenvoudig computergebruik
Namaak in ICT Illegale software. Wat is illegale software? Vraag: “Mag u een programma downloaden van het internet, zonder hiervoor te betalen, dit installeren.
RISICO VCA - Hoofdstuk 2.
Moraliteit Les 2 Ethiek – Moraliteit – Les 2 Datum:
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Geheugenbeheer ICT Infrastructuren hoofdstukken 7 en 8.1.
Leiderverkiezing Olympus College 14 april 2008 David N. Jansen.
Bleu Mount.
Systeemsoftware Hfdst 2
Real-Time Systems (RTSYST) Week 2. Process/Thread states Scheduler = deel van OS dat de toestanden van processen/threads bepaald. OS gebruikt timerinterrupt.
Real-Time Systems (RTSYST) Week Priority inheritance voorbeeld taakprioexecutionrelease time d4EEQVE4 c3EVVE2 b2EE2 a1EQQQQE0.
Vrijheid van vestiging
Functioneel Ontwerp.
SPAM SPAM. Heeft u veel SPAM? Kan uw provider het niet tegenhouden?
Presentatie Het BIOS (wat is dat) Rondkijken in het BIOS
Hulp op afstand Presentatie door Kick de Wolff Hulp op afstand Hulp op afstand Hoe kom ik van mijn SPAM af (afhankelijk van de beschikbare tijd) Hoe kom.
1 ICT Infrastructuren 19 november 2007 David N. Jansen.
Een Module over Model Checking voor het VWO Frits Vaandrager1, David Jansen1 & Els Koopmans2 1Radboud Universiteit Nijmegen 2Olympus College Arnhem.
Operating Systems Informatica.
Dmv de startersregeling wil de gemeente Almere de bereikbaarheid van koopwoningen vergroten voor met name de starters op de woningmarkt in Almere. In de.
De beste hypotheek tegen de laagste kosten! Door de kredietcrisis, eurocrisis, etc wordt het steeds lastiger om exact te berekenen hoeveel hypotheek u.
Processen in kaart brengen om ze vervolgens te verbeteren.
Visual Basic.NET voor studenten De VB- ontwikkelomgeving Hoofdstuk 2.
Vraag aan de Helpdesk: Hoe kan ik LIEFDE installeren?
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 11: controle van de hulpmiddelen.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Personeelsessie LOKO.
Downloaden in de praktijk woensdag 11 februari 2015.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Datamodellering en –verwerking 8C020 college 6
Basisfuncties Operating System.
Zinnen die doen nadenken !
Seminarie Software Open Bestandsformaten Open Versus Gesloten Software.
Besturingssysteem Vaak wordt de Engelse term gebruikt: Operating System ( OS ) Plaats van het OS in een computersysteem: Hardware Applicatie Operating.
Online filmpjes maken. (
Loopbaan oriëntatie en begeleiding
HjH HjH 2 1.Windows XP, Vista worden niet meer ondersteund. - gevolgen beveiligingsproblemen; denk aan bank! - nieuwe hardware zal.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
H3 Inzicht.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Mijn Leefstijl. EVEN VOORSTELLEN… Kan je een inschatting maken van de prijs van een product. Besef je dat reclame invloed heeft op wat je besteedt. Weet.
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
COMPUTERLES 1 Introductie. Inhoud ■Inleiding ■Wat is een computer? ■Waarom gebruiken we Windows?
Basics SERP = Search Engine Results Page Betaalde resultaten = SEA Natuurlijke resultaten = SEO Search Engine Optimization SEO is een lange termijn verhaal.
C++ Les 1: introductie. Programmeren Programma’s scripts Websites libraries (Sound, GUI, netwerking…)
IF() ELSE() LES 4: VOORWAARDEN. BOOL Een variabele die slechts 2 mogelijke waarden kan hebben: true(waar) of false(niet waar) duid je aan met bool bool.
Operating Systems Informatica.
Computersystemen 2 (TIRCCMS02 - Operating systems)
Besturingssystemen 1 (TINBES01-1)
Computersystemen 2 (TIRCCMS02 - Operating systems)
Embedded systemen Programmeren op de Arduino Les 1
Besturingssystemen Ga verder met een muisklik..
Is testen een project op zich?
Besturingssysteem.
Software Development fundamentals
Transcript van de presentatie:

Concurrency en Deadlock ICT Infrastructuren David N. Jansen Stallings hoofdstukken 5 en 6

Concurrency Meerdere processen worden (bijna) te gelijker tijd uitgevoerd voorbeelden meerdere programma’s één programma met threads binnen het besturingssysteem

Interleaving en interferentie sommige proces-delen zijn “kritiek” meerdere processen tegelijk in kritieke secties  interferentie is mogelijk interferentie = ongewenst gedrag als gevolg van (een bepaalde) interleaving voorbeeld i := 2 en daarna parallel (i := i + 1) || (i := 2 * i)

Mutual Exclusion de standaardoplossing idee: een bepaalde bron kan niet door iedereen tegelijk gebruikt worden iemand moet ervoor zorgen dat beperkingen in acht genomen worden wie?

Taken van besturingssysteem processen bewaken bronnen verdelen en beschermen (processor, geheugen, in-/uitvoer, bestanden) doel: geen interferentie

Eisen aan mutex-voorziening slechts één proces tegelijk in kritieke sectie als een proces in de niet-kritieke sectie stopt, heeft dat geen gevolg voor de andere een proces dat toegang vraagt krijgt die als geen proces toegang heeft, krijgt de aanvrager onmiddellijk toegang geen aannames over snelheid van processen processen moeten beloven slechts eindig lang in kritieke sectie te blijven (bron: Stallings, p. 211)

Mutex in de praktijk Processor / hardware Semaforen Monitoren

Mutex: processor / hardware interrupts tijdelijk verbieden werkt alleen voor korte kritieke secties werkt niet bij multicore/multiprocessor-systemen speciale instructies, b.v. in SPARC ldstub: laad een byte en zet het op 255 swap: verwissel geheugenwoord met register deze instructies kunnen niet onderbroken worden, niet eens in multiprocessor-systemen eigenlijk te primitief, nog geen volwaardig mutex

Mutex: semaforen speciale variabele, altijd ≥ 0 P(var)probeer de variabele te verlagen (en wacht zo nodig tot dat kan) V(var)verhoog de variabele Stallings: P = semWait, V = semSignal, variabele kan wel < 0 worden, maar processen moeten dan wachten

Mutex: monitoren speciale subroutine met exclusieve rechten wie kritieke bronnen wil gebruiken moet dat via een monitor doen monitor zorgt voor mutex voordeel over semafoor: gebruiker van kritieke bron vergeet nooit V(var)

Bijwerkingen Deadlock: dodelijke omarming Livelock:systeem rommelt, maar doet niets productiefs Starvation: één proces wacht oneindig lang

Vijf filosofen klassiek probleem om deadlock te illustreren 5 filosofen denken en eten eten met twee vorken 5 vorken

Intermezzo: Uppaal Uppaal = een modelchecker modellen van gedrag tekenen, simuleren en eigenschappen onderzoeken tool voor de huiswerkopgave 2

Meer over Uppaal... voorbeeldmodel, aansluiten bij PA automaten en hun samenhang met PA-termen, in voorbeelden definitie van automaat uitbreidingen van Uppaal alleen synchronisatie-acties (“channels”) hebben een naam + ! of ? klokken om de tijd te meten, variabelen voorbeeldmodel van filosoof en vork

Demo van Uppaal... de modellen van filosoof en vork in Uppaal laten zien dat er deadlock kan ontstaan

Meer over Uppaal-formules formules om eisen te beschrijven: A[]  in elke toestand geldt  A<>  ooit zal  gelden (wat je ook doet)  -->  telkens als je  bereikt, zul je daarna ook  bereiken mogelijkheden voor  en  : namen van toestanden formules over variabelen of klokken deadlock operatoren als in C

Deadlock in detail voorwaarden voor deadlock mutual exclusion bronnen vasthouden en wachten geen preëmptie (d.w.z. OS kan niet dwingen tot tijdelijk afstaan) cirkel van wachtende processen

Cirkel van wachtende processen graaf: pijlen tussen processen en bronnen F0 F1 F2F3 F4 Vork 0 Vork 1 Vork 2 Vork 3 Vork 4 F3 heeft vork 3 F4 wil vork 3

Maatregelen tegen Deadlock Preventie: verander één van de voorwaarden Avoidance: beïnvloed dynamiek van processen Detectie: laat de zaak op haar beloop gaan en grijp achteraf in

Preventie van Deadlocks één van de vier voorwaarden veranderen geen mutual exclusion aanbieden geen bronnen sparen, maar alles tegelijk aanvragen preëmptie toestaan... of... bronnen in een vaste volgorde aanvragen (voor elk proces dezelfde)

Vermijden van Deadlocks processen moeten van te voren aangeven hoeveel bronnen ze maximaal nodig hebben het OS laat een proces alleen toe als er voldoende bronnen over zijn testen bij processtart of: testen bij elke aanvraag van extra bronnen Bankiers-algoritme: kan ik dit proces nog krediet verlenen zonder kans te lopen failliet te gaan? (nalezen in Stallings!)

Detecteren van deadlocks OS doet niets om deadlocks te vermijden OS test regelmatig of deadlock is ontstaan zo ja: processen afbreken

Aanbeveling Lees het nog eens na Kijk alvast eens naar Uppaal Gratis downloaden en installeren Windows, Linux of Mac