Semaforen. Semaforen p. 1/2
|
|
- Melanie Koning
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Semaforen 2008 Semaforen p. 1/2
2 Vorige Keer mbv mutual exclusion kritieke sectie (cs) 1. software : Dekker s, Peterson s algoritme 2. hardware: uniprocessor machine: disable interrupts 3. hardware: multiprocessor machine: speciale machineinstructies, bijv. set&test Nadeel van 1 & 3 : busy waiting Nadeel van 2 : bloedlink Daarom in Hfst 5.3: semaforen [Dijkstra 65] Semaforen p. 2/2
3 Binaire Semaforen Binaire semafoor s bestaat uit: integer s.count, met waarde 0 of 1 een rij van geblokkeerde processen s.queue 2 atomaire operaties: wait en signal Idee: count = 0 kritieke sectie bezet proces wacht in queue tot het naar binnen mag wait(s) als je mag ga cs in en zet s.count op 0 anders blokkeer in s.queue signal(s) wek indien mogelijk proces in s.queue anders zet s.count terug op 1 Semaforen p. 3/2
4 Mutual Exclusion P1 P2.. wait(s); wait(s); cs1; cs2; signal(s); signal(s);.. binaire semafoor wordt ook wel lock genoemd wait is dan acquire lock signal is dan release lock Semaforen p. 4/2
5 Implementatie struct semaphore { int count; list_of_processes queue; void wait(semaphore s) { if (s.count = 1 ) then { s.count = 0 else { zet dit proces in s.queue; blokkeer het void signal(semaphore s) { if empty(s.queue) then { s.count = 1 else { haal een proces uit s.queue ; zet het in ready queue Semaforen p. 5/2
6 Implementatie Maar: wait en signal moeten atomair zijn! Dus: mutual exclusion nodig! Oplossingen: software oplossing (Dekker s, Peterson s) probleem: overhead, beetje busy waiting op uniprocessor machine: disable interrupts redelijk, gegeven korte en vaste duur operaties gebruik speciale machineinstructie (set&test) probleem: beetje busy waiting wait en signal zelf als machine-instructies? Semaforen p. 6/2
7 Voordelen van Semaforen Busy waiting? Neen: proces wordt gewekt en hoeft niet zelf te kijken of het weer verder mag Starvation? Als het wekken via First-In-First-Out gaat zal er geen starvation optreden Bij een ander wekbeleid mogelijk wel starvation Ten opzichte van uitschakelen interrupts: Semaforen niet zo link Verschillende semaforen worden voor verschillende soorten kritieke secties gebruikt Semaforen p. 7/2
8 Algemene Semaforen Algemene semafoor s bestaat uit integer s.count, met initiële waarde 0 een rij van geblokkeerde processen s.queue atomaire operaties: wait, signal Idee: count is het aantal processen dat nog naar binnen mag wait(s) verlaag eerst s.count blokkeer in s.queue als s.count< 0 signal(s) verhoog eerst s.count wek proces in s.queue als s.count 0 Semaforen p. 8/2
9 Implementatie struct semaphore { int count; list_of_processes queue; ; void wait(semaphore s) { s.count = s.count-1; if (s.count<0) {zet dit proces in s.queue; blokkeer het ; void signal(semaphore s) { s.count = s.count+1; if (s.count<=0) {haal ander proces uit s.queue; zet het in ready queue ; Natuurlijk weer atomair! Semaforen p. 9/2
10 Eigenschappen Het wekken van een proces wil zeggen dat het in de READY-queue wordt geplaatst; het hoeft dus niet meteen aan de beurt te zijn om instructies uit te voeren Semaforen worden niet uitsluitend gebruikt om kritieke secties af te schermen, maar meer algemeen om ervoor te zorgen dat bepaalde code alleen wordt uitgevoerd als aan bepaalde eisen is voldaan. Semaforen p. 10/2
11 Producer/Consumer Probleem n producers en 1 consumer van buffer b Gemeenschappelijke variabelen: in, out, b producer while (true) { "produceer item v"; b[in] = v; in = in+1; consumer while (true) { "wacht tot in > out"; w = b[out]; out = out+1; "verwerk item w"; Wat zijn de synchronisatie-problemen hier? Semaforen p. 11/2
12 Oneindige Buffer b[1] b[2] b[3] b[4] b[5] out in Note: shaded area indicates portion of buffer that is occupied Figure 5.12 Infinite Buffer for the Producer/Consumer Problem Semaforen p. 12/2
13 Oplossing? bin. sem. s, initieel s.count=1 bin. sem. delay, initieel delay.count=0 producer while (true) { produce(); semwaitb(s); append(); n++; if (n==1) {semsignalb(delay); semsignalb(s); consumer semwaitb(delay); while (true) { semwaitb(s); take(); n--; semsignalb(s); consume(); if (n==0) {semwaitb(delay); Semaforen p. 13/2
14 Neen... Zie Uppaal tegenvoorbeeld. Semaforen p. 14/2
15 Consumer Aanpassing Introduceer hulpvariabele semwaitb (delay); while (true) { semwaitb(s); take(); n--; m = n; semsignalb(s); consume(); if (m==0) {semwaitb(delay) Nu wel beide problemen opgelost! Semaforen p. 15/2
16 Oplossing met Alg. Semaforen bin. sem. s, initieel s.count=1 alg. sem. n, initieel n.count=0 producer while (true) { produce(); semwait(s); append(); semsignal(s); semsignal(n); consumer while (true) { semwait(n); semwait(s); take(); semsignal(s); consume(); Semaforen p. 16/2
17 Producer Aanpassing? Verwissel signal(s) en signal(n) producer while (true) { produce(); semwait(s); append(); semsignal(n); semsignal(s); consumer while (true) { semwait(n); semwait(s); take(); semsignal(s); consume(); Semaforen p. 17/2
18 Producer Aanpassing? Verwissel signal(s) en signal(n) OK omdat consumer op beide semaforen wacht Semaforen p. 17/2
19 Consumer Aanpassing? Verwissel wait(n) en wait(s) producer while (true) { produce(); semwait(s); append(); semsignal(n); semsignal(s); consumer while (true) { semwait(s); semwait(n); take(); semsignal(s); consume(); Semaforen p. 18/2
20 Consumer Aanpassing? Verwissel wait(n) en wait(s) producer while (true) { produce(); semwait(s); append(); semsignal(n); semsignal(s); consumer while (true) { semwait(s); semwait(n); take(); semsignal(s); consume(); Deadlock als consumer in cs bij lege buffer Semaforen p. 18/2
21 Eindige Buffer b[1] b[2] b[3] b[4] b[5] b[n] out in (a) b[1] b[2] b[3] b[4] b[5] b[n] in out (b) Figure 5.16 Finite Circular Buffer for the Producer/Consumer Problem Semaforen p. 19/2
22 Oplossing? bin. sem. s, initieel s.count=1 alg. sem. n, initieel n.count=0 alg. sem. e, initieel e.count=buffersize producer while (true) { produce(); wait(e); wait(s); append(); signal(s); signal(n); consumer while (true) { wait(n); wait(s); take(); signal(s); signal(e); Semaforen p. 20/2
23 Oplossing?!!! bin. sem. s, initieel s.count=1 alg. sem. n, initieel n.count=0 alg. sem. e, initieel e.count=buffersize producer while (true) { produce(); wait(e); wait(s); produce(); signal(s); signal(n); consumer while (true) { wait(n); wait(s); take(); signal(s); signal(e); Semaforen p. 20/2
Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.
Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen
Nadere informatieMutual Exclusion en Semaforen
Mutual Exclusion en Semaforen Werkcollege Processen Wouter Geraedts w.geraedts@student.ru.nl 24 mei 2013 Wouter Geraedts 24 mei 2013 Werkcollege Processen 2013-05-24 1 / 18 Outline Hyman s Algoritme Hyman
Nadere informatieConclusies over semaforen
Conclusies over semaforen gebruik semaforen is subtiel signal & wait operaties, en access van shared data, op allerlei plekken in de code Kan dit niet handiger? Dwz: zijn er geen betere abstracties? Ja:
Nadere informatieTECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica
TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Deel-tentamen Operating Systemen (2IN05) op vrijdag 5 oktober 2007, 9.00-10.30 uur. Het tentamen bestaat uit twee delen die apart worden
Nadere informatieICT Infrastructuren: Concurrency en Deadlock. 25 november 2013 David N. Jansen
ICT Infrastructuren: Concurrency en Deadlock 25 november 2013 David N. Jansen Opdracht 1, vraag Wie is het gelukt te assembleren/compileren? Wie heej al een paar instruckes geschreven? Mac OS X: bug +
Nadere informatieTI-2720 Operating System Concepten. 6 november 2012, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen
TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Sectie Parallelle en Gedistribueerde Systemen TUDelft TI-2720 Operating System Concepten 6 november 2012, 14.00-17.00 uur.
Nadere informatieHet begrip 'Proces' Proces-toestand
Het begrip 'Proces' Een proces is de uitvoering van een programma Bij een proces hoort een programma (de code) Program Counter (Instructiewijzer) stack data (data sectie) twee of meer processen kunnen
Nadere informatieReal-Time Systems (RTSYST)
Real-Time Systems (RTSYST) Week 2 Process/Thread states ready running Wait for I/O or I/O or completion blocked / sleeping Scheduler = deel van OS dat de toestanden van processen/threads bepaald. OS gebruikt
Nadere informatieToets In2305-ii Embedded Programming Dinsdag 28 November 2006, 15:45-16:30
Toets In2305-ii Embedded Programming Dinsdag 28 November 2006, 15:45-16:30 Teneinde misverstanden over de syntactische geldigheid van code fragmenten in dit tentamen te voorkomen, zal altijd worden gesproken
Nadere informatieTree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011
15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree
Nadere informatieTree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen
Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree traversal 15 november
Nadere informatieElfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort
Algoritmiek 018/Algoritme van Dijkstra Elfde college algoritmiek 18 mei 018 Algoritme van Dijkstra, Heap, Heapify & Heapsort 1 Algoritmiek 018/Algoritme van Dijkstra Uit college 10: Voorb. -1- A B C D
Nadere informatieTake-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994
Take-home Tentamen Protocolvericatie Vakgroep Programmatuur Universiteit van Amsterdam 27 Maart 1994 Algemene Opmerkingen Dit tentamen omvat zes reguliere opgaven plus een bonusopgave. Opgaves 1, 2, 5
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
Nadere informatie4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Grotere programma s ontwerpen/maken Datastructuren en algoritmes 2 Evolutie,
Nadere informatieTentamen In2305-ii Embedded Programming Woensdag 17 Januari 2007, 14:00-17:00
Tentamen In2305-ii Embedded Programming Woensdag 17 Januari 2007, 14:00-17:00 Teneinde misverstanden over de syntactische geldigheid van code fragmenten in dit tentamen te voorkomen, zal altijd worden
Nadere informatieRCL Arduino Workshop 1
RCL Arduino Workshop 1 Leren door doen april 2015 - slides voor RCL Arduino workshop 1 ON4CDU & ON8VQ Workshop Leren door doen Werken in een groep Beperkte tijd Alleen essentiele vragen stellen Thuis oefenen
Nadere informatieCPU scheduling : introductie
CPU scheduling : introductie CPU scheduling nodig bij multiprogrammering doel: een zo hoog mogelijke CPU-bezetting, bij tevreden gebruikers proces bestaat uit afwisselend CPU-bursts en I/O-bursts lengte
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden : stapels, rijen en binaire bomen Walter Kosters week 12: 26 30 november 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 en Vierde programmeeropgave Othello programmeren we als volgt:
Nadere informatieTECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica
TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examen Operating Systemen (2R230) op donderdag 31 augustus 2006, 14.00-17.00 uur. Het tentamen bestaat uit drie delen die apart worden
Nadere informatieGedistribueerd programmeren
Gedistribueerd programmeren Gedistribueerd programmeren Collegedictaat, september 2007 Gerard Tel Email: gerard@cs.uu.nl Instituut voor Informatica en Informatiekunde Universiteit Utrecht Opmaak: Gerard
Nadere informatieTECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica
TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examen Operating Systemen (2R230) op dinsdag 27 juni 2006, 14.00-17.00 uur. Het tentamen bestaat uit drie delen die apart worden ingeleverd.
Nadere informatieVoorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten
Nadere informatieArduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam
Arduino Cursus, Deel 2 Programmeren Simon Pauw, ZB45, Amsterdam Programmeren Geen zorgen als je niet alles begrijpt. Doel: Het snappen van bestaande code. Meeste kennis ook toepasbaar buiten de Arduino
Nadere informatieHoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?
Hoofdstuk 3: Processen: Beschrijving en Besturing Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? 1 Wat is een proces? Een proces is een programma in uitvoering
Nadere informatieTechnology, Innovation & Society Delft
Technology, Innovation & Society Delft VOORBLAD SCHRIFTELIJKE TOETSEN OPLEIDING TOETSCODE GROEP : ELEKTROTECHNIEK : RTSYST-co1 : ECV TOETSDATUM : 12 JUNI 2012 TIJD : 11.00 12.30 uur AANTAL PAGINA S (incl.
Nadere informatieTECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica
TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examen Operating Systemen (2R230) op vrijdag 26 augustus 2005, 14.00-17.00 uur. Het tentamen bestaat uit drie delen die apart worden
Nadere informatieDeel 8: stappenmotoren en interrupts
Deel 8: stappenmotoren en interrupts Stappenmotor Kan hoek van as instellen zonder een gesloten feedbacksysteem. Het is een simpel en precies open loop systeem. Werkt met discrete stappen, dus schokkerig
Nadere informatie1=2720/2725 Operating System Concepten
TECHNISCHE UNIVERSITEIT DELFT Faculteit EWI, Afdeling SCT 1 1 1=2720/2725 Operating System Concepten ^ november 2013, 14.00-17.00 uur. docent: H.J. Sips Dit is een tentamen met 9 open vragen Opgave Punten
Nadere informatieBesturingssystemen. Gilles Callebaut. Samenvatting Operating Systems
Samenvatting Operating Systems Besturingssystemen Samenvatting gebaseerd op de lessen van Naessens Vincent, alsook op het boek, Operating Systems: Internals and Design Principles. Gilles Callebaut 1 INHOUD
Nadere informatieReal-Time Systems (RTSYST)
Real-Time Systems (RTSYST) Week 5 Real-time faciliteiten Wat willen we met tijd in een RT systeem? Gebruikvan de tijd. Tijd(sduur) meten. (Tot een) bepaalde tijd slapen. Beperkte tijd wachten = time-outs.
Nadere informatieVierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search
Algoritmiek 2018/Toestand-actie-ruimte Vierde college algoritmiek 2 maart 2018 Toestand-actie-ruimte Exhaustive Search 1 Algoritmiek 2018/Toestand-actie-ruimte Kannen Voorbeeld 4: Kannenprobleem We hebben
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Faculteit EWI Tentamen Programmeren in C (EE1400) 28 jan 2011, 9.00 12.00 - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Nadere informatieJava virtuele machine JVM
Implementatie Java Java virtuele machine JVM Java programma vertaald naar byte code instructies Byte code instructies uitgevoerd door JVM JVM is processor architectuur kan in principe in hardware worden
Nadere informatieVijfde college algoritmiek. 2/3 maart Exhaustive search
Vijfde college algoritmiek 2/3 maart 2017 Exhaustive search 1 Voor- en nadelen Brute force: Voordelen: - algemeen toepasbaar - eenvoudig - levert voor een aantal belangrijke problemen (zoeken, patroonherkenning)
Nadere informatieHOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
Nadere informatieIN1671 Operating System concepten Oefen opgaven
IN1671 Operating System concepten Oefen opgaven Opgave 1 Een OS is vaak ontworpen overeenkomstig een lagenstructuur. a. Beschrijf kort (in enkele zinnen) de essentie van een gelaagde opbouw. (Welk verband
Nadere informatieConcurrency in Java met threads. Java Threads. Voorbeelden concurrency in applicaties. Waarom concurrency in Java?
Java Threads Concurrency in Java met threads Wat zijn threads? Hoe werken threads? Hoe werk je met threads in Java? Scheduling Synchronisatie In Java programma s is concurrency (aka parallellisme) mogelijk.
Nadere informatieDoorzoeken van grafen. Algoritmiek
Doorzoeken van grafen Algoritmiek Vandaag Methoden om door grafen te wandelen Depth First Search Breadth First Search Gerichte Acyclische Grafen en topologische sorteringen 2 Doolhof start eind 3 Depth
Nadere informatiepublic boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatieArduino Workshop 1 Zuid-Limburg
Arduino Workshop 1 Zuid-Limburg Leren door doen Mei 2016 - slides voor Arduino workshop 1 v2.5 Zuid-Limburg PA3CZS, PA0FOT, ON4CDU, PE1EAM 1 Workshop 1 Workshop 1 concentreert op kennismaking en eenvoudige
Nadere informatieComputerarchitectuur en netwerken. InterProcess Communication (IPC)
Computerarchitectuur en netwerken 5 InterProcess Communication (IPC) Lennart Herlaar 21 september 2016 Inhoud Manieren van communicatie tussen processen binnen één computer: Via files erven I/O redirection
Nadere informatieModule 3: Scratch programmeren: is het logisch of is het niet logisch?
Module 3: Scratch programmeren: is het logisch of is het niet logisch? Inhoudsopgave Module 3: Scratch programmeren: is het logisch of is het niet logisch?...1 Wat is een computerprogramma eigenlijk?...2
Nadere informatieICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen
ICT Infrastructuren: Processen en Threads 18 november 2013 David N. Jansen Datum en Ajd van werkcollege na overleg met de aanwezigen: donderdag 8:45 10:30 Leerdoel voor vandaag. Stallings hoofdst 2 4 Hoofddoelen
Nadere informatieLeren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie
Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes
Nadere informatieUitwerking tentamen Analyse van Algoritmen, 29 januari
Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4
Nadere informatieLineaire data structuren. Doorlopen van een lijst
Lineaire data structuren array: vast aantal data items die aaneensluitend gestockeerd zijn de elementen zijn bereikbaar via een index lijst: een aantal individuele elementen die met elkaar gelinkt zijn
Nadere informatieOPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.
Les C-02: Werken met Programma Structuur Diagrammen 2.0 Inleiding In deze lesbrief bekijken we een methode om een algoritme zodanig structuur te geven dat er gemakkelijk programmacode bij te schrijven
Nadere informatieTwaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify
Algoritmiek 2016/Branch & Bound Twaalfde college algoritmiek 13 mei 2016 Branch & Bound Heap, Heapsort & Heapify 1 Algoritmiek 2016/Branch & Bound TSP met Branch & Bound Mogelijke ondergrenzen voor de
Nadere informatieSemantiek & Correctheid Thread synchronisatie & communicatie
emantiek & Correctheid Thread ynchroniatie & communicatie Naam: Chritian Gilien (0342688) Maurice amulki (034239) Datum: 30 juni 2004 Verie: 2.5 Inhoudopgave Inhoudopgave...2 Inleiding...3 Thread ynchroniatie
Nadere informatieTI-2720 Operating System Concepten. 21 januari 2013, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen
TECHNISCHE UNIVERSITEIT DELFT Faculteit EWI, Afdeling SCT Sectie Parallelle en Gedistribueerde Systemen Ty Delft TI-2720 Operating System Concepten 21 januari 2013, 14.00-17.00 uur. docent: H.J. Sips Dit
Nadere informatieAls een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.
HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een
Nadere informatieUitwerking Tentamen Operating Systems Maandag 15 juni 2015 P1 P2 P3 P4 P5 P1 P3 P5 P4 P2 P1 P3 P5 P3. Opgave 1
Uitwerking Tentamen Operating Systems Maandag 15 juni 2015 Belangrijk: de gegeven antwoorden vormen één mogelijke uitwerking van het tentamen. Echter zijn er bij vele vragen meerdere correcte antwoorden
Nadere informatieslides7.pdf 23 nov
Onderwerpen Operating Systems Inleiding Algemeen 7 Operating Systems Algoritmen Piet van Oostrum Wat is een Operating System? Wat doet een O.S.? Hoe zit een O.S. in elkaar? (in grote lijnen) Wat zijn de
Nadere informatieNAAM: Programmeren 1 Examen 29/08/2012
Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je
Nadere informatieKunstmatige Intelligentie (AI) Hoofdstuk 25 van Russell/Norvig = [RN] Robotica. voorjaar 2016 College 8, 12 april 2016
AI Kunstmatige Intelligentie (AI) Hoofdstuk 25 van Russell/Norvig = [RN] Robotica voorjaar 2016 College 8, 12 april 2016 www.liacs.leidenuniv.nl/ kosterswa/ai/ 1 RoboCup Ξ www.robocup.org 2 Robots Een
Nadere informatieDynamisch Programmeren. Het Rugzakprobleem
INLEIDING Dynamisch Programmeren 1 Dynamisch Programmeren Section Page Inleiding................................................. 1 1 Oplossing................................................ 2 2 Subprobleem.............................................
Nadere informatieMulti-core systemen. door Alexander Melchior
Multi-core systemen Multi-cpu & Multi-core Multi cpu & Multi core door Alexander Melchior Toevoeging aan GDP Overdragen Capita Selecta Waarom? Een stukje geschiedenis 2005: Introductie eerste consumenten
Nadere informatieVOORBLAD SCHRIFTELIJKE TOETSEN
Technology, Innovation & Society Delft VOORBLAD SCHRIFTELIJKE TOETSEN OPLEIDING TOETSCODE GROEP : ELEKTROTECHNIEK : GESPRG-SC1 : EP11/EP12 TOETSDATUM : 23-01-2014 TIJD : 15.00 16.30 uur AANTAL PAGINA S
Nadere informatieWorkshop Arduino - deel 2
Workshop Arduino - deel 2 Inleiding In het vorige deel van de workshop Arduino heb je voor het eerst kennis gemaakt met deze microcontroller. In dit deel, deel 2, ga je meer leren over de software: het
Nadere informatie7 Omzetten van Recursieve naar Iteratieve Algoritmen
7 Omzetten van Recursieve naar Iteratieve Algoritmen Het lijkt mogelijk om elke oplossings-algoritme, die vaak in eerste instantie recursief geformuleerd werd, om te zetten in een iteratieve algoritme
Nadere informatieExamen besturingssystemen
Examen besturingssystemen Vrijdag 3 februari 2006, 9u 12u Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.
Nadere informatieDDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie
www.arduino.cc Arduino en DDS DDS chips DDS = Direct Digital (frequency) Synthesis Output = sinusvormig signaal Maximum frequentie = ½ klokfrequentie Frequentie bepaald door tuning word Grootste fabrikant:
Nadere informatieUitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur
Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, 10.00 13.00 uur Opgave 1. a. Een toestand wordt bepaald door: het aantal lucifers op tafel, het aantal lucifers in het bezit van Romeo,
Nadere informatieOnafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms
Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie
Nadere informatieHonours projecten BSc Informatica: twee voorstellen
Honours projecten BSc Informatica: twee voorstellen mogelijk ook geschikt voor BSc Kunstmatige Intelligentie Alban Ponse section Theory of Computer Science Informatics Institute, University of Amsterdam
Nadere informatieProgrammeermethoden NA. Week 6: Lijsten
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal
Nadere informatieVoorkennis: C, basiskennis microprocessoren (bij voorkeur ARM7 processor)
Real Time Operating Systems (RTOS) Voorkennis: C, basiskennis microprocessoren (bij voorkeur ARM7 processor) Kennis nodig voor: Operating systems Niveau: inleidend Diplomavoorwaarde: bachelor, schakelprogramma
Nadere informatieDeel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,
Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt
Nadere informatieWerkbladen voor Arduino workshop 1
De aansluitingen van de Arduino Uno Werkbladen voor Arduino workshop 1 Arduino Arduino is een open-source ontwikkelbord, waarmee het eenvoudig is om informatica aan fysieke objecten te koppelen. Je kunt
Nadere informatieAlgoritmiek. 15 februari Grafen en bomen
Algoritmiek 15 februari 2019 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices) en E een verzameling van
Nadere informatieProgrammeermethoden. Recursie. week 11: november kosterswa/pm/
Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,
Nadere informatieJava Programma structuur
Java Programma structuur public class Bla // div. statements public static void main(string argv[]) // meer spul Voortgezet Prog. voor KI, week 4:11 november 2002 1 Lijsten Voorbeelden 2, 3, 5, 7, 13 Jan,
Nadere informatieEvenwijdig programmeren - communicatie tussen processen
LinuxFocus article number 281 http://linuxfocus.org Evenwijdig programmeren - communicatie tussen processen door Leonardo Giordani Over de auteur: Is student aan de faculteit
Nadere informatieStacks and queues. Hoofdstuk 6
Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked
Nadere informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Nadere informatieGrafen en BFS. Mark Lekkerkerker. 24 februari 2014
Grafen en BFS Mark Lekkerkerker 24 februari 2014 1 Grafen Wat is een graaf? Hoe representeer je een graaf? 2 Breadth-First Search Het Breadth-First Search Algoritme Schillen De BFS boom 3 Toepassingen
Nadere informatieProgrammeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Nadere informatieComputerarchitectuur en netwerken Toets 1 4 okt
11.00 13.00 De open vragen moet je beantwoorden op tentamenpapier. De multiple-choice antwoorden moet je op het vragenblad invullen in de rechtervakjes en dat blad inleveren. Schrijf je naam, studentnummer
Nadere informatieArrays in LOGO. In LOGO heeft de eerste item van de array standaard index 1.
Arrays in LOGO Een array Is één variabele die verschille items bevat. Iedere item heeft een waarde. De items staan in een bepaalde volgorde. Het is dus een rij van waarden. De positie van iedere item in
Nadere informatieVerslag Opdracht 4: Magische Vierkanten
Verslag Opdracht 4: Magische Vierkanten Stefan Schrama, Evert Mouw, Universiteit Leiden 2007-08-14 Inhoudsopgave 1 Inleiding 2 2 Uitleg probleem 2 3 Theorie 2 4 Aanpak 2 5 Implementatie 4 6 Experimenten
Nadere informatieSamenvatting Besturingssystemen
Samenvatting Besturingssystemen Vloeberghs Sam 2 Toegepaste Informatica 4 2007-2008 BESCHRIJVING EN BESTURING VAN PROCESSEN...4 WAT IS EEN PROCES?...4 Processen en besturingsblokken...4 PROCESTOESTANDEN...4
Nadere informatieKunstmatige Intelligentie (AI) Hoofdstuk 25 van Russell/Norvig = [RN] Robotica. voorjaar 2019 College 9, 11 april 2019
AI Kunstmatige Intelligentie (AI) Hoofdstuk 25 van Russell/Norvig = [RN] Robotica voorjaar 2019 College 9, 11 april 2019 www.liacs.leidenuniv.nl/ kosterswa/ai/robot.pdf 1 RoboCup Ξ www.robocup.org 2 Robots
Nadere informatieTentamen Besturingssystemen voor INF (211045) / TEL (211047) dinsdag 3 juli 2001, uur.
FACULTEIT INFORMATICA Embedded Systems - Als Datum: 25 juni 2001 Tentamen Besturingssystemen voor INF (211045) / TEL (211047) dinsdag 3 juli 2001, 9.00-12.30 uur. Het raadplegen van boeken of diktaten
Nadere informatien-queens Local Search met Conflict Minimalizatie
n-queens Local Search met Conflict Minimalizatie Efficient Local Search with Conflict Minimalization: A Case Study of the n-queens Problem, door Rok Sosič en Jun Gu. Sjoerd van Egmond svegmond@liacs.nl
Nadere informatieEen gelinkte lijst in C#
Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk
Nadere informatieConstraint satisfaction. Computationele Intelligentie. Voorbeelden. Een constraint satisfaction probleem. Constraint Satisfaction
Constraint satisfaction Computationele Intelligentie Constraint Satisfaction Een constraint satisfaction probleem (CSP) bestaat uit: een verzameling variabelen; een domein van waarden voor elke variabele;
Nadere informatieTentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Nadere informatieProgrammeren met Arduino-software
Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en
Nadere informatie1. Een kortste pad probleem in een netwerk kan worden gemodelleerd als a. een LP probleem. b. een IP probleem. c. een BIP probleem. d.
1. Een kortste pad probleem in een netwerk kan worden gemodelleerd als a. een LP probleem. b. een IP probleem. c. een BIP probleem. d. een toewijzingsprobleem. 2. Het aantal toegelaten hoekpunten in een
Nadere informatieCorrectievoorschrift VWO NederlandsNederl. Informatica. Tijdvak 1 Woensdag 17 mei uur. College-examen schriftelijk.
NederlandsNederl Correctievoorschrift VWO 2017 Informatica Tijdvak 1 Woensdag 17 mei 13.30 15.30 uur College-examen schriftelijk VF-0161-s-17-1-c 1 Algemene regels Scorepunten worden toegekend met inachtneming
Nadere informatiePresentatie Michiel. Informaticastage najaar 2004
Presentatie Michiel michielborkent@gmail.com Informaticastage najaar 2004 Inhoud presentatie: Wie ben ik? Over mijn stage Informatie over Lisp Wie/wat ben ik? Student Technische Informatica, Universiteit
Nadere informatieKortste Paden. Algoritmiek
Kortste Paden Vandaag Kortste Paden probleem All pairs / Single Source / Single Target versies DP algoritme voor All Pairs probleem (Floyd s algoritme) Dijkstra s algoritme voor Single Source Negatieve
Nadere informatieOver binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4
Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4 Jonathan K. Vis 1 Inleiding (blz. 70 72) In dit essay behandelen we bladzijden 70 75 van Donald E. Knuth
Nadere informatieTECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica
TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskune en Informatica Examen Operating Systemen (2R230) op insag 21 juni 2005, 14.00-17.00 uur. Het tentamen bestaat uit rie elen ie apart woren ingelever.
Nadere informatieWat is FP? The Haskell School of Expression. Functies. Types 1+1=2. Iedere expressie (en waarde) heeft een type.
Wat is FP? The Haskell School of Expression Functioneel Programmeren Een andere manier om tegen programmeren aan te kijken Gebaseerd op het uitrekenen van expressies 1+1=2 Eenvoudig maar krachtig (modulair,
Nadere informatieGedistribueerd Programmeren - Samenvatting
Gedistribueerd Programmeren - Samenvatting Geertjan van Vliet Disclaimer: Aan deze teksten kunnen geen rechten ontleend worden. Bepaalde passages zijn de visie van de auteur en niet die van de docent.
Nadere informatieInhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation
2 Inhoudsopgave Optimalisatie van de mmips pc Sander Stuijk Veel gestelde vragen Hoe moet ik forwarding implementeren? Hoe moet ik clipping implementeren? Waarom is mijn simulatie zo traag? Hoe kan ik
Nadere informatieHonours projecten BSc Informatica: twee voorstellen
Honours projecten BSc Informatica: twee voorstellen mogelijk ook geschikt voor BSc Kunstmatige Intelligentie Alban Ponse section Theory of Computer Science Informatics Institute, University of Amsterdam
Nadere informatieProgrammeermethoden NA
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder
Nadere informatie