Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Størrelse: px
Starte visningen fra side:

Download "Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet"

Transkript

1 Scheduling 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

2 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 vi på, hvordan man deler computerens resourcer på en fair måde 2

3 yield() yield() { outgoing = current; next = choosenextthread(); current = next; // so the global variable will be right switchfromto(outgoing, next); } choosenextthread()? Hvordan vælger den næste rigtige tråd til at køre på CPUen? 3

4 Oversigt Formålet med scheduling Trådes tilstande Fast prioritet Dynamisk prioritet Proportionel prioritet 4

5 Formålet med scheduling Med scheduling bestemmes den orden, hvori tråde afvikles på en eller flere CPUer Kan det gøres optimalt? Well, definér optimalt - udnytter de tilgængelige resourcer maximalt? - sikre, at computeren vedbliver responsiv? - sikre, at ingen jobs forbigås urimeligt? - sikre, at vigtige jobs klares først? 5

6 Tilgængelig information Udover en tråds øjeblikkelige tilstand, hvad kan vi så vide om et job? - hvor vigtigt er det? - og hvad mener vi med vigtig? - venter den på noget, og i givet fald på hvad? - forventet køretid: hvor længe kørte det sidste gang? 6

7 Oversigt Formålet med scheduling Trådes tilstande Fast prioritet Dynamisk prioritet Proportionel prioritet 7

8 Trådes tilstand Initiation yield or preemption Enten Runnable - arbejder en tråd ( running ) - har en tråd arbejde, som den kunne lave ( runnable ) - eller også venter den på noget ( waiting ) Runnable/waiting tråde dispatch Waiting - venter i køer/lister/træer ofte sorteret efter en prioritet eller deadline 8 event wait Running Termination

9 Omkostningen ved trådskift Det er ikke gratis at skifte fra én tråd til en anden - der skal gemmes registre, SP, IP, mv på stakken - og der er langt ud til hukommelsen fra CPU målt i nanosekunder - herudover har en tråd data gemt lokalt i CPUens cache RAM - sandsynligvis værdiløs for den næste tråd, der skal hente sin data CPU affinity holder tråde på samme core 9

10 Oversigt Formålet med scheduling Trådes tilstande Typer af schedulering Fast prioritet Dynamisk prioritet Proportionel prioritet 10

11 Simpel schedulering: Round Robin Ved hjælp af en hardware interrupt timer opdeles tiden på en CPU i intervaller - f.eks. 5 ms Alle (runnable) tråde skiftes, efter tur, til at køre på CPUen i et interval - alle tråde deles ligeligt om CPUen; alle får adgang - vigtige såvel som mindre vigtige jobs behandles ens - er der mange tråde, kan ventetiden blive lang 11

12 Arbejdsprofiler for computere Kontrol og styring - indbyggede systemer. Hårde tidskrav jobs skal gøres Servere - mange jobs, dyre maskiner. Udnyt resourcer maximalt. Throughput er essentielt. Personlige computere - ofte relativt lavt arbejdspres det meste af tiden. God brugeroplevelse i fokus lav responstid er essentiel 12

13 Urgency, Importance & Resource Allocation Presserende - er der en snarlig deadline for jobbet? Vigtighed - hvor vigtigt er jobbet i forhold til andre job? Resourcedeling - hvor stor del af de tilgængelige resourcer bør et job have? 13

14 Oversigt Formålet med scheduling Trådes tilstande Typer af schedulering Fast prioritet Dynamisk prioritet Proportionel prioritet 14

15 Fast prioritets schedulering Koncept: Tildel tråde en prioritet og foretræk altid højstprioriterede tråde - simpelt: prioriteterne sættes og kan let checkes - når CPUen bliver ledig, start højeste, runnable tråd - hvis ny runnable tråd har højest prioritet, startes dén Fare: Miskonfigurér prioriteterne, og en høj prioritetstråd kan sulte resten af systemet 15

16 Realtidssystemer Involverer ofte tråde givet opgaver med kendt worst-case performance og faste, periodiske deadlines Liu/Layland teoremer for fast prioritet: - hvis deadlines kan overholdes, vil de overholdes i et system, hvor de korteste perioder prioriteres - det er tilstrækkeligt at undersøge worst case, hvor samtlige trådes periode starter ved 0 16

17 Et eksempel på et problem T1 T1 - worst case: 2 s - periode: 4 s - højeste prioritet T2 T2 - worst case: 3 s - periode: 6 s - laveste prioritet T1 T2 T1 - Ved tid 6 har T2 kun kørt 2 s, og har da overtrådt sin deadline. Systemet har derfor fejlet. 17

18 Fast prioritet Simple, hurtige, ikke resourcekrævende Lette at analyse Ufleksible Sårbare, så skal bruges med forsigtighed og omtanke Typisk kún brugt under særdeles kontrollerede forhold 18

19 Oversigt Formålet med scheduling Trådes tilstande Typer af schedulering Fast prioritet Dynamisk prioritet Proportionel prioritet 19

20 Dynamisk prioritet Faste/statiske prioriteter er for ufleksible, og kræver nøje planlægning fra starten Operativsystemet kunne måske i stedet for dynamisk ændre trådes prioritet efter behov? Dette ville gøre schedulering mere robust 20

21 Earliest Deadline First Den højeste prioritet tildeles den runnable tråd, hvis deadline er nærmest T1 T T1 T2 T1 T2 T1 T1 T2 T1 T2 T1 T2 21

22 Personlige computere De fleste operationer på en personlig computer er typisk ikke karakteriseret ved hårde deadlines - undtagelser inkluderer: lyd- og videoafspilning Der giver det mere mening dynamisk at styre prioritet efter - hvor vigtig jobbet er for brugeren - således at responstid er så god som mulig 22

23 Schedulering på Windows Prioriteter ændres dynamisk Når en tråd bliver runnable - hæves prioriteten initielt, så tråden foretrækkes - prioriteten falder (linært), mens tråden kører Prioriteten kan hæves forskelligt - interaktive tråde hæves mere end simpel I/O Brugeren kan angive vigtighed af jobs 23

24 Usage decay scheduling (OS X) Jo længere en tråd har kørt (jo højere usage), des lavere prioritet får det (til en vis grænse) - når tråden ikke kører, falder dens usage med tiden til nul En tråd, der ikke har kørt i et stykke tid, får sin prioritet opjusteret til basisniveauet Usage Priority Base priority Time Time 24

25 Usage decay scheduling Med UDS opnås, at tråde, der venter på input, får opjusteret deres prioritet, således, at de, når input bliver klar, hurtigt får tildelt processortid Dette sikrer en høj grad af interaktivitet Ved at sænke kørende trådes prioritet under basisniveauet, sikres at selv lav prioritetstråde bliver kørt fra tid til anden 25

26 Ulemper ved dynamisk prioritet Denne type schedulering er velegnet til at sikre et responsivt system Men præcis styring er vanskeligere - det er ikke det primære mål (og der er jo typisk maskinkraft nok til, at jobs bliver udført alligevel) - der er almindeligvis tale om enkel bruger maskiner 26

27 Energiovervejelser ved schedulering Schedulerings hjerteslag er I/O og tidsbestemte events - de enkelte tråde arbejder og sover i forskellige intervaller En kørende CPU bruger strøm - men kan bringes i sleep state (meget mindre strømforbrug), når der ikke er noget at lave - dette er vigtigt for batterilevetiden 27

28 Mac OS X: Timer Coalescing De enkelte tråde tvinges kører, når i geled det passer dem - dette der er giver næsten CPUen hele mulighed tiden arbejde for at til sove CPUen spare strøm 28

29 Oversigt Formålet med scheduling Trådes tilstande Typer af schedulering Fast prioritet Dynamisk prioritet Proportionel prioritet 29

30 Proportionel scheduling Det kan ofte give mening at kræve, at en tråd (eller et job eller en bruger) skal tilordnes en bestemt andel af de tilgængelige resourcer - måske skal man dele ligeligt mellem brugerne - måske har én bruger betalt mere end de øvrige Der bliver dynamikken fra UDS besværlig 30

31 Metoder til at sikre proportion T1 T2 T3 Weighted Round-Robin - hver tråd kører lige ofte. De privilegerede tråde kører længere af gangen end mindre privilegerede tråde Weighted Fair Queuing 3: T1 2: T2 1: T3 - alle tråde kører et bestemt tidsrum. Privilegerede tråde kører oftere end mindre privilegerede tråde T1 T2 T3 T1 T2 T1 31

32 nice i Linux Niceness bruges til at angive, hvor vigtig en tråd er Den højeste værdi er -20 (mindst nice) Den laveste værdi er 19 (mest nice) Standardværdien er 0 Intuition: Jo flinkere en tråd er, jo mindre tid får den - (!) 32

33 Completely Fair Scheduling En variant af Weighted Round-Robin, som bruges i Linux Tråde tildeles en vægt baseret på deres niceness weight = nice Tråde tildeles derefter tid proportionalt til deres vægt i forhold til den samlede vægt 33

34 CFS target tid Target tid: Det tidsrum, hvorefter alle runnable tråde har kørt. Konfigurérbar. 6 ms på en enkel core maskine - hvis der er mange tråde, justeres target op Hvis alle tråde har samme niceness, har de samme vægt, og dermed deles de ligeligt om den tilgængelige tid - så bliver det en standard round robin algoritme 34

35 CFS vægt eksempel To tråde T1 & T2 med niceness 0 hhv. 5 T1 s vægt er T2 s vægt er b c = 1024 b c = 335 T1 s proportion bliver T2 s proportion bliver Med target tid på 6 ms, kan vi derfor forvente, at T1 får 4.5 ms og T2 får 1.5 ms 35

36 Virtual runtime Linux tæller, hvor lang tid den enkelte tråd har kørt, skaleret i forhold til trådens vægt Således ville T1 blive krediteret for at have kørt 1 ns per faktisk kørt nanosekund, hvor T2 ville blive krediteret 3 ns for samme tid - dette kaldes virtual runtime Linux vælger den (runnable) tråd, der er længst bagud (har mindst virtual runtime) Lav vægt man kommer hurtigere foran 36

37 Akkumuleret virtual runtime 9 Virtual runtime for T1 og T2 Virtual runtime Faktisk CPU tid: T1 T2 Tid Da T2 har tre gange så lav vægt som T1, vokser dens virtual runtime tre gange hurtigere 37 T1 T1 T2

38 Opvågnende og nye tråde En tråd, der har ventet længe, sættes til en virtual runtime lidt lavere end laveste værdi - så kan den behandle sit input hurtigt En ny tråd får tildelt en virtual runtime lidt større end laveste værdi - den kommer snart i gang, men ikke på bekostning af de mest trængende - dette hjælper også på Denial of Service angreb 38

39 CFS Med niceness kan en system administrator styre prioriteringen af de kørende programmer Ved at give tråde, der har ventet på input, en (lidt) lavere virtual runtime, gøres systemet responsivt 39

40 Sammenfatning Scheduling afhænger af brugskontekst - Realtidssystemer opererer med hårde tidsgrænser - Serversystemer værdsætter høj throughput - Personlige systemer prioriterer responstid Typisk har et moderne operativsystem elementer af alle tre typer 40

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

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

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

SAS GRID MANAGER THOMAS DAMGAARD, CHEFKONSULENT, SAS INSTITUTE Copyr i g ht 2016, SAS Ins titut e Inc. All rights res er ve d.

SAS GRID MANAGER THOMAS DAMGAARD, CHEFKONSULENT, SAS INSTITUTE Copyr i g ht 2016, SAS Ins titut e Inc. All rights res er ve d. SAS GRID MANAGER THOMAS DAMGAARD, CHEFKONSULENT, SAS INSTITUTE 2016-10-12 INDHOLD Hvad kan Grid Manager? Hvordan virker SAS Grid Manager? Spørgsmål HVAD KAN GRID MANAGER? Jobstyring Central administration

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

Uniprocessor Scheduling

Uniprocessor Scheduling Uniprocessor Scheduling Chapter 9 E&CE 354: Processes 0 Processor Scheduling Main OS concern: allocation of resources to processes CPU is a key resource; processor scheduling is concerned with its allocation

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

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

Planen for idag. Datalogi 1F Forår 2003. Hvad er en proces? Livscyklus for en proces. Hvad består en proces af?

Planen for idag. Datalogi 1F Forår 2003. Hvad er en proces? Livscyklus for en proces. Hvad består en proces af? Datalogi 1F Forår 2003 OS[2]: Processor, tråde og skedulering Jørgen Sværke Hansen Planen for idag Processer: Procesbegrebet Processkift Processers familieliv Kommunikerende processer Tråde En lettere

Læs mere

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Virtuel Hukommelse 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Formålet med virtuel hukommelse Organisering af virtuel hukommelse Håndtering af virtuel hukommelse 2 Minimal computerarkitektur

Læs mere

Algorithms & Architectures II

Algorithms & Architectures II Algorithms & Architectures II Algorithms & Architectures II Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer

Læs mere

Introduktion til Operativsystemer

Introduktion til Operativsystemer Introduktion til Operativsystemer 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Formål Hvad er en computer? Operativsystemets rolle Multitasking 2 Formål Introduktion af de basale

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

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

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

Analyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler Mads Dore alle Afdeling for Proceskontrol

Analyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler Mads Dore alle Afdeling for Proceskontrol Analyse og design af Indlejrede Systemer v/ Jens Dalsgaard Nielsen Henrik Schiøler Mads Dore alle Afdeling for Proceskontrol 1 kursusindhold... Del 1: 5 mm Parallelitet, multiprogrammering, OS services

Læs mere

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9) Operativsystemer of C Efterår Virtuel hukommelse (kap. 9) 8// Planen for idag q Virtuel hukommelse. q Demand paging / page faults. q Sideudskiftningsalgoritmer. q Rammeallokering til processer. Ø Øvelser:

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Introduktion til kurset Rolf Fagerberg Forår 2019 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, Institut for Matematik og Datalogi (IMADA) Forskningsområde: algoritmer

