Vranglås (Deadlocks) Fag: Operativsystemer

Like dokumenter
Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg)

Deadlocks og mer om concurrencymekanismer

HØGSKOLEN I SØR-TRØNDELAG

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

Likning- bingo ark 1

En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.

STE6221 Sanntidssystemer Løsningsforslag

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

Faglig kontakt under eksamen: Orestis Gkorgkas

DBS21 Samtidighetskontrollteknikker

Løsningsforslag for TDT4186 Operativsystemer

Transaksjoner. transaksjon. når starter/slutter 1 trans.?

CPU-Scheduling. Fag: Operativsystemer

Intel Core i7. Omid Mirmotahari 4

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

HØGSKOLEN I SØR-TRØNDELAG

Chapter 7: Deadlocks

Scheduling og prosesshåndtering

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe

IN1020. Datamaskinarkitektur

Fakultet for informasjonsteknologi,

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.

Repetisjonsforelesning, SQL og utover

MA 1410: Analyse (4 vekttall)

Eksamen i TTK4145 Sanntidsprogrammering 12. august

Kort notat om parallellstyring IN147

INF1010 Tråder II 6. april 2016

16. samling Mot. Innledning for lærerne

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

TMA4140 Diskret Matematikk Høst 2016

3. BRUK AV KATALOGISERTE FILER INNHOLD: 1. HVA KAN KJØRES UBETJENT 2. HVORDAN MAN KJØRER UBETJENT 4. VRANGLASPROBLEMET S. 2 S. 2 S.

Eksamensoppgave i TDT4186 Operativsystemer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Fakultet for informasjonsteknologi,

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

IN 147 Program og maskinvare

1,r H øgs kolen i Østfol d

HØGSKOLEN I SØR-TRØNDELAG

Oppgave 8.1 fra COD2e

Hvordan gjøre det lettere å snakke om krevende temaer?

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på TDT4155 Datamaskiner og operativsystemer

Minnehåndtering i operativsystemer

MAT1030 Forelesning 22

DATABEHANDLERAVTALE MELLOM., org.nr. «Behandlingsansvarlig» Info Vest Forlag, org.nr «Databehandler»

Real-time Operativsystem

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

IN1010 våren Repetisjon av tråder. 15. mai 2018

Introduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf

MAT1030 Diskret matematikk

MULTIPLE CHOICE ST0103 BRUKERKURS I STATISTIKK September 2016

Kompleksitet. IN algoritmer og datastrukturer Plenumstime / repetisjon

1. Introduksjon til operativsystemer

Oppgave 1 - Linux kommandolinje (%)

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

INF3140 Modeller for parallellitet INF3140/4140: Låser og Barrierer

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

Løsningsforslag for TDT4186 Operativsystemer

EKSAMEN. Fordypning i digital arbeidsflyt. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

KTN1 - Design av forbindelsesorientert protokoll

DYNAMISK KARTLEGGINGSPRØVE I MATEMATIKK

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D

INF2820 Datalingvistikk V2012. Jan Tore Lønning

Merke: Patruljeliv. Møte: Symboler. TID Der tid ikke er angitt, fordel selv ut ifra møtelengde, evner og interesser.

SAVE: Self- Awareness Through Values and Emotions

TDT4258 Eksamen vår 2013

Ukeplan for innføringsklasse årstrinn Uke 35 august/september- høst 2016

Løsningsforslag for TDT4186 Operativsystemer

Minnehåndtering i operativsystemer

UNIVERSITETET I OSLO

Forslag til for- og etterarbeid i forbindelse med skolekonserten

Examination paper for (BI 2015) (Molekylærbiologi, laboratoriekurs)

seksuell trakassering og overgrep

innstikk leser du denne informasjonen kan vi gjøre en bedre jobb for deg

Forelesning Forgreningspredikering Kap 4.5 Superskalaritet Kap 4.5 Spekulativ utføring Kap 4.5

Hvorfor har du da aldri tid til å ta vare på deg selv? Forandringsprosessen. Forandringsprosessen. Hvem er den viktigste personen i ditt liv?

Læringsmål og pensum. if (be): else (not_to_be):

Første kontakt med god potensiell kunde

Fra trening til læring i hverdagslivet? CP konferansen

