Deadlocks dopsys 1 onsdag den 8. december 2010
|
|
- Alma Marcussen
- 7 år siden
- Visninger:
Transkript
1 Deadlocks dopsys 1
2 En deadlock! When two trains approach each other at a crossing, both shall come to a full stop and neither shall start up again until the other has gone. Lov - the Kansas Legislature dopsys 2
3 Resurse-administration..processer anvender resurser administreret af OS: Resurser: Lager Sekundært Lager (disk) Ydre enheder Semaphorer Filer Styring af adgang: Request (proces) Acquisition (OS) Release (proces).. kan der opstå situationer hvor et antal processer er gået i stå på grund af styringen af adgangen, og ikke fordi der er for få resurser som sådan? dopsys 3
4 Ja, det kan ske! - Eksempel Semaphorer: Filer: (med locks) semaphore s1,s2; p1:... p2:... down(s1); down(s2); down(s2); down(s1); use_resources; use_resources; up(s2); up(s1); up(s1); up(s2);... p1:... p2:... open(f1,w); open(f2,w); open(f2,w); open(f1,w); gensidig venten blandt blokerede processer. dopsys 4
5 Et andet eksempel Producer-consumer systemet (forkert version!): semaphore e = n, f = 0, b = 1; cobegin Producer: while (1) { Produce_next_record ( ); down(e); lock(b); lock(b); down(e); Add_to_buf ( ); up(f); unlock(b); up(f); unlock(b); } // Consumer: while (1) { down(f); lock(b); lock(b); down(f); Take_from_buf ( ); unlock(b); up(e); up(e); unlock(b); Process_record ( ); } coend.. om systemet går i deadlock afhænger af schedulering. dopsys 5
6 Et andet eksempel Producer-consumer systemet (forkert version!): semaphore e = n, f = 0, b = 1; cobegin Producer: while (1) { Produce_next_record ( ); down(e); lock(b); lock(b); down(e); Add_to_buf ( ); up(f); unlock(b); up(f); unlock(b); } // Consumer: while (1) { down(f); lock(b); lock(b); down(f); Take_from_buf ( ); unlock(b); up(e); up(e); unlock(b); Process_record ( ); } coend.. om systemet går i deadlock afhænger af schedulering. dopsys 5
7 Et andet eksempel Producer-consumer systemet (forkert version!): semaphore e = n, f = 0, b = 1; cobegin Producer: while (1) { Produce_next_record ( ); down(e); lock(b); lock(b); down(e); Add_to_buf ( ); up(f); unlock(b); up(f); unlock(b); } // Consumer: while (1) { down(f); lock(b); lock(b); down(f); Take_from_buf ( ); unlock(b); up(e); up(e); unlock(b); Process_record ( ); } coend.. om systemet går i deadlock afhænger af schedulering. dopsys 5
8 Blokering.. venten på resurse via egentlig blokering eller busy waiting: down(s) { Inhibit_Interrupt; s = s - 1; if (s < 0) { Block(self, Ls); Enable_Interrupt; Scheduler(); } else Enable_Interrupt; } mutex_lock(sb): do TS(R,sb) while (!R).. processen opfattes i begge tilfælde som blokeret. dopsys 6
9 Coffman-betingelserne (1971) Deadlock kun mulig hvis der er: 1. Mutual exclusion: en resurse kan ikke anvendes af mere end een proces ad gangen 2. Hold and wait: en proces der allerede har en resurse kan bede om een til 3. No preemption: ingen resurser kan tvinges væk fra en proces, frigivelse af resurser sker kun på processens eget initiativ 4. Circular wait: to eller flere processer kan danne en cykel hvor hver proces venter på en resurse som den næste proces har dopsys 7
10 Coffman-betingelserne (1971) Deadlock kun mulig hvis der er: 1. Mutual exclusion: en resurse kan ikke anvendes af mere end een proces ad gangen 2. Hold and wait: en proces der allerede har en resurse kan bede om een til 3. No preemption: ingen resurser kan tvinges væk fra en proces, frigivelse af resurser sker kun på processens eget initiativ 4. Circular wait: to eller flere processer kan danne en cykel hvor hver proces venter på en resurse som den næste proces har dopsys 7
11 Coffman-betingelserne (1971) Deadlock kun mulig hvis der er: 1. Mutual exclusion: en resurse kan ikke anvendes af mere end een proces ad gangen 2. Hold and wait: en proces der allerede har en resurse kan bede om een til 3. No preemption: ingen resurser kan tvinges væk fra en proces, frigivelse af resurser sker kun på processens eget initiativ 4. Circular wait: to eller flere processer kan danne en cykel hvor hver proces venter på en resurse som den næste proces har dopsys 7
12 Coffman-betingelserne (1971) Deadlock kun mulig hvis der er: 1. Mutual exclusion: en resurse kan ikke anvendes af mere end een proces ad gangen 2. Hold and wait: en proces der allerede har en resurse kan bede om een til 3. No preemption: ingen resurser kan tvinges væk fra en proces, frigivelse af resurser sker kun på processens eget initiativ 4. Circular wait: to eller flere processer kan danne en cykel hvor hver proces venter på en resurse som den næste proces har dopsys 7
13 Coffman-betingelserne (1971) Deadlock kun mulig hvis der er: 1. Mutual exclusion: en resurse kan ikke anvendes af mere end een proces ad gangen 2. Hold and wait: en proces der allerede har en resurse kan bede om een til 3. No preemption: ingen resurser kan tvinges væk fra en proces, frigivelse af resurser sker kun på processens eget initiativ 4. Circular wait: to eller flere processer kan danne en cykel hvor hver proces venter på en resurse som den næste proces har dopsys 7
14 Håndtering af deadlocks 1. Strudsealgoritmen: Tillader deadlock at opstå Timeout eller bruger løser problemet 2. Detektér og fjern deadlock: Tillader deadlock at opstå Deadlock detekteres, og elimineres af systemet 3. Undgå deadlock dynamisk (avoidance): Deadlock kan ikke opstå (systemet kan have potentielle deadlocks) Dynamisk check af forespørgsler på resurser (requests) Hvis tildeling af en resurse kan føre til en deadlock udsættes den 4. Undgå deadlock statisk (prevention): Deadlock kan ikke opstå (ingen potentielle deadlocks) Sikret statisk via regler for requests dopsys 8
15 Notation og Terminologi dopsys 9
16 Modellering af resursestyring En resursegraf repræsenterer systemets tilstand:.. repræsenterer alle aktuelle requests og allokeringer. dopsys 10
17 Modellering af resursestyring En resursegraf repræsenterer systemets tilstand: Proces.. repræsenterer alle aktuelle requests og allokeringer. dopsys 10
18 Modellering af resursestyring En resursegraf repræsenterer systemets tilstand: Proces Resurseklasse.. repræsenterer alle aktuelle requests og allokeringer. dopsys 10
19 Modellering af resursestyring En resursegraf repræsenterer systemets tilstand: Proces Resurse Resurseklasse.. repræsenterer alle aktuelle requests og allokeringer. dopsys 10
20 Modellering af resursestyring En resursegraf repræsenterer systemets tilstand: Request Proces Resurse Resurseklasse.. repræsenterer alle aktuelle requests og allokeringer. dopsys 10
21 Modellering af resursestyring En resursegraf repræsenterer systemets tilstand: Request Proces Allokering Resurse Resurseklasse.. repræsenterer alle aktuelle requests og allokeringer. dopsys 10
22 Systemtilstanden.. ændres ved Request, Acquisition og Release af resurser: Tilstandsovergange (transitioner): Request Acquisition Release tilføjer et antal kanter fra en proces til en resurseklasse. vender alle kanter fra en proces til en resurseklasse. fjerner et antal kanter fra resurser til en proces. dopsys 11
23 Regler for operationer Request kan tilføjes fra proces p når: ingen request findes fra p i forvejen antal ønskede resurser ikke overstiger total Acquire kan udføres når: alle requests kan tilfredsstilles samtidig Release kan udføres når: ingen request findes fra p dopsys 12
24 Terminologi En proces P er blokeret i en tilstand S hvis P ikke kan lave en operation (request, acquisition, release) i S. En proces P er deadlocked i en tilstand S hvis P er blokeret i alle tilstande der potentielt kan nås fra S. En tilstand S er deadlocked hvis en proces i S er deadlocked. dopsys 14
25 Eksempel på tilstandsgraf p1 P1: Request R1 før R2 Release R2 før R1 p2 P2: Request R2 før R1 Release R1 før R2 dopsys 13
26 Eksempel på tilstandsgraf p1 P1: Request R1 før R2 Release R2 før R1 p2 P2: Request R2 før R1 Release R1 før R2 P2 blokeret dopsys 13
27 Eksempel på tilstandsgraf p1 P1: Request R1 før R2 Release R2 før R1 p2 P2: Request R2 før R1 Release R1 før R2 P2 blokeret P1 blokeret dopsys 13
28 Eksempel på tilstandsgraf p1 P1: Request R1 før R2 Release R2 før R1 p2 P2: Request R2 før R1 Release R1 før R2 P2 blokeret P1 blokeret Deadlock: P1+P2 blokeret dopsys 13
29 [Q/A] dopsys 13
30 [Q/A] Hvordan ser resursegrafen ud for tilstandene S0,0 og S1,2? dopsys 13
31 [Click] Hvad er forkert? A. Tilstandsgrafer er svagt sammenhængende B. Uden deadlock er tilstandsgrafer stærkt sammenhængende C. En tilstandsgraf kan beskrive et vilkårligt langt scenarie D. En tilstandsgraf kan beskrive scenarier med mere end to processer E. Der kan være deadlock i en knude med udgående kanter F. Ved ikke dopsys 13
32 Håndtering af deadlocks: Tag chancen dopsys 15
33 Detektering af Deadlocks Findes der en deadlock i systemets aktuelle tilstand S? Følgende best-case scenarie betragtes: 1. Ingen yderligere requests laves af processer i tilstand S 2. Hvis en aktuel request imødekommes for en proces, så terminerer processen, og de allokerede resurser frigives Baseret på reduktion af resursegrafer: 1. Vælg en proces P der ikke er blokeret 2. Eliminer P og alle tilhørende request- og allokeringskanter.. gentag skridt 1+2 så længe der findes ikke-blokerede processer dopsys 16
34 Detektering af Deadlocks Findes der en deadlock i systemets aktuelle tilstand S? Følgende best-case scenarie betragtes: 1. Ingen yderligere requests laves af processer i tilstand S 2. Hvis en aktuel request imødekommes for en proces, så terminerer processen, og de allokerede resurser frigives Baseret på reduktion af resursegrafer: 1. Vælg en proces P der ikke er blokeret 2. Eliminer P og alle tilhørende request- og allokeringskanter.. gentag skridt 1+2 så længe der findes ikke-blokerede processer Processer der ikke kan elimineres er i deadlock! dopsys 16
35 Eksempel 5 dopsys 17
36 Eksempel 5 dopsys 17
37 Eksempel 5 dopsys 17
38 Eksempel 5 dopsys 17
39 Fjernelse af Deadlocks Cirkulær venten mellem processer skal brydes. Inkrementel terminering af processer i deadlock: Prioritet af processer (ikke scheduleringsprioritet) Omkostninger ved genstart (anslået..) Afhængighed mellem processer (producer/consumer) Resursefratagelse (resource preemption): Tag resurser væk fra processer Roll-back i processen vha. checkpoints kan være nødvendig dopsys 18
40 Håndtering af deadlocks: Stop dem lige før de opstår dopsys 19
41 Deadlock Avoidance.. sikrer at systemet aldrig går i deadlock, ved brug af dynamiske checks. Antagelse: 1. Øvre grænse for resurse-allokering til hver proces er kendt 2. En proces terminerer og frigiver resurserne hvis alle dens potentielle requests opfyldes. Kravsgraf (Claim graph): dopsys 20
42 Deadlock Avoidance.. sikrer at systemet aldrig går i deadlock, ved brug af dynamiske checks. Antagelse: 1. Øvre grænse for resurse-allokering til hver proces er kendt 2. En proces terminerer og frigiver resurserne hvis alle dens potentielle requests opfyldes. Kravsgraf (Claim graph): Mulige requests (claim edge) dopsys 20
43 Banker s Algorithm.. udnytter at OS vælger hvilke requests der skal opfyldes: Givet systemtilstand S: 1. Antag at requests for proces P opfyldes i S og modificér kravsgrafen til at reflektere dette 2. Betragt alle kravs-kanter som request-kanter og reducer kravsgrafen (worst-case scenarie) 3. Hvis alle processer kan elimineres, er det sikkert at opfylde den givne request dopsys 21
44 Banker s Algorithm.. udnytter at OS vælger hvilke requests der skal opfyldes: Givet systemtilstand S: 1. Antag at requests for proces P opfyldes i S og modificér kravsgrafen til at reflektere dette 2. Betragt alle kravs-kanter som request-kanter og reducer kravsgrafen (worst-case scenarie) 3. Hvis alle processer kan elimineres, er det sikkert at opfylde den givne request Selv ved worst-case request scenarie er det muligt at nå tilstand hvor alle processer er kørt færdig. dopsys 21
45 Eksempel Aktuel tilstand/claim graf: Request fra proces p1 sikker? Request fra proces p2 sikker? dopsys 22
46 Eksempel Aktuel tilstand/claim graf: Request fra proces p1 sikker? Request fra proces p2 sikker? dopsys 22
47 Eksempel Aktuel tilstand/claim graf: Request fra proces p1 sikker? Request fra proces p2 sikker? dopsys 22
48 Eksempel Aktuel tilstand/claim graf: Request fra proces p1 sikker? Request fra proces p2 sikker? dopsys 22
49 Eksempel Aktuel tilstand/claim graf: Request fra proces p1 sikker? Request fra proces p2 sikker? dopsys 22
50 Eksempel Aktuel tilstand/claim graf: Request fra proces p1 sikker? Request fra proces p2 sikker? dopsys 22
51 Eksempel Aktuel tilstand/claim graf: Request fra proces p1 sikker? Request fra proces p2 sikker? dopsys 22
52 Eksempel Aktuel tilstand/claim graf: Request fra proces p1 sikker? Request fra proces p2 sikker? dopsys 22
53 Håndtering af deadlocks: Garantér at de ikke forekommer dopsys 23
54 Deadlock Prevention.. sikrer at systemet aldrig går i deadlock, ved en statisk analyse: Modtræk mod de nødvendige betingelser for deadlock: Mutual exclusion: En resurse er allokeret til højst een proces Modtræk: Visse resurser kan deles (read-only, virtualisering) Hold and wait: Processer med allokerede resurser kan lave yderligere requests Modtræk: Resurser skal allokeres samtidig Circular wait: Resursegrafen skal have en cykel med mindst to processer Modtræk: Total ordning af resurser, requests ordnet derefter.. hvis blot en af disse elimineres kan deadlock ikke opstå (og deadlock detection brød lige præcis den 4. betingelse, no preemption). dopsys 24
55 Eksempel: ordnede resurser Requests skal følge ordningen (p 3 request: kun R 4 ) Mest efterspurgte resurse får højeste nummer dopsys 25
56 [Click] A. Der findes en proces B. Enhver proces har en udgående kant C. For alle k findes en vej af længde k D. Der er mindst ligeså mange resurseklasser som processer E. Enhver resurse med en indgående kant har en udgående kant F. Ved ikke En resursegraf med deadlock vil efter reduktion have en cykel. Hvilket argument dur ikke? 28
57 Opsummering Resursestyring kan ende i deadlock - nogle processer blokeret, andre kan aldrig hjælpe Håndtering: Strudsealgoritmen (ganske almindelig..) Detektion og fjernelse (kræver roll-back!) Avoidance (dynamiske checks) Prevention (statisk check) Analyseværktøjer: resursegraf, kravsgraf (claim graph) Operationer: request, acquire, release Centralt kriterium: komplet reduktion af resursegraf dopsys 26
Processer og koordinering. dopsys 1
Processer og koordinering dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne): Multiprogrammering og time-sharing (60 erne): dopsys 2 Motivation.. parallelle
Læs mereKoordinering. dopsys
Koordinering At indføre flertrådethed (1) når tråde tages i brug opstår typisk konflikter (et velkendt eksempel er errno ) 2 At indføre flertrådethed (2) en del konflikter kan afhjælpes med thread-local
Læs mereImplementation af Koordinering. dopsys 1
Implementation af Koordinering dopsys 1 Oversigt: Impl. af koordinering Begreber: Kritiske regioner Gensidig udelukkelse Synkroniseringsprimitiver: Binære semaforer / mutexes Tællesemaforer Betingelsesvariabler
Læs mereResource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.
System Model Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances. Each process utilizes a resource as follows: request use e.g., request
Læs mere1 Operativsystemer oversigt
1 Operativsystemer oversigt Hvorfor OS virtualisering Abstraktion (processer, virtual hukommelse, filer) Kernel mode og user mode Systemkald (slide 31) Interrupts At levere en simplere model af computeren
Læs mereSchedulering. dopsys 1
Schedulering dopsys 1 Re: Schedulering af processer.. administration af CPU-resursen. Ready List (RL) processer i ready_a, ready_s, eller running tilstand. dopsys 2 Re: Schedulering af processer.. administration
Læs mereSider og segmenter. dopsys 1
Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den
Læs mereSchedulering. dopsys 1
Schedulering dopsys 1 Re: Schedulering af processer.. administration af CPU-resursen. Ready List (RL) list af processer i ready_a tilstand. dopsys 2 Re: Schedulering af processer.. administration af CPU-resursen.
Læs mereSider og segmenter. dopsys 1
Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den
Læs mereNetværksalgoritmer 1
Netværksalgoritmer 1 Netværksalgoritmer Netværksalgoritmer er algoritmer, der udføres på et netværk af computere Deres udførelse er distribueret Omfatter algoritmer for, hvorledes routere sender pakker
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereProcesser og koordinering
Processer og koordinering.. fortsat dopsys 1 Betingelsesvariabler (Condition variables).. hukommelsesløs variant af semaphorer: Atomare operationer: Signal bruges til at sende et signal. Wait bruges til
Læs mereDanmarks Tekniske Universitet
Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).
Læs mereLageradministration. dopsys
Lageradministration 1 Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder 2 Abstraktion over typerne: et hierarki En maskine har flere forskellige lagre Operativsystemet
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs merePrincipper for Samtidighed og Styresystemer
Principper for Samtidighed og Styresystemer kursusintroduktion og Introduktion til Styresystemer René Rydhof Hansen Februar 2008 PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 1
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:
Læs mereAgenda. Muligheder for anvendelse. Komponenter. Features. Restore muligheder. DR og TSM integration. Repository. Demo. Spørgsmål
Agenda Muligheder for anvendelse Komponenter Features Restore muligheder DR og TSM integration Repository Demo Spørgsmål Muligheder for anvendelse Data Center dmsave/lokal TSM Remote Office Application
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 26. maj 2009. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Varighed: timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereProcesser og tråde. dopsys 1
Processer og tråde dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne) hhv. små systemer: Multiprogrammering og time-sharing (fra 60 erne og frem): dopsys
Læs mereSortering af information er en fundamental og central opgave.
Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereSortering af information er en fundamental og central opgave.
Sortering 1 / 36 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 6, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereSchedulering. dopsys
Schedulering Schedulering Ide: tag beslutning om fordeling af resurser på parter Resurse kan tildeles, fratages Bestemte situationer muliggør beslutninger 2 Designvalg i schedulering Beslutningsform: hvornår
Læs mere1 Opsumering fra tidligere. 2 Dagsorden 3 BIMS. 4 Programtilstande. Statements/kommandoer (Stm) i bims. 3.1 Abstrakt syntaks for bims
1 Opsumering fra tidligere Hvis A er kontekstfrit, S er der et p > 0 s Alle s A hvor s p kan splittes op som s = uvxyz så argument 1-3 holder A er ikke kontekstfrit, hvis for ethvert bud på p kan findes
Læs mereUniFeeder TM. Betjeningsvejledning
UniFeeder TM Betjeningsvejledning Varenr.: 1212-1200 Strømforsyning: 85-264V 50 Hz 0,85A Vægt: 1060 g. Advarsel: Rør ikke indvendigt i foderboksen mens UniFeeder kører! Garanti: UniFeeder er dækket af
Læs mereKaraktergivende opgave i Styresystemer og multiprogrammering (reeksamen) 13. august 2007
Karaktergivende opgave i Styresystemer og multiprogrammering (reeksamen) 13. august 2007 Den karaktergivende opgave i Styresystemer og multiprogrammering stilles mandag den 13. august 2007 klokken 9:00
Læs mereFilsystemer. dopsys. fredag den 26. november 2010
Filsystemer 1 Lageret er hierarkisk - Fokus: disk Sekundært lager er nødvendigt: Data i RAM forsvinder når processer terminerer o.lign. Og der er også brug for pladsen 2 Lageret er hierarkisk - Fokus:
Læs mereBits DM534. Rolf Fagerberg, 2012
Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde
Læs mereLageradministration Paging og segmentering
Lageradministration Paging og segmentering 1 Re: Logiske/fysiske adresser... Proces-struktur = kode og data for en proces 4G En proces tilgår sin proces-struktur via et logisk/virtuelt adresserum, fx 0,
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 0205. Varighed: 4 timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereCommon Language Runtime. Multithreading
Common Language Runtime Multithreading Multithreading i.net Dedicated threads Programmøren kontrollerer starttidspunkt, levetid m.m. for den enkelte thread. Pooled threads Threads lånes fra en pulje af
Læs mereFilsystemer: Anvendelse. dopsys
Filsystemer: Anvendelse 1 Lageret er hierarkisk - Fokus: disk Sekundært lager er nødvendigt: Data i RAM forsvinder når processer terminerer o.lign. Og der er også brug for pladsen 2 Lageret er hierarkisk
Læs mereLageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder
Lageradministration Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder Abstraktion over typerne: et hierarki En maskine har fl ere forskellige lagre Operativsystemet
Læs mereLageret er hierarkisk fokus nu: disk
Filsystemer Lageret er hierarkisk fokus nu: disk Sekundært lager er nødvendigt: Data i RAM forsvinder når processer terminerer o.lign. Og der er også brug for pladsen Top-down: Hvad er en fi l? Er en fi
Læs mereAlgoritmedesign med internetanvendelser ved Keld Helsgaun
Algoritmedesign med internetanvendelser ved Keld Helsgaun 1 Analyse af algoritmer Input Algoritme Output En algoritme er en trinvis metode til løsning af et problem i endelig tid 2 Algoritmebegrebet D.
Læs merePrincipper for Samtidighed og Styresystemer
Principper for Samtidighed og Styresystemer Synkronisering og Deadlocks René Rydhof Hansen Februar 2008 PSS 08 (Forelæsning 03) Synkronisering og Deadlocks Februar 2008 1 / 33 Skemaændringer Forelæsning
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:
Læs mereUser Manual for LTC IGNOU
User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service
Læs mereScheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet
Scheduling 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Tråde og deres indbyrdes forhold Sidste gang så vi på, hvorledes tråde kan skabes, og hvordan man kan skifte imellem dem I dag ser
Læs mereAlgoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Læs mereOperativsystemer. Tobias Brixen Q2-2012
Operativsystemer Tobias Brixen Q2-2012 1 Contents 1 Operativsystermer - oversigt 4 1.1 OS som abstrakt og virtualiseret maskine, og som resurseadministrator................................ 4 1.2 Systemkald..............................
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:
Læs mereAlgoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)
Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse
Læs mereRegulære udtryk og endelige automater
Regulære udtryk og endelige automater Regulære udtryk: deklarative dvs. ofte velegnede til at specificere regulære sprog Endelige automater: operationelle dvs. bedre egnet til at afgøre om en given streng
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen (bemærk at log n betegner totals logaritmen): n 2 (log n) 2 2.
Eksamen august Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) n + n er O(n )? n / er O(n / )? n er O(n log n)? n er O((log n) )? n er Ω(n )? Ja Nej Opgave (%) Opskriv følgende funktioner
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 2 n (log n) 2. 3 n /n 2 n + (log n) 4
Eksamen. kvarter 00 Side 1 af sider Opgave 1 ( %) Ja Nej n log n er O(n / )? n 1/ er O(log n)? n + n er O(n )? n( n + log n) er O(n / )? n er Ω(n )? Opgave ( %) Opskriv følgende funktioner efter stigende
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7
Side af 0 sider Opgave (%) Ja Nej /n er O(n )? n (logn) er O(n 3 )? n + n er O(3 n )? n er O((logn) 3 )? nlogn er Ω(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen:
Læs mereSommeren 2001, opgave 1
Sommeren 2001, opgave 1 Vi antager at k 3, da det ellers er uklart hvordan trekanterne kan sættes sammen i en kreds. Vi ser nu at for hver trekant er der en knude i kredsen, og en spids. Derfor er n =
Læs mereOperativsystemer - dopsys
Operativsystemer - dopsys Erik Ernst eernst@cs.au.dk dopsys 1 Q/A Mange deltagere er nu på 2. år af datalogistudiet, med dcomnet 1 for år siden Er din baggrund anderledes? dopsys 2 Praktiske oplysninger
Læs mereStyresystemer og tjenester
Styresystemer og tjenester Indhold: 1. Introduktion til styresystemer. 2. Processer og tråde. 3. Synkroniseringsmetoder og InterProcesCommunikation. 4. Memory management. 5. I/O og devicedrivere. 6. Filsystemer.
Læs meredpersp Uge 40 - Øvelser Internetalgoritmer
Øvelse 1 dpersp Uge 40 - Øvelser Internetalgoritmer (Øvelserne 4 og 6 er afleveringsopgaver) a) Hver gruppe får en terning af instruktoren. Udfør 100 skridt af nedenstående RandomWalk på grafen, som også
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 4 n n 3n n 2 /logn 5 n n (logn) 3n n 2 /logn 4 n n 5 n
Side af 0 sider Opgave (%) Ja Nej n er O(0n logn)? n er O(n )? n +n er O(n )? n logn er O(n )? n logn er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n
Læs mereNoter til kursusgang 8, IMAT og IMATØ
Noter til kursusgang 8, IMAT og IMATØ matematik og matematik-økonomi studierne 1. basissemester Esben Høg 25. oktober 2013 Institut for Matematiske Fag Aalborg Universitet Esben Høg Noter til kursusgang
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 16. august 2013,
Læs mereAnalyse af algoritmer
Analyse af algoritmer Analyse af algoritmer Køretid Pladsforbrug Asymptotisk notation O, Θ og Ω-notation. Eksperimentiel analyse af algoritmer Philip Bille Analyse af algoritmer Analyse af algoritmer Køretid
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 5. 5n 2 5 logn. 2 logn
Eksamen august 0 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) n +n er O(n )? Ja Nej n er O(n )? n+n er O(n. )? n+n er O(8n)? n logn er O(n )? Opgave (%) Opskriv følgende funktioner
Læs mereRolf Fagerberg. Forår 2013
Forår 2013 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM536 og DM537 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM536 og DM537 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,
Læs merePlanen for idag. Synkroniseringsmekanismer. Krav til løsning. Kritiske regioner. Bagerens algoritme. Kritisk region via delt lager.
Planen for idag Synkroniseringsmekanismer Kritiske regioner Semaforer: Binære semaforer Tællesemaforer Beskedsemaforer Prioritetsinvertering Låse (spinlocks) sikrer udelelig adgang Barrierer synkroniseringspunkt
Læs mereSammenhængskomponenter i grafer
Sammenhængskomponenter i grafer Ækvivalensrelationer Repetition: En relation R på en mængde S er en delmængde af S S. Når (x, y) R siges x at stå i relation til y. Ofte skrives x y, og relationen selv
Læs mereBrug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes.
Brug sømbrættet til at lave sjove figurer. Lav f: Et dannebrogsflag Et hus med tag, vinduer og dør En fugl En bil En blomst Få de andre til at gætte, hvad du har lavet. Use the nail board to make funn
Læs mereDeling af ÅU-elever Sidst revideret /version 1.0/UNI C/Steen Eske
Deling af ÅU-elever Sidst revideret 17-12-2008/version 1.0/UNI C/Steen Eske Indhold Ændringer Centrale begreber Generelt Arbejdsgange Vejledningen består af 3 dele, som kan læses hver for sig. Du kan derfor
Læs mereInput/Output: Disk & Clock. dopsys
Input/Output: Disk & Clock dopsys Magnetiske diske Spiller en vigtig rolle for mange typer computere Persistens, lagringstæthed, pris, hastighed, holdbarhed, fejltyper,...: OK! Afgørende for opstart (tungt
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 7 n 1/ log n. (log n) 4
Eksamen august 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) n er O(n )? n(log n) er O(n )? n n + (log n) er O(n )? n er O(n )? n er Ω( n )? Opgave (%) Opskriv følgende funktioner
Læs mereIntroduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer
Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt
Læs mereRolf Fagerberg. Forår 2012
Forår 2012 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM502 og DM503 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM502 og DM503 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk
Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 2 2 n 1/n (logn) n. n 2
Side af sider Opgave (%) Ja Nej n er O(n n)? n er O(n+n )? ( n ) er O( n )? logn er O(n / )? n +n er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn)
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereIntroduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer
Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereOpskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n
Eksamen. kvarter 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) Ja Nej n er O(n )? n er O(n )? n er O(n + 0 n)? n + n er O(n )? n log n er Ω(n )? Opgave (%) Opskriv følgende funktioner
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereSortering. De n tal i sorteret orden. Eksempel: Kommentarer:
Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet
Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne
Læs mereGrådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Læs mere.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)}
Procedure Dijkstra(G = (V, E): vægtet sh. graf,. a, z: punkter) { Det antages at w(e) > 0 for alle e E} For alle v V : L(v) := L(a) := 0, S := while z / S begin. u := punkt ikke i S, så L(u) er mindst
Læs mereSW6 SAI. Services 1: (Fil) service admin torsdag 7/4 05
SW6 SAI Services 1: (Fil) service admin torsdag 7/4 05 agenda Backup / Restore SW pakke management Windows Installer RPM mm Patch management Linux / Windows Backup og Restore I hvilke situationer er der
Læs mereMundt Balloons MOM CAME Appendices MBA 301
MBA 301 Agreement of Continuing Airworthiness Arrangement AFTALE Imellem... i det følgende kaldet ejer/bruger, og Mundt Balloons CAMO, i det følgende kaldet MBC, er dags dato indgået aftale om styring
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereSynkronisering af sekventielle processer
Synkronisering af sekventielle processer Klaus Hansen, Niels Elgaard Larsen, Maz Spork, Jørgen Sværke Hansen 15. februar 2005 1 Introduktion Ved en multiprogram forstår vi et program, hvori vi kan specificere,
Læs mereIntroduktion til datastrukturer
Introduktion til datastrukturer Datastrukturer Stakke og køer Hægtede lister Dynamiske tabeller Philip Bille Introduktion til datastrukturer Datastrukturer Stakke og køer Hægtede lister Dynamiske tabeller
Læs merePARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION
Læs mereOrienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.
Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 21. marts 2013,
Læs mereA Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
Læs mere