Læs mere

PERFORMANCE DokumentBrokeren

PERFORMANCE DokumentBrokeren PERFORMANCE DokumentBrokeren Copyright 2012 INDHOLDSFORTEGNELSE 1 Målinger og analyse...1 1.1 Kørsler på Amazon-serveren...1 1.1.1 PDF...1 1.1.2 ODF...2 1.2 Kørsler på PC med 2 kerner og 12 GB RAM...2

Læs mere

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

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

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

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software

Læs mere

Jobliste overblik

Jobliste overblik Kompakt Jobliste. Du kan starte Jobliste på mange måder. Du kan højreklikke på start knappen eller på proceslinjen, og vælge Jobliste i menuen, der kommer til syne. Du kan også åbne Jobliste med genvejstaster

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

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

Rolf Fagerberg. Forår 2014

Rolf Fagerberg. Forår 2014 Forår 2014 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: Format: Programmering og Diskret matematik I (forelæsninger), TE (øvelser), S (arbejde selv og i studiegrupper) Eksamenform: Skriftlig

Læs mere

Manual: Ergometer ET6

Manual: Ergometer ET6 Manual: Ergometer ET6 Ting du bør vide før du begynder din træning A. Indgang af strøm Tilslut adapteren til udstyret, derefter vil computeren sige en bip-lyd og tænde computeren i manuel mode. B. Program