BRUKERDOKUMENTASJON. SOLIDUS ecare DESKTOP MANAGER

MÅNEDSRAPPORT MAI FOR REGNBUEN

Gir vi de resterende 2 oppgavene til én prosess vil alle sitte å vente på de to potensielt tidskrevende prosessene.

Hovedområder og kompetansemål i kroppsøving

Eksamen iin115, 14. mai 1998 Side 2 Oppgave 1 15 % Du skal skrive en prosedyre lagalle som i en global character array S(1:n) genererer alle sekvenser

Skrevet av David Atarodiyan

Innledende Analyse Del 1.2

Sunne forhold på nettet

Lærerveiledning. Oppgave 1. Tallene på figuren viser omkretsen av hver av de fire små trekantene. Hva er omkretsen av den store trekanten?

oppgaver fra abels hjørne i dagbladet

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

EKSAMENSOPPGAVE I FAG TKP 4105

Forelesning Instruksjonstyper Kap 5.5

Quotes Ethernet Connect

Vi anbefaler en gruppestørrelse på 3-4 elever, men det er fordelaktig og mer hensiktsmessig med større grupper, heller enn mange grupper.

Transkript:

Vranglås (Deadlocks) Fag: Operativsystemer 1

Innhold: Vranglås Vranglås Eksempler: Svensk flagg, Veikryss, spisende filosofer Betingelser for vranglås Metoder for å håndtere vranglås Tilbake til systemer uten multiprogrammering Strutse (ostrich) algoritme Oppdage vranglås og løse det opp Unngå vranglås (f. eks. bankmannens algoritme) Forebygge (hindre helt) vranglås Vranglås operativsystemer 2

Definisjon vranglås Et sett av prosesser er i vranglås dersom hver prosess i settet venter på en henvendelse som kun en av de andre kan forårsake Vranglås operativsystemer 3

Tegne svensk flagg Tilgjengelige ressurser: - blå fargeblyant - gul fargeblyant - to tegneark Karis program hent hent ark ark hent hent gul gul farge farge hent hent blå blå farge farge fargelegg fargelegg gul gul fargelegg fargelegg blå blå lever lever gul gul farge farge lever lever blå blå farge farge Olas program hent hent ark ark hent hent blå blå farge farge hent hent gul gul farge farge fargelegg fargelegg gul gul fargelegg fargelegg blå blå lever lever gul gul farge farge lever lever blå blå farge farge Vranglås operativsystemer 4

Tegne svensk flagg 2 Tilgjengelige ressurser: en blå og en gul fargeblyant pluss to tegneark Karis program Olas program Rekkefølge ting skjer i: hent hent ark ark hent hent gul gul farge farge hent hent blå blå farge farge fargelegg gul gul fargelegg blå blå lever lever gul gul farge farge lever lever blå blå farge farge hent hent ark ark hent hent blå blå farge farge hent hent gul gul farge farge fargelegg gul gul fargelegg blå blå lever lever gul gul farge farge lever lever blå blå farge farge Kari: hent ark Ola: hent ark Kari: hent gul farge Ola: hent blå farge Kari: hent blå farge Ola: hent gul farge Vranglås operativsystemer 5

Trafikkvranglås Vranglås operativsystemer 6

Sultefôring Ny vei inn her Vranglås operativsystemer 7

Spisende filosofer For å spise trengs to gafler, man bruker dem på skift. Vranglås hvis alle tar én gaffel hver Filosofene har to tilstander: filosoferende spisende Vranglås operativsystemer 8

Deadlock Modeling Modeled with directed graphs resource R assigned to process A process B is requesting/waiting for resource S process C and D are in deadlock over resources T and U Vranglås operativsystemer 9

Grafisk modellering Prosess P n P n Ressurs R m R m Forespørsel P n ønsker R m Tilordning P n R m En instans av R m R m P n holdes av P n Vranglås operativsystemer 10

Sirkulær venting Process Requests Held By Resource A Resource B Held by Requests Process P2 Vranglås operativsystemer 11

Deadlock Modeling (2) A B C How deadlock occurs Vranglås operativsystemer 12

Vranglås: sirkulær venting R2 R4 P 2 P3 R1 R3 Vranglås operativsystemer 13

