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

Like dokumenter
1b) RaceCondision: En bug som kommer til overflaten ved uheldig timing/scheduling. Det klassiske eksemplet er vel med suspend og resume:

Eksamen i TTK4145 Sanntidsprogrammering 12. august

Forelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy

Vranglås (Deadlocks) Fag: Operativsystemer

Sensorveiledning eksamen ttk

Fakultet for informasjonsteknologi,

Sensorveiledning eksamen ttk4145 Sanntidsprogrammering h05.

STE6221 Sanntidssystemer Løsningsforslag

Kort notat om parallellstyring IN147

Eksamensoppgave i TDT4186 Operativsystemer

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.

Plan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering

Eksamen i TTK4145 Sanntidsprogrammering 20. desember

Chapter 7: Deadlocks

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer 14. august 2006,

Høgskolen i Molde Institutt for Informatikk Eksamen in240: Operativsystemer Høsten 2002 SVARFORSLAG:

Sensuren vil bli avsluttet i henhold til gjeldende regelverk. Alle deloppgaver teller likt unntatt implementasjonsoppgavene som teller dobbelt.

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

INF1010 Tråder II 6. april 2016

Fra sekvensielt til parallelt

Tinyclip eksempel. Dagsplan

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

Deadlocks og mer om concurrencymekanismer

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17

Fakultet for informasjonsteknologi,

Faglig kontakt under eksamen: Orestis Gkorgkas

Oppsummering av IN147 siste del Operativsystemer Parallellisering Veien videre

Løsningsforslag for TDT4186 Operativsystemer

Innhold. 1 Innledning. 1 Innledning 1. 2 Kodekvalitet og vedlikeholdbarhet 2

Real-time Operativsystem

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

Notat for oblig 2, INF3/4130 h07

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

DBS21 Samtidighetskontrollteknikker

DAT kandidatnummer: 142

Eksempler på ikke-blokkerende systemkall:

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.

Programmeringsspråket C Del 3

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

Programmeringsspråket C Del 3

Dette er en historie..

Fakultet for informasjonsteknologi,

Sirkulasjon av tidsskrifthefter

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3

Fra sekvensielt til parallelt

Kap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/ Legger ut en oppgave til kap. 4 (se beskjed).

Kap.4 del 2 Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

IT Service Management

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006,

RISIKO, NFKR Side 1. Det er sannsynlig at noe usannsynlig vil skje (Aristoteles) Vi forbinder begrepet risiko med fare, noe uønsket.

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

INF Algoritmer og datastrukturer

Fakultet for informasjonsteknologi,

Introduksjon til kurset og dets innhold

RISIKOSTYRING SETT FRA NFKR s SYNSVINKEL

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

Runtimesystemer Kap 7 - I

INF Algoritmer og datastrukturer

Eksamen i TTK4145 Sanntidsprogrammering 7. desember

Tråder og concurrency i Linux

Generiske mekanismer i statisk typede programmeringsspråk

Forelesning IMT mars 2011

Tillit i hierarkiske og gjensidige relasjoner. Lars Huemer, Professor, BI Partnerforum 29 mai 2017

Kap3: Klassemodellering

Fakultet for informasjonsteknologi, Løsning på SIF8042 Distribuerte systemer Tirsdag 27. mai 2003,

Veiledning for aktivering av. Mobil Bredbåndstelefoni

Social Project Management. CIO Konferansen Prosjektstyring 09. juni 2016

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

MNFIT-272 Kunstig intelligens Forelesning 4.

Oversikt over IN147(A):

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

Minnehåndtering i operativsystemer

Aktivere pakke (Electronic collection)

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

INF1010 Repetisjonskurs i tråder

Egenevalueringsskjema

Dagens program. Sanntidsprogrammering med Linux. Embedded Linux: Begrensninger. Hvorfor Linux?

Forelesning Instruksjonstyper Kap 5.5

Plan for dagen Dagens sidesprang: Sverres editorer gjennom tidene & verktøyet tinyclip. Meldingsbasert synkronisering & kommunikasjon

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

ITF20205 Datakommunikasjon - høsten 2011

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk

Interventions in the Cerebral palsy follow-up program: Reidun Jahnsen, PT PhD

Nye krav i ISO 9001, hvilke er de og hvordan implementere disse i TQM? Ragna Karoline Aasen

LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221

Metoder med parametre, løkker og arrayer

Standarder med relevans til skytjenester

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen

Message Oriented Middleware (MOM) Thomas Filip Andresen Arild Berggren Eivind Bøhn

Løsningsforslag for TDT4186 Operativsystemer