Læs mere

Introduktion til DM507

Introduktion til DM507 Introduktion til DM507 Rolf Fagerberg Forår 2017 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer 2 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA

Læs mere

Deadlocks dopsys 1 onsdag den 8. december 2010

Deadlocks dopsys 1 onsdag den 8. december 2010 Deadlocks dopsys 1 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

Læs mere

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

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

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

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software Engineering BA i Matematik-Økonomi BA i Anvendt Matematik BA

Læs mere

Sortering i lineær tid

Sortering i lineær tid Sortering i lineær tid Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel. Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel.

Læs mere

Vidar Jon Bauge. Notater til Teknik. Datamatikeruddannelsen efterår 2005 Side 1 af 54

Vidar Jon Bauge. Notater til Teknik. Datamatikeruddannelsen efterår 2005 Side 1 af 54 Notater til Teknik 2005 Datamatikeruddannelsen efterår 2005 Side 1 af 54 Indholdsfortegnelse Operativsystemer......4 Batch systemer......4 Time-sharing systemer......4 Computer Systemer......6 I/O struktur......6

Læs mere

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

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

Læs mere

Divide-and-Conquer algoritmer

Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer

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

Turneringsplanlægning

Turneringsplanlægning Rasmus Vinther Rasmussen Afdelingen for Operations Analyse Aarhus Universitet Matematiklærerdag 006 Er der nogen, der har prøvet at planlægge en turnering? Er der nogen, som har hørt om en turnering, der

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

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse

