Deadlocks dopsys 1 onsdag den 8. december 2010

Størrelse: px
Starte visningen fra side:

Download "Deadlocks dopsys 1 onsdag den 8. december 2010"

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 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 mere

Koordinering. dopsys

Koordinering. 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 mere

Implementation af Koordinering. dopsys 1

Implementation 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 mere

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.

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. 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 mere

1 Operativsystemer oversigt

1 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 mere

Schedulering. dopsys 1

Schedulering. 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 mere

Sider og segmenter. dopsys 1

Sider 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 mere

Schedulering. dopsys 1

Schedulering. 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 mere

Sider og segmenter. dopsys 1

Sider 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 mere

Netværksalgoritmer 1

Netvæ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 mere

Grafer og graf-gennemløb

Grafer 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 mere

Grafer og graf-gennemløb

Grafer 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 mere

Grafer og graf-gennemløb

Grafer 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 mere

Processer og koordinering

Processer 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Grafer og graf-gennemløb

Grafer 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 mere

Lageradministration. dopsys

Lageradministration. 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 mere

Grafer og graf-gennemløb

Grafer 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 mere

Principper for Samtidighed og Styresystemer

Principper 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 mere

Dynamisk programmering

Dynamisk 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 mere

Agenda. 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 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Processer og tråde. dopsys 1

Processer 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 mere

Sortering af information er en fundamental og central opgave.

Sortering 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 mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. 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 mere

Sortering af information er en fundamental og central opgave.

Sortering 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 mere

Schedulering. dopsys

Schedulering. 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 mere

1 Opsumering fra tidligere. 2 Dagsorden 3 BIMS. 4 Programtilstande. Statements/kommandoer (Stm) i bims. 3.1 Abstrakt syntaks for bims

1 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 mere

UniFeeder TM. Betjeningsvejledning

UniFeeder 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 mere

Karaktergivende opgave i Styresystemer og multiprogrammering (reeksamen) 13. august 2007

Karaktergivende 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 mere

Filsystemer. dopsys. fredag den 26. november 2010

Filsystemer. 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 mere

Bits DM534. Rolf Fagerberg, 2012

Bits 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Dynamisk programmering

Dynamisk 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 mere

Dynamisk programmering

Dynamisk 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 mere

Lageradministration Paging og segmentering

Lageradministration 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Common Language Runtime. Multithreading

Common 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 mere

Filsystemer: Anvendelse. dopsys

Filsystemer: 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 mere

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

Lageret 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 mere

Lageret er hierarkisk fokus nu: disk

Lageret 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 mere

Algoritmedesign med internetanvendelser ved Keld Helsgaun

Algoritmedesign 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 mere

Principper for Samtidighed og Styresystemer

Principper 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 mere

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. 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 mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

User Manual for LTC IGNOU

User 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 mere

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Scheduling. 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 mere

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012

Algoritmer 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 mere

Operativsystemer. Tobias Brixen Q2-2012

Operativsystemer. 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 mere

Danmarks Tekniske Universitet

Danmarks 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 mere

Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)

Algoritmeanalyse. Ø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 mere

Regulære udtryk og endelige automater

Regulæ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 mere

Opskriv 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.

Opskriv 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 mere

Opskriv 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

Opskriv 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 mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7

Opskriv 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 mere

Sommeren 2001, opgave 1

Sommeren 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 mere

Operativsystemer - dopsys

Operativsystemer - 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 mere

Styresystemer og tjenester

Styresystemer 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 mere

dpersp Uge 40 - Øvelser Internetalgoritmer

dpersp 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 mere

Opskriv 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

Opskriv 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 mere

Noter til kursusgang 8, IMAT og IMATØ

Noter 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 mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

INSTITUT 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 mere

Analyse af algoritmer

Analyse 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 mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 5. 5n 2 5 logn. 2 logn

Opskriv 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 mere

Rolf Fagerberg. Forår 2013

Rolf 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 mere

Planen for idag. Synkroniseringsmekanismer. Krav til løsning. Kritiske regioner. Bagerens algoritme. Kritisk region via delt lager.

Planen 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 mere

Sammenhængskomponenter i grafer

Sammenhæ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 mere

Brug 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 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 mere

Deling af ÅU-elever Sidst revideret /version 1.0/UNI C/Steen Eske

Deling 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 mere

Input/Output: Disk & Clock. dopsys

Input/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 mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 7 n 1/ log n. (log n) 4

Opskriv 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 mere

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion 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 mere

Rolf Fagerberg. Forår 2012

Rolf 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 mere

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk

Orienterede 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 mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 2 2 n 1/n (logn) n. n 2

Opskriv 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 mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK 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 mere

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 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 mere

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion 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 mere

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. 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 mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n

Opskriv 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 mere

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 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 mere

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer:

Sortering. 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 mere

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

Skriftlig 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 mere

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grå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)}

.. 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 mere

SW6 SAI. Services 1: (Fil) service admin torsdag 7/4 05

SW6 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 mere

Mundt Balloons MOM CAME Appendices MBA 301

Mundt 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 mere

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. 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 mere

Synkronisering af sekventielle processer

Synkronisering 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 mere

Introduktion til datastrukturer

Introduktion 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 mere

PARALLELIZATION 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 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 mere

Orienterede 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. 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 mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

INSTITUT 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 mere

A Profile for Safety Critical Java

A 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