1 Innledning 1. 4 Tilstandsmaskiner Et eksempel: Feil måte å gjøre det på Tilstandsmaskinmodellering...

CPU-Scheduling. Fag: Operativsystemer

1. En innkommet fjernlånsbestilling vil havne i tasks-listen som Lending requests New - unassigned

Hvordan lage et suksessprosjekt Prosjekter i drift, 18 november 2013 Timm Sanders Director Consulting. CGI Group Inc.

IN2010: Algoritmer og Datastrukturer Series 2

HONSEL process monitoring

Fra krav til objektdesign

Løsningsforslag for TDT4186 Operativsystemer

Transkript:

Plan for dagen Kap. 11: Resource control (utvalg) Hva trenger vi av egenskaper? Hvordan unngår vi vranglåser? Ikke pensum! Kap. 11.4 (The requeue facility) Kap 14 (Distributed Systems) Kap 14 Distributed systems (utvalg) Resource Management Kontekst: Ønsket basis-funksjonalitet: allocate & free aktiv: Server passiv: Protected Resource Beskyttelse: Trenger bare isolation... Må unngå vranglås og utsulting, og håndtere feil. Har: semaforer, monitorer, guards etc. (kap. skiller imellom condition & avoidance synkronisering) Men: vi vil ha bedre styring og mer funksjonalitet: Bloom (1979) Egentlig: Kriterier for evaluering av synkroniseringsprimitiver Her: Overskrifter på hva vi ønsker fra vår resource manager. (tatt ut historie, lagt til prioritet)

Request Type: Bloom kriterier I lese kontra skrive vi ønsker å angi prioritet/fordeling Vi kan tillate mange samtidige lesere Alle prosedyrene i en monitor kan ses på som en request type til resursen Request order FIFO Prioritet Bloom kriterier II Ok, disse lar seg greit kombinere på intuitivt vis, men hva når vi blander service types opp i det? Allerede her faller standard semaforbeskyttelse Eksempel på lesing/skriving er gitt tidligere... Løsning: Eksplisitt håndtering av køen kan ikke stole på språk/scheduler/os (først register, så action ) Bloom kriterier III Server state (+ history) Det trivielle tilfelle: er resursen ledig? Løses enkelt ved guards, eller posisjonering av accept'en Bloom kriterier IV Request Parameters Jeg trenger 3kb... Jeg trenger resurs A og resurs C... Boken skisserer både conditional & avoidance løsninger Kommer fort opp i ryggsekkproblembetraktninger... planleggingsproblemer Vranglåsunngåelse Kan vi leve med at språk/scheduler/os vedlikeholder køen av ventende prosesser?

Requester Priority Bloom kriterier V Det er en selvfølge at en høyprioritetsprosess får kjøre hvis den er kjørbar... Er det en selvfølge at den står først i køen ved resursallokering? Svaret er Nei... men i Java, POSIX & Ada kan du be om det! Requeue (ikke pensum) Boken sammenligner avoidance (v. guards) & conditional synchronization: avoidance gir penere & enklere kode, men mangler litt utrykkskraft (blir drevet til to-fase allokering oftere) Ada retter på dette ved requeue mekanismen... Stor konklusjon (dvs. Sverres konklusjon:) Håndter resurser, køer, synkronisering eksplisitt Ikke insister på å bruke språkets mekanismer/scheduleren/os'et til å løse dine spesielle problemer. monitorer, etc. er og blir bare grunnleggende mekanismer Vranglåser: Alle fire kriterier er nødvendig for å få vranglås: Mutual Exclusion hold & wait No preemption circular wait Hva kan vi gjøre? Prevention (unngå minst en av de 4) avoidance (smart schedulering/allokering) detection & recovery

Mutual Exclusion Deadlock prevention mange lesere samtidig... Deadlock prevention II Ellers lite å gjøre. hold & wait Slå sammen alle mulige ventesituasjoner øverst vil dermed aldri vente med allokerte resuser No preemption Bruke feilhåndteringsteknikker for å ta fra en prosess resursene. circular wait En globalt akseptert rekkefølge av resursallokering Analyse bevise fravær av deadlocks. Low-level synchronization primitives are extremely difficult to examine this way CSP (f.eks. occam) ok. Deadlock avoidance Resource Manager som nekter allokeringer som kan føre til deadlocks. (skiller imellom trygge og utrygge tilstander.) Bankers algorithm Må kjenne bruksmønster. With more than one resource type the algorithm becomes more complicated priority ceiling Deadlock detection and recovery Resource dependency graph Hvem eier resursene, hvem venter på hva. En allokering som gir syklisk graf gir feil. Evt. i en annen av prosessene? Rettferdighet etc. TimeOut?