Læs mere

Interconnect. Front end interface

Interconnect. Front end interface Direct Remote Access to Devices (DREAD) Introduktion These Metode Baggrund Prototypen Resultater Konklusioner Kritik og fremtidigt arbejde 5. december 2000 Direct Remote Access to Devices slide 1 Klynger

Læs mere

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm. Computer Literacy Computer Literacy handler om at forstå hvad computer (hardware) og software kan gøre. Denne præsentation fokuserer kun på hardware februar 2002 Computerliteracy -hardware (15 dias) 1

Læs mere

Installation af MySQL server på PC

Installation af MySQL server på PC Installation af MySQL server på PC (Udgave 0.02 2013-Oktober-06 @ 22:30 Chris Bagge, Mindre rettelser) Dette er en kort beskrivelse af hvordan man får installeret en MySQL server på en PC med Windows 7.

Læs mere

VPN Windows 7. Denne guide viser dig, hvordan du konfigurerer VPN på din pc, og hvordan du nemt og hurtigt opretter og afbryder forbindelsen.

VPN Windows 7. Denne guide viser dig, hvordan du konfigurerer VPN på din pc, og hvordan du nemt og hurtigt opretter og afbryder forbindelsen. 1 VPN Windows 7 VPN (Virtual Private Network) er en forbindelsesmulighed, som giver dig adgang til netværket på dit institut eller dit arbejde, når du befinder dig uden for netværket. For at få VPN-adgang