Betingelse for vranglås 1. Gjensidig utelukkelse ikke alle resurser kan deles 2. Holde og vente Må kunne holde en ressurs mens den venter på en annen 3. Ingen preemptiv oppførsel Ingen prosess kan fratas sin ressurs mot sin vilje 4. Sirkulær venting Vranglås operativsystemer 14

Håndtere vranglås 1. Strutsealgoritme late som ingenting 2. Detektere og løse opp vranglås 3. Unngå vranglås deadlock avoidance 4. Forebygge vranglås deadlock prevention Vranglås operativsystemer 15

Detektere vranglås Lar vranglås forekomme Løser dem etterpå: Drepe prosesser Preemptiv metode på ressursen Rollback: gå tilbake Vranglås operativsystemer 16

Unngå vranglås Hvilke konsekvenser får en ressursdeling? Sikker tilstand: (stable state) Alle ventende forespørsler kan tilfredstilles ved å kjøre prosesser i en bestemt rekkefølge Usikker tilstand: motsatt av sikker Vranglås operativsystemer 17

Modellering 3 2 2 1 0 0 9 3 6 P2 6 1 3 P2 5 1 1 ressurs-tabell P3 3 1 4 P3 2 1 1 P4 4 2 2 P4 0 0 2 1 1 2 krav-tabell allokert-tabell tilgjengelig-tabell Start-tilstand Vranglås operativsystemer 18

3 2 2 1 0 0 P2 6 1 3 P2 6 1 2 P3 3 1 4 P3 2 1 1 P4 4 2 2 P4 0 0 2 0 1 1 krav-tabell allokert-tabell tilgjengelig-tabell P2 har fått en R1 og en R3 Vranglås operativsystemer 19

3 2 2 1 0 0 P2 0 0 0 P2 0 0 0 P3 3 1 4 P3 2 1 1 P4 4 2 2 P4 0 0 2 6 2 3 krav-tabell allokert-tabell tilgjengelig-tabell P2 kjører til ferdig Vranglås operativsystemer 20

0 0 0 0 0 0 P2 0 0 0 P2 0 0 0 P3 3 1 4 P3 2 1 1 P4 4 2 2 P4 0 0 2 7 2 3 krav-tabell allokert-tabell tilgjengelig-tabell kjører til ferdig Vranglås operativsystemer 21

0 0 0 0 0 0 P2 0 0 0 P2 0 0 0 P3 0 0 0 P3 0 0 0 P4 4 2 2 P4 0 0 2 9 3 4 krav-tabell allokert-tabell tilgjengelig-tabell P3 kjører til ferdig Vranglås operativsystemer 22

3 2 2 2 0 1 P2 6 1 3 P2 5 1 1 P3 3 1 4 P3 2 1 1 P4 4 2 2 P4 0 0 2 0 1 1 krav-tabell allokert-tabell tilgjengelig-tabell spør om en R1 og en R3 Vranglås operativsystemer 23

Example of Deadlock Progress of Q A Required Release A Release B 1 2 P and Q want A B Required Get A Get B 3 deadlock inevitable 4 P and Q want B 5 6 Get A Get B Release A Release B Progress of P A Required B Required Vranglås operativsystemer 24

Bankmanns algoritme Unngå å komme i usikker tilstand: Prosesser må si ifra om behov på forhånd Algoritmen fordeler de ressuser som er tilgjengelig og unngår vranglås I praksis er det vanskelig: prosessene vet ikke om behov antall prosesser dynamisk resurser kan svikte Se Fig. 6.10 i Tanenbaum: Modern operation Systems Vranglås operativsystemer 25

Forebygge vranglås Utelukke betingelsene for vranglås: 1. Gjensidig utelukkelse (umulig) 2. Holde og vente Forlanger at prosess allokerer alle ressurser med en gang 3. Ingen preemptiv oppførsel Tvinge til å gi slipp på ressurser (opsys) 4. Sirkulær venting Vranglås operativsystemer 26

Forebygge sirkulær venting 1. Kreve at prosess kun allokerer én ressurs om gangen 2. Nummerer ressurser i en bestemt rekkefølge og kreve at allokeringen skjer i denne rekkefølge Vranglås operativsystemer 27