Læs mere

Divide-and-Conquer algoritmer

Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer

Læs mere

Divide-and-Conquer algoritmer

Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

Bilag 7 Analyse af alternative statistiske modeller til DEA Dette bilag er en kort beskrivelse af Forsyningssekretariatets valg af DEAmodellen.

Bilag 7 Analyse af alternative statistiske modeller til DEA Dette bilag er en kort beskrivelse af Forsyningssekretariatets valg af DEAmodellen. Bilag 7 Analyse af alternative statistiske modeller til DEA Dette bilag er en kort beskrivelse af Forsyningssekretariatets valg af DEAmodellen. FORSYNINGSSEKRETARIATET OKTOBER 2011 INDLEDNING... 3 SDEA...

Læs mere

Analyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler alle Afdeling for Proceskontrol

Analyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler alle Afdeling for Proceskontrol Analyse og design af Indlejrede Systemer v/ Jens Dalsgaard Nielsen Henrik Schiøler alle Afdeling for Proceskontrol 1 kursusindhold... Introduktion til parallellitet og multiprogrammering Analyse, modellering,

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

1. Detaljeret beskrivelse

1. Detaljeret beskrivelse Digital Diktafon Indhold 1. Detaljeret beskrivelse... 3 2. Specifikation... 4 3. Sæt batterier i... 4 4. Anvendelse... 6 4.1. Tænd/Sluk... 6 4.2. Optagelse... 6 4.4.1 Vælg optagelsestilstand... 6 4.4.2

Læs mere

Ilægning i standardskuffen til 250 ark

Ilægning i standardskuffen til 250 ark Oversigtsvejledning Ilægning af papir og specialmedier Denne sektion forklarer hvorledes man ilægger skufferne til 250 og 550 ark, og den manuelle arkføder. Det indeholder også oplysninger om indstilling

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

Safe Work Space service beskrivelse. Microsoft Windows version. Version (Maj 2018)

Safe Work Space service beskrivelse. Microsoft Windows version. Version (Maj 2018) Safe Work Space service beskrivelse Microsoft Windows version. Version 1.0.2 (Maj 2018) 1. Introduktion Dette dokument giver en detaljeret beskrivelse af de services som er indeholdt i Safe Work Space

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

Divide-and-Conquer algoritmer

Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer (af samme type). 2. Løs delproblemerne ved rekursion (dvs. kald algoritmen

Læs mere

DAN TWINCA EASY. Brugervejledning

DAN TWINCA EASY. Brugervejledning DAN TWINCA EASY Brugervejledning EASY BrugerVejledning DK.doc Version 1.00 Indholdsfortegnelse Indholdsfortegnelse... 2 Start og manuel fodring... 4 Opstart...4 Indtastning af talværdier i menuen...4 Automatisk

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

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

\ \ Computerens Anatomi / /

\ \ Computerens Anatomi / / HTX Roskilde - mat-it-prog, 1.4 \ \ Computerens Anatomi / / Introduktion En PC ( personlige computer ) eller computer er bygget op af forskellige komponenter. Vi vil hermed gennemgå størstedelen af computerens

Læs mere

Hvorfor er det unødvendigt med indregulering af gulvvarme, når man har et Pettinaroli COMFORT IP styresystem?

Hvorfor er det unødvendigt med indregulering af gulvvarme, når man har et Pettinaroli COMFORT IP styresystem? Hvorfor er det unødvendigt med indregulering af gulvvarme, når man har et Pettinaroli COMFORT IP styresystem? Pettinaroli COMFORT IP pulsstyring Konventionelt system Mange konkurrerende produkter benytter

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Asymptotisk analyse af algoritmers køretider

Asymptotisk analyse af algoritmers køretider Asymptotisk analyse af algoritmers køretider Analyse af køretid Recall: Vi ønsker at vurdere (analysere) algoritmer på forhånd inden vi bruger lang tid på at implementere dem. De to primære spørgsmål:

Læs mere

VPN-klienten SecureClient for TDC Managed Firewall

VPN-klienten SecureClient for TDC Managed Firewall Installationsvejledning VPN-klienten SecureClient for TDC Managed Firewall Denne installationsvejledning beskriver, hvordan Check Point s VPN-klient SecureClient (version NGX R60) installeres. Med SecureClient

Læs mere

Perspektiverende Datalogi Klassiske Algoritmer

Perspektiverende Datalogi Klassiske Algoritmer Perspektiverende Datalogi Klassiske Algoritmer Gerth Stølting Brodal 1 Indhold Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer Ressourceforbrug for algoritmer Kompleksitet

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

Hvad skal du vide for at bygge din egen computer?

Hvad skal du vide for at bygge din egen computer? Hvad skal du vide for at bygge din egen computer? Kender du alle de her dele og hvad de gør godt for? Er du mellem 11 og 16 år, og tænker på at sammensætte din egen computer? Så er denne her guide lige

Læs mere

CPUer og maskinkode DM534. Rolf Fagerberg

CPUer og maskinkode DM534. Rolf Fagerberg CPUer og maskinkode DM534 Rolf Fagerberg CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal

Læs mere

Opsætning af MobilePBX med Kalenderdatabase

Opsætning af MobilePBX med Kalenderdatabase Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database

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

MTU 2013 Medarbejdertilfredshedsundersøgelse

MTU 2013 Medarbejdertilfredshedsundersøgelse MTU 13 Medarbejdertilfredshedsundersøgelse APV - Arbejdspladsvurdering (Tillæg til MTU rapporten) Svarprocent: 87% (222 besvarelser ud af 256 mulige) APV Indhold Indhold Introduktion til undersøgelsen

Læs mere

Typisk modul-opbygget PLC system (Allan Bradley)

Typisk modul-opbygget PLC system (Allan Bradley) 1 Typisk modul-opbygget PLC system (Allan Bradley) 5 6 Prrammøren nødt til at define hvilke modul systemet består af i hvilke slots de placet. Et typisk system vil have såvel anale som digitale ind- udgange

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 Onsdag den. august 200, kl. 9.00.00 Opgave (25%) Lad A = A[] A[n] være et array af heltal. Længden af det længste

Læs mere

Flytte Thunderbird-adresser til din nye Outlook Exchange.

Flytte Thunderbird-adresser til din nye Outlook Exchange. Flytte Thunderbird-adresser til din nye Outlook Exchange. Denne guide forklarer Hvordan du eksporterer dine adresser fra Thunderbird mail som LDIF fil Hvordan kontakterne konverteres til en Outlook CSV

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2010 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 24. april, 2010 (let justeret 10. maj og 21. maj 2010) Dette projekt udleveres i tre

Læs mere

Analyse af algoritmer. Analyse af algoritmer. Analyse af algoritmer. Køretid

Analyse af algoritmer. Analyse af algoritmer. Analyse af algoritmer. Køretid Philip Bille Mål. At bestemme og forudsige resourceforbrug og korrekthed af algoritmer Eks. Virker min algoritme til at beregne korteste veje i grafer? Hvor hurtigt kører min algoritme til at søge efter

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt

Læs mere

Projekt - Visual Basic for Applications N på stribe

Projekt - Visual Basic for Applications N på stribe Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,

Læs mere

MTU 2015 Medarbejdertilfredshedsundersøgelse

MTU 2015 Medarbejdertilfredshedsundersøgelse MTU 15 Medarbejdertilfredshedsundersøgelse APV - Arbejdspladsvurdering (Tillæg til MTU rapporten) Svarprocent: 94% (11 besvarelser ud af 117 mulige) APV Indhold Indhold Introduktion til undersøgelsen Introduktion

Læs mere

Vidicode præsentation

Vidicode præsentation Vidicode præsentation Blue line Fax Servere Netværks fax integration nemt og simpelt Blueline Fax Servere Hvad er det? Hvorfor er det nemt? Hvad har du brug for? Hvordan virker det? Hvad ellers? Blueline

Læs mere

N r. 2 4. Visdomstænder

N r. 2 4. Visdomstænder N r. 2 4 Visdomstænder Visdomstænder Hvad er visdomstænder? De fleste får deres visdomstænder omkring 20-års alderen. Man kan i alt få fire visdomstænder, nemlig to i overkæben og to i underkæben. Navnet

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

MTU 2013 Medarbejdertilfredshedsundersøgelse

MTU 2013 Medarbejdertilfredshedsundersøgelse MTU 213 Medarbejdertilfredshedsundersøgelse APV - Arbejdspladsvurdering (Tillæg til MTU rapporten) Svarprocent: 78% (273 besvarelser ud af 35 mulige) APV Indhold Indhold Introduktion til undersøgelsen

Læs mere

MTU 2013 Medarbejdertilfredshedsundersøgelse

MTU 2013 Medarbejdertilfredshedsundersøgelse MTU 13 Medarbejdertilfredshedsundersøgelse APV - Arbejdspladsvurdering (Tillæg til MTU rapporten) Odense Søndersø Svarprocent: % (237 besvarelser ud af 296 mulige) APV Indhold Indhold Introduktion til

Læs mere

uprocessorens hardware

uprocessorens hardware uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller

Læs mere

Indholdsfortegnelse. Installation

Indholdsfortegnelse. Installation Indholdsfortegnelse Generelt om installationen... 2 Installation af Sybase Sybase SQL Anywhere... 3 Installation af Sybase SQL Anywhere... 4 Licensbetingelser... 6 Registreringsnøgle... 7 Bruger information...

Læs mere

Vpn Mac os x 10.6. Denne guide viser dig, hvordan du konfigurerer VPN på din Mac, og hvordan du nemt og hurtigt opretter og afbryder forbindelsen.

Vpn Mac os x 10.6. Denne guide viser dig, hvordan du konfigurerer VPN på din Mac, og hvordan du nemt og hurtigt opretter og afbryder forbindelsen. 1 Vpn Mac os x 10.6 VPN (Virtual Private Network) er en forbindelsesmulighed, som giver dig adgang til netværket på dit institut eller dit arbejde, når du befinder dig uden for netværket. For at få VPN-adgang

Læs mere

Netprøver.dk. Brugervejledning til Digital Prøvevagts-ansvarlig. 21. februar 2019

Netprøver.dk. Brugervejledning til Digital Prøvevagts-ansvarlig. 21. februar 2019 Netprøver.dk Brugervejledning til Digital Prøvevagts-ansvarlig 21. februar 2019 1 Indhold 1 Introduktion... 3 2 Status på Den Digitale Prøvevagt... 4 2.1 Sådan tjekker du om eleverne kører Den Digitale

Læs mere

Hvad er dukapc. E-mail modulet. dukapc 2

Hvad er dukapc. E-mail modulet. dukapc 2 dukapc 2 Hvad er dukapc dukapc er en ældrevenlig computer, som hjælper seniorer med at komme online og få glæde af computerens og internettets mange muligheder. Også selvom brugeren aldrig før har rørt

Læs mere

www.eggtronic.com USER MANUAL

www.eggtronic.com USER MANUAL www.eggtronic.com USER MANUAL Index Dansk p. 2 Figures 5 3 3 1 2 4 5 6 3 6 3 6 6 3 3 6 7 4 usb 3.0 slots usb cartridge connectors additional usb ports bluetooth cartridge sd card reader cartridge other

Læs mere

MTU 2011 Medarbejdertilfredshedsundersøgelse

MTU 2011 Medarbejdertilfredshedsundersøgelse MTU 211 Medarbejdertilfredshedsundersøgelse APV - Arbejdspladsvurdering (Tillæg til MTU rapporten) Svarprocent: 96% (66 besvarelser ud af mulige) APV Indhold Indhold Introduktion til undersøgelsen Introduktion

Læs mere

CANSAT & ARDUINO step by step

CANSAT & ARDUINO step by step CANSAT & ARDUINO step by step Jens Dalsgaard Nielsen SATLAB Aalborg Universitet Danmark jdn@space.aau.dk 1/51 Arduino CANSAT - MÅL At måle ved hjælp af sensor temperatur, tryk, acceleration, CO2, lys,...

Læs mere

Acronis et stærkt værktøj til backup. Af Hanne B. Stegemüller 6. juni 2015

Acronis et stærkt værktøj til backup. Af Hanne B. Stegemüller 6. juni 2015 Acronis et stærkt værktøj til backup Af Hanne B. Stegemüller 6. juni 2015 Acronis True Image 2015 Denne guide handler om det meget stærke værktøj til backup, der hedder Acronis. Jeg baserer guiden på flere

Læs mere

Perspektiverende Datalogikursus

Perspektiverende Datalogikursus Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 2. september 2005 1 Afleveringsopgaver... /\.. // \\ / \ / [] \ \\_// / \ / \ []._. ---------------- _ 2 Øvelse

Læs mere

VDI AARHUS UNIVERSITET VER 1.5 VDI 30. APRIL

VDI AARHUS UNIVERSITET VER 1.5 VDI 30. APRIL VER 1.5 30. APRIL FORBINDELSE TIL S Hvad er (Virtual Desktop Infrastructure)? Er en virtuel maskine som ligger på en server Styring og vedligeholdes administreres centralt Forbedret sikkerhed og data-opbevaring

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Skyfillers Hosted SharePoint. Kundemanual

Skyfillers Hosted SharePoint. Kundemanual Skyfillers Hosted SharePoint Kundemanual Kundemanual Indhold Generelt... 2 Online adgang SharePoint side... 2 Skift brugeradgangskode... 2 Adgang & opsætning... 3 Windows... 3 Tilføj SharePoint som intranet

Læs mere