Computerarchitectuur en netwerken. InterProcess Communication (IPC)

Maat: px
Weergave met pagina beginnen:

Download "Computerarchitectuur en netwerken. InterProcess Communication (IPC)"

Transcriptie

1 Computerarchitectuur en netwerken 5 InterProcess Communication (IPC) Lennart Herlaar 21 september 2016

2 Inhoud Manieren van communicatie tussen processen binnen één computer: Via files erven I/O redirection file locking pipes Message passing Via het geheugen (shared memory) Synchronisatie Signals Lennart Herlaar Computerarchitectuur en netwerken 5 1

3 Inter Process Communicatie Hoe kunnen processen met elkaar communiceren? Lennart Herlaar Computerarchitectuur en netwerken 5 2

4 Inter Process Communicatie Hoe kunnen processen met elkaar communiceren? Files: één proces schrijft data in een file, ander proces leest het eruit. Probleem: synchronisatie: hoe weet het ontvangende proces dat er iets nieuws in de file staat? Lennart Herlaar Computerarchitectuur en netwerken 5 2

5 Inter Process Communicatie Hoe kunnen processen met elkaar communiceren? Files: één proces schrijft data in een file, ander proces leest het eruit. Probleem: synchronisatie: hoe weet het ontvangende proces dat er iets nieuws in de file staat? Pipe: een file-achtig object dat echter niet op de schijf staat (pijpleiding). Een pipe heeft een schrijf-einde en een lees-einde Het producerende proces schrijft data in het schrijf-einde Het consumerende proces leest de data uit het lees-einde Lennart Herlaar Computerarchitectuur en netwerken 5 2

6 Inter Process Communicatie Hoe kunnen processen met elkaar communiceren? Files: één proces schrijft data in een file, ander proces leest het eruit. Probleem: synchronisatie: hoe weet het ontvangende proces dat er iets nieuws in de file staat? Pipe: een file-achtig object dat echter niet op de schijf staat (pijpleiding). Een pipe heeft een schrijf-einde en een lees-einde Het producerende proces schrijft data in het schrijf-einde Het consumerende proces leest de data uit het lees-einde Message passing: boodschapjes sturen Shared memory: gemeenschappelijk geheugen gebruiken Lennart Herlaar Computerarchitectuur en netwerken 5 2

7 File Sharing Filehandles (filedescriptors) kunnen geërfd worden door een kind-proces. ouder-proces opent een file ouder-proces creërt kind-proces kind-proces erft de filedescriptor beide processen kunnen nu de file lezen/schrijven fd = open("filenaam",...); pid = fork(); switch (pid) { case 0: /* kind proces */ write (fd,...); case -1: /* fout */ default: /* ouder */ write (fd,...); } Wat kun je zeggen over de inhoud van de file? Lennart Herlaar Computerarchitectuur en netwerken 5 3

8 O.S. Datastructuren 0 1 proces A 0 1 proces B open files file positie file positie open files file 1 file 2 file1: gemeenschappelijke file-pointer Lezen en schrijven van proces A en B achter elkaar in de file Contrast: wanneer A en B ieder afzonderlijk dezelfde file openen hebben ze elk een eigen file pointer. Lennart Herlaar Computerarchitectuur en netwerken 5 4

9 Inhoud Manieren van communicatie tussen processen binnen één computer: Via files erven I/O redirection = file locking pipes Message passing Via het geheugen (shared memory) Synchronisatie Signals Lennart Herlaar Computerarchitectuur en netwerken 5 5

10 I/O redirection 1 Scenario: Een ouderproces wil dat het kindproces van een bepaalde file leest Of wil dat het kindproces naar een bepaalde file schrijft Vraag: wie opent die file: ouder of kind? Als ouder het doet: kind moet de open file erven. Als kind het doet: ouder moet de filenaam meegeven aan het kind Zie 5.2 in het dictaat Lennart Herlaar Computerarchitectuur en netwerken 5 6

11 I/O redirection 2 In Unix en Windows console programma s hebben processen drie bijzondere file descriptors: standaard invoer (0): hiervan leest het proces = normaal het toetsenbord Lennart Herlaar Computerarchitectuur en netwerken 5 7

12 I/O redirection 2 In Unix en Windows console programma s hebben processen drie bijzondere file descriptors: standaard invoer (0): hiervan leest het proces = normaal het toetsenbord standaard uitvoer (1); hiernaar schrijft het proces = normaal het beeldscherm Lennart Herlaar Computerarchitectuur en netwerken 5 7

13 I/O redirection 2 In Unix en Windows console programma s hebben processen drie bijzondere file descriptors: standaard invoer (0): hiervan leest het proces = normaal het toetsenbord standaard uitvoer (1); hiernaar schrijft het proces = normaal het beeldscherm Er is nog een derde: standaard error (2) voor foutmeldingen Deze worden normaliter geërfd door kindprocessen Lennart Herlaar Computerarchitectuur en netwerken 5 7

14 I/O redirection 2 In Unix en Windows console programma s hebben processen drie bijzondere file descriptors: standaard invoer (0): hiervan leest het proces = normaal het toetsenbord standaard uitvoer (1); hiernaar schrijft het proces = normaal het beeldscherm Er is nog een derde: standaard error (2) voor foutmeldingen Deze worden normaliter geërfd door kindprocessen standaard invoer proces standaard error standaard uitvoer Lennart Herlaar Computerarchitectuur en netwerken 5 7

15 I/O redirection 3 We doen het volgende in een textuele shell: (ls op Unix of DIR in Windows geven een lijst van je files) ls > file of DIR > file Schrijft naar file in plaats van beeldscherm Lennart Herlaar Computerarchitectuur en netwerken 5 8

16 I/O redirection 3 We doen het volgende in een textuele shell: (ls op Unix of DIR in Windows geven een lijst van je files) ls > file of DIR > file Schrijft naar file in plaats van beeldscherm proces file Lennart Herlaar Computerarchitectuur en netwerken 5 8

17 I/O redirection 3 We doen het volgende in een textuele shell: (ls op Unix of DIR in Windows geven een lijst van je files) ls > file of DIR > file Schrijft naar file in plaats van beeldscherm proces file mail lennart < file Leest van file in plaats van toetsenbord Lennart Herlaar Computerarchitectuur en netwerken 5 8

18 I/O redirection 3 We doen het volgende in een textuele shell: (ls op Unix of DIR in Windows geven een lijst van je files) ls > file of DIR > file Schrijft naar file in plaats van beeldscherm proces file mail lennart < file Leest van file in plaats van toetsenbord file proces Lennart Herlaar Computerarchitectuur en netwerken 5 8

19 I/O redirection 3 We doen het volgende in een textuele shell: (ls op Unix of DIR in Windows geven een lijst van je files) ls > file of DIR > file Schrijft naar file in plaats van beeldscherm proces file mail lennart < file Leest van file in plaats van toetsenbord file proces Op Unix i.h.a. tussen de fork() en exec(). Lennart Herlaar Computerarchitectuur en netwerken 5 8

20 I/O redirection voorbeeld met fork pid = fork(); if (pid == 0) { // kind proces fileid = open ("filenaam", O_READ); dup2 (fileid, 0); close (fileid); exec (..); } file file begin file open file dup2 close Lennart Herlaar Computerarchitectuur en netwerken 5 9

21 I/O redirection voorbeeld zonder fork: filesdescr 0 wegzetten en later terug fileid = open ("filenaam", O_READ); saveid = dup(0); dup2 (fileid, 0); close (fileid);... start nu het kind... close (0); dup2 (saveid, 0); close (saveid); file file 0 file file stdin file stdin stdin stdin begin open dup dup2 close dup2 Lennart Herlaar Computerarchitectuur en netwerken 5 10

22 File locking Zie 4.7 en 7.3 in het dictaat Gelijktijdige toegang tot files: bescherm tegen gelijktijdige veranderingen Readers en writers probleem: Gelijktijdig schrijven (veranderen) gooit de file in de war Gelijktijdig lezen en schrijven kan bij lezen inconsistente informatie geven. Voorbeeld: bij een rekeningbestand moet een overschrijving in zijn geheel plaatsvinden voordat anderen er aan mogen komen maar updates op stukken die disjunct zijn zitten elkaar niet in de weg. Oplossing via file locks Als er meerdere processen bij betrokken zijn dan moet het O.S. het doen. Lennart Herlaar Computerarchitectuur en netwerken 5 11

23 Win32 file locking Bij het openen van de file specificeren: wat we met de file willen doen: READ en/of WRITE wat we andere processen toestaan: niets (exclusief), READ, WRITE of beide we kunnen nu delen van de file locken : LockFile(filehandle, beginbyte, eindbyte) lockt het deel tussen beginbyte en eindbyte UnlockFile(filehandle, beginbyte, eindbyte) unlockt het deel tussen beginbyte en eindbyte Als een ander proces een read resp. write wil doen op een gelockt stuk krijgt het een foutcode terug Lennart Herlaar Computerarchitectuur en netwerken 5 12

24 Win32 file locking Bij het openen van de file specificeren: wat we met de file willen doen: READ en/of WRITE wat we andere processen toestaan: niets (exclusief), READ, WRITE of beide we kunnen nu delen van de file locken : LockFile(filehandle, beginbyte, eindbyte) lockt het deel tussen beginbyte en eindbyte UnlockFile(filehandle, beginbyte, eindbyte) unlockt het deel tussen beginbyte en eindbyte Als een ander proces een read resp. write wil doen op een gelockt stuk krijgt het een foutcode terug begin eind A B read/write Lennart Herlaar Computerarchitectuur en netwerken 5 12

25 Unix file locking In Unix wordt file sharing niet opgegeven bij openen De fcntl() system call wordt gebruikt om delen van de file te locken Bij een lock kan opgegeven worden of het een read lock of write lock is en welk stuk van de file. read lock laat geen andere write locks toe op hetzelfde stuk, maar wel read locks write lock laat geen andere read locks of write locks toe op hetzelfde stuk F_SETLK geeft een error-code als er een lock conflict is F_SETLKW blokkeert in zo n geval Lennart Herlaar Computerarchitectuur en netwerken 5 13

26 Inhoud Manieren van communicatie tussen processen binnen één computer: Via files erven I/O redirection file locking pipes = Message passing Via het geheugen (shared memory) Synchronisatie Signals Lennart Herlaar Computerarchitectuur en netwerken 5 14

27 Pipes Wat is een pipe? Pipe: een file-achtig object dat in het geheugen staat. Een pipe heeft een schrijf-einde en een lees-einde Het producerende proces schrijft data in het schrijf-einde Het consumerende proces leest de data uit het lees-einde producer Pipe eigenschappen pipe consumer Het consumerende proces moet wachten als de pipe leeg is Het producerende proces moet wachten als de pipe te vol is. Als meer processen dezelfde pipe gebruiken dan is de data niet altijd goed gescheiden. Named pipes hebben een naam, net als files Anonymous pipe heeft geen naam. Lennart Herlaar Computerarchitectuur en netwerken 5 15

28 Pipes maken Win32 CreateNamedPipe om een named pipe te maken, CreateFile om te gebruiken (= gewone file aanroep) Anonymous pipe: CreatePipe om te maken. anonymous pipes kunnen overgeërfd worden door kind-processen. maar andere processen kunnen er niet bij. Named pipes kunnen door willekeurige processen gebruikt worden. Lennart Herlaar Computerarchitectuur en netwerken 5 16

29 Pipes maken Unix (anonymous pipes) Het ouder proces creëert een pipe met de pipe() system call De pipe() call levert twee filedescriptors op: een voor de leeskant en een voor de schrijfkant. Het ouder process creëert een kind-proces m.b.v fork() Een van de twee sluit de leeskant en de ander de schrijfkant (afhankelijk van welke richting gewenst is). Anonymous pipe kan alleen gebruikt worden tussen processen die een gezamenlijke voorouder hebben, die de pipe gemaakt heeft. Named pipes (Fifos) zitten in Unix gewoon in het filesysteem (en worden met de system call mkfifo aangemaakt). Lennart Herlaar Computerarchitectuur en netwerken 5 17

30 Pipe voorbeeld int pd[2]; pipe(pd); pid=fork(); if (pid == 0) // kind { close(pd[0]); // sluit lees-einde dup2(pd[1], 1); // kopieer schrijf-einde naar stdout close(pd[1]); // sluit originele schrijf-einde... } else { // ouder close(pd[1]); // sluit schrijf-einde dup2(pd[0], 0); // kopieer lees-einde naar stdin close(pd[0]); // sluit originele lees-einde... } Lennart Herlaar Computerarchitectuur en netwerken 5 18

31 Pipe en file descriptors kind ouder pd[0] 0 stdin stdout 1 pd[1] Kind: close(pd[0]); // sluit lees-einde dup2(pd[1], 1); // kopieer schrijf-einde naar stdout close(pd[1]); // sluit originele schrijf-einde Ouder: close(pd[1]); // sluit schrijf-einde dup2(pd[0], 0); // kopieer lees-einde naar stdin close(pd[0]); // sluit originele lees-einde Lennart Herlaar Computerarchitectuur en netwerken 5 19

32 Inhoud Manieren van communicatie tussen processen binnen één computer: Via files erven I/O redirection file locking pipes Message passing = Via het geheugen (shared memory) Synchronisatie Signals Lennart Herlaar Computerarchitectuur en netwerken 5 20

33 Message Passing Bij message passing kan een proces een message sturen naar een ander proces. Het ontvangende proces kan de messages één voor één ontvangen Elke message is een onverbrekelijke eenheid vergelijk: een pipe is een byte-stream De messages worden verzameld in message queues In Win16: per window is er een message queue In Win32: ook een message queue per thread Het verzendende proces kan kiezen: of naar een thread sturen (PostThreadMessage) of naar een window (SendMessage) Het ontvangende proces (thread) kan gewekt worden als er een boodschap aankomt. Lennart Herlaar Computerarchitectuur en netwerken 5 21

34 Message passing zender ontvanger queue recv message queue Lennart Herlaar Computerarchitectuur en netwerken 5 22

35 Inhoud Manieren van communicatie tussen processen binnen één computer: Via files erven I/O redirection file locking pipes Message passing Via het geheugen (shared memory) = Synchronisatie Signals Lennart Herlaar Computerarchitectuur en netwerken 5 23

36 Shared Memory Processen wisselen data uit via een shared segment Unix en Windows hebben speciale system calls om een stuk shared memory aan te vragen: via de page table wordt hetzelfde fysieke geheugen in de virtuele adresruimtes van processen gemapt Ook via memory-mapped files kan shared memory gebruikt worden Probleem: synchronisatie: hoe weet een proces dat er nieuwe gegevens zijn Hoe zorg je dat twee processen niet tegelijk in dezelfde variabele bezig zijn aankondigen mogelijk via messages, signals e.d. beschermen mogelijk zoals bij file locking Lennart Herlaar Computerarchitectuur en netwerken 5 24

37 Kritieke secties Een stuk programma waarin variabelen gemanipuleerd worden die in meer dan één thread gebruikt/gewijzigd worden heet een kritieke sectie Vergelijk het werken op dezelfde file vanuit meer dan één proces. Om chaos te voorkomen moet voorkomen worden dat meer dan één thread in de kritieke sectie komt In het college Gedistribueerd Programmeren wordt dit geleerd en geoefend Een van de oplossingen: vóór je de kritieke sectie ingaat moet je een lock doen aan het eind van de kritieke sectie doe je een unlock Lennart Herlaar Computerarchitectuur en netwerken 5 25

38 Synchronisatie Wie? Soms impliciet: synchrone I/O wacht tot de I/O klaar is bij aanvraag resource meestal vanzelf wachten kritieke secties in de kernel Soms moet het expliciet gebeuren: Een ouder proces wacht op een kindproces kritieke secties bij gebruik van shared memory of shared files Lennart Herlaar Computerarchitectuur en netwerken 5 26

39 Synchronisatie in Unix Proces wacht op kind-proces: wait() system call. wait(status) wacht tot een kind-proces termineert en geeft het proces ID van het betreffende kind terug. status ontvangt de exit status van het kind. Moderne Unix systemen: waitpid(pid) wacht op het opgegeven kind-proces. Ook procesgroepen mogelijk. Andere synchronisatiemogelijkheden: semaforen (college Gedistribueerd Programmeren). Ook in Win32. Lennart Herlaar Computerarchitectuur en netwerken 5 27

40 Signals 1 Een proces kan een software interrupt naar een ander proces (of zichzelf) sturen Processen kunnen kiezen welke signals ze willen hebben Dit wordt ook gebruikt om fouten af te vangen Of voor het signaleren van events in het O.S. (bijv. aankomst van message) Bij een signal wordt een aangegeven functie aangeroepen Lennart Herlaar Computerarchitectuur en netwerken 5 28

41 Signals 2 1 Declareer de signal handler: handler(signalnumber) { /* Hier de instructies voor als het signal komt */ } 2 Vertel het O.S. welke functie moet worden aangeroepen als de interrupt komt: signal(sigint, handler); Lennart Herlaar Computerarchitectuur en netwerken 5 29

42 Signals 3 /* stuur een signal naar proces pid */ kill (pid, SIGINT); In proces pid wordt nu de normale sequentiële executie onderbroken en de handler aangeroepen. Na afloop gaat de normale executie verder (tenzij handler die verbreekt). Een signal-handler vormt niet een thread De signal handler kan niet tijdelijk stoppen om het hoofdprogramma verder te laten gaan De handler kan wel onderbroken worden door een andere handler (LIFO) Synchronisatie werkt moeilijk Lennart Herlaar Computerarchitectuur en netwerken 5 30

43 Programma flow programma signal signal handler return Het is alsof er een methode-aanroep tussengeschoven wordt. Lennart Herlaar Computerarchitectuur en netwerken 5 31

44 Synchronisatie met signals pause() laat het proces wachten tot er een signal komt alarm(x) zorgt ervoor dat het O.S. na x sec. een signal genereert Bijv. sleep() is een combinatie van alarm() en pause() void sleep(int seconds) { signal(sigalrm, sleephandler); alarm(seconds); pause(); } void sleephandler(int signr) { /* doe verder niks */ } Lennart Herlaar Computerarchitectuur en netwerken 5 32

45 Signals 4 In het hoofdprogramma: signalled = false; incrit = true; < kritieke sectie > incrit = false; if (signalled) < doe operatie > In de signal routine: if (incrit) signalled = true; else < doe operatie > Veronderstelling: Lees/schrijf op een variabele is atomair. Lennart Herlaar Computerarchitectuur en netwerken 5 33

46 Samenvatting Manieren van communicatie tussen processen binnen één computer: Via files erven I/O redirection file locking pipes Message passing Via het geheugen (shared memory) Synchronisatie Signals Lennart Herlaar Computerarchitectuur en netwerken 5 34

Computerarchitectuur en netwerken 4 Processen en Threads

Computerarchitectuur en netwerken 4 Processen en Threads Computerarchitectuur en netwerken 4 Processen en Threads Lennart Herlaar 19 september 2016 Inhoud Scheduling scheduler prioriteiten real-time scheduling Processen ouder-kind processen Unix: fork en exec

Nadere informatie

Computerarchitectuur en netwerken Toets 1 4 okt

Computerarchitectuur 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 informatie

Computerarchitectuur en netwerken. Gedistribueerde IPC

Computerarchitectuur en netwerken. Gedistribueerde IPC Computerarchitectuur en netwerken 6 Gedistribueerde IPC Lennart Herlaar 21 september 2015 Inhoud IPC: locaal vs. gedistribueerd Message passing Client/server model Remote Procedure Call locaal vs. gedistribueerd

Nadere informatie

Computerarchitectuur en netwerken. Operating System structuur. Files

Computerarchitectuur en netwerken. Operating System structuur. Files Computerarchitectuur en netwerken 3 Operating System structuur Files Lennart Herlaar 13 september 2017 Inhoud 1 Operating Systems structuur system calls kernel / processen 2 Files storage en directory

Nadere informatie

Het begrip 'Proces' Proces-toestand

Het 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 informatie

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 12 september 2016 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

Nadere informatie

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: 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 informatie

Hoofdstuk 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? 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 informatie

slides3.pdf April 15, 2002 1

slides3.pdf April 15, 2002 1 Wat is een Operating System? CSN CS3 OS structuur en File management Standaard verzameling software voor een computer Besturing/beheer van de computer Gemak voor schrijvers van programma s Standaarden

Nadere informatie

Tentamen Computersystemen

Tentamen Computersystemen Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:

Nadere informatie

Semaforen. Semaforen p. 1/2

Semaforen. Semaforen p. 1/2 Semaforen 2008 Semaforen p. 1/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

Nadere informatie

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

Nadere informatie

Korte uitleg: File descriptors en redirection in de shell (en pipes)

Korte uitleg: File descriptors en redirection in de shell (en pipes) Korte uitleg: File descriptors en redirection in de shell (en pipes) De zogenaamde Redirection faciliteit zoals gebruikt in de shell is soms lastig te overzien. Vooral bash heeft nogal wat uitbreidingen

Nadere informatie

Gebruik van command-line operating systems

Gebruik van command-line operating systems Gebruik van command-line operating systems Mattias Holm & Kristian Rietveld Overzicht - Waarom hier meer over leren? - Wat is een shell? - Hoe werkt een shell? - Pipes en redirectie - Handige utilities

Nadere informatie

slides7.pdf 23 nov

slides7.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 informatie

TI-2720 Operating System Concepten. 6 november 2012, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen

TI-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 informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE 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 informatie

Hoofdstuk 7. Computerarchitectuur

Hoofdstuk 7. Computerarchitectuur Hoofdstuk 7 Computerarchitectuur 1 controlebus CPU MEMORY I/O databus adresbus Figuur 71 Schematische opbouw van een computersysteem 8 Figuur 72 Een busverbinding Buslijn Out E A In Out E B In Out E C

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 Algemene opmerkingen (lees dit!): - Dit tentamen duurt ANDERHALF UUR! - Dit

Nadere informatie

Computerarchitectuur en Netwerken. Computerarchitectuur

Computerarchitectuur en Netwerken. Computerarchitectuur Computerarchitectuur en Netwerken 1 Computerarchitectuur Lennart Herlaar 2 september 2015 Opbouw van het vak Eerst (6 keer) over de opbouw van computer en operating system Collegedictaat Systeemarchitectuur

Nadere informatie

Gedistribueerd Programmeren - Samenvatting

Gedistribueerd 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 informatie

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

Tim Mallezie Architectuur van besturingssystemen: Vraag A2. Procesbeheer: kenmerken van moderne besturingssystemen. 1. Bespreek de (drie) meest typische kenmerken van moderne besturingssystemen. 2. In hoeverre beantwoorden UNIX, Linux en Windows NT hieraan? Geef

Nadere informatie

Uitwerking 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 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 informatie

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen?? Vragen?? Vandaag Hoofdstuk 4: threads (tentamenstof : 4.1 t/m 4.2) Kleine Opgaven 4.1 (niet alleen ja of nee, ook waarom!) en 4.4 inleveren maandag Centrale begrippen hoofdstuk 3 processen proces state:

Nadere informatie

IN1805 I Operating System Concepten

IN1805 I Operating System Concepten IN1805 I Operating System Concepten Hoofdstuk 12: Mass-storage structure 9-1 Secondary storage (1) voornamelijk disks kleinst leesbare eenheid: sector plaats van een sector volledig bepaald door: drive

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE 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 informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord November 19, 2018 Overzicht Grafische programma s en tekstgebaseerde programma s Stijladviezen (Jeff Knupp, Writing Idiomatic Python) File Processing (Zelle 5.9.2)

Nadere informatie

slides2.pdf April 12,

slides2.pdf April 12, Werking van CPU CSN CS2 CPU, I/O en Memory management Piet van Oostrum 12 april 2002 De ALU kan alleen eenvoudige operaties uitvoeren (bijv. twee getallen optellen, vermenigvuldigen of testen of iets >

Nadere informatie

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse Objective-C Basis 23 april 2005, Eindhoven Patrick Machielse patrick@hieper.nl Algemeen // extensies Objective-C code in bestanden met.m extensie // commentaar moet! /* Alles hiertussen wordt genegeerd

Nadere informatie

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)

Nadere informatie

Conclusies over semaforen

Conclusies 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 informatie

Erik Poll Martijn Warnier. http://www.cs.kun.nl/~erikpoll/linux

Erik Poll Martijn Warnier. http://www.cs.kun.nl/~erikpoll/linux Introductie Linux/UNIX Erik Poll Martijn Warnier http://www.cs.kun.nl/~erikpoll/linux Concrete doel van vandaag Basisvaardigheden UNIX/Linux werken met de command line shell file beheer proces beheer Betere

Nadere informatie

Toets 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 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 informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: 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 informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde

Nadere informatie

Basis UNIX commando's - overzicht

Basis UNIX commando's - overzicht Basis UNIX commando's - overzicht Hieronder volgt een lijst van UNIX-commando's die voor het programmeerpraktikum nodig, handig en/of nuttig zijn. De genoemde opties zijn er meestal maar een paar! Voor

Nadere informatie

1 Inleiding probleembeschrijving

1 Inleiding probleembeschrijving Bas Weelinck (5985498), Merlijn Wajer (5948940), Koos van Strien (5783437) 18 mei 2010 1 Inleiding probleembeschrijving Volgens de specificaties gegeven in het opdrachtdocument moet een gedistribueerde

Nadere informatie

Computerarchitectuur en netwerken. Netwerklaag/Routering

Computerarchitectuur en netwerken. Netwerklaag/Routering Computerarchitectuur en netwerken Netwerklaag/Routering Lennart Herlaar 8 oktober 06 Inhoud Routeringsalgoritmen Link state Distance vector Hierarchische routering Routering in Internet RIP OSPF BGP Lennart

Nadere informatie

4EE11 Project Programmeren voor W. College 2, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e

4EE11 Project Programmeren voor W. College 2, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 4EE11 Project Programmeren voor W College 2, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Terugblik Functies Organisatie (architectuur) van programma s Arrays Structuren

Nadere informatie

Installatie instructies. UBplus. Voor Linux / Samba. 12-sep-11. Datum: Ref erentie: Versie: 1.1

Installatie instructies. UBplus. Voor Linux / Samba. 12-sep-11. Datum: Ref erentie: Versie: 1.1 Installatie instructies UBplus Voor Linux / Samba Datum: Ref erentie: Versie: 1.1 12-sep-11 Introductie UBplus wordt op dit moment vaak geïnstalleerd op Windows servers (2003/2008). Via een terminal server

Nadere informatie

Datastructuren Werkcollege Intro

Datastructuren Werkcollege Intro Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs

Nadere informatie

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010 Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Schrijf je naam onderaan op elk blad. 2.

Nadere informatie

ICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen

ICT 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 informatie

Programmeren in Java 3

Programmeren in Java 3 7 maart 2010 Deze les Zelf componenten maken Concurrency (multithreading): werken met threads levenscyclus van een thread starten tijdelijk onderbreken wachten stoppen Zelf componenten maken Je eigen component:

Nadere informatie

Tim Mallezie Architectuur van besturingssystemen: Vraag A4.

Tim Mallezie Architectuur van besturingssystemen: Vraag A4. Procesbeheer: creatie en wisselen van processen. a) Verduidelijk het begrip PCB. b) Uit welke opeenvolgende stappen bestaat de creatie van een nieuw proces? c) Hoe worden in UNIX en Linux nieuwe processen

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE 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 informatie

Computerarchitectuur en netwerken. Multimedia in netwerken

Computerarchitectuur en netwerken. Multimedia in netwerken Computerarchitectuur en netwerken 14 Multimedia in netwerken Lennart Herlaar 20 oktober 2015 Inhoud Multimedia in netwerken Quality of Service Streaming en buffering Protocollen (RTSP, RTP) Scheduling

Nadere informatie

Evenwijdig programmeren - Bericht wachtrijen (2)

Evenwijdig programmeren - Bericht wachtrijen (2) LinuxFocus article number 296 http://linuxfocus.org Evenwijdig programmeren - Bericht wachtrijen (2) door Leonardo Giordani Over de auteur: Ik heb juist mijn diploma ontvangen

Nadere informatie

in1671 - Operating System Concepten Doel van een Operating System Interrupts 3-Lagen model spooling (Simultaneous Peripheral Operation On Line)

in1671 - Operating System Concepten Doel van een Operating System Interrupts 3-Lagen model spooling (Simultaneous Peripheral Operation On Line) in1671 - Operating System Concepten Doel van een Operating System drs J.W.J. Heijnsdijk Faculteit EWI, kamer 09.280 (Mekelweg 4) tel. 85804 email: Heijnsdijk@ewi.tudelft.nl Wat is een Operating System?

Nadere informatie

Programmeermethoden NA

Programmeermethoden NA Programmeermethoden NA Week 4: Files & Functies Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Vorige week: Controlestructuren # gegeven # 0

Nadere informatie

in1671 - Operating System Concepten

in1671 - Operating System Concepten in1671 - Operating System Concepten drs J.W.J. Heijnsdijk Faculteit EWI, kamer 09.280 (Mekelweg 4) tel. 85804 email: Heijnsdijk@ewi.tudelft.nl 2005 1-1 Doel van een Operating System Wat is een Operating

Nadere informatie

Multi-core systemen. door Alexander Melchior

Multi-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 informatie

Deel 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, 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 informatie

Zelftest Programmeren in Java

Zelftest Programmeren in Java Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test

Nadere informatie

IN1805 I - Operating System Concepten

IN1805 I - Operating System Concepten IN1805 I - Operating System Concepten Koen Langendoen email: k.g.langendoen@tudelft.nl 1-1 Praktische Zaken Voorkennis: C + computer systemen College: 7x3 = 5x4 = 5x(wo+do) Tentamen: 2 april + 1 juli Boek

Nadere informatie

Belangrijkste ideeën/concepten uit OS, incl. proces

Belangrijkste ideeën/concepten uit OS, incl. proces Operating System Overview (Hfst 2) Wat is een OS? Wat was een OS? Evolutie van OS. OS als virtuele machine OS als beheerder van hulpbronnen (resources) Belangrijkste ideeën/concepten uit OS, incl. proces

Nadere informatie

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur Tentamen 17 augustus 2000 Opgaven - 1 - Computerarchitectuur Tentamen Computerarchitectuur (213005) 17 augustus 2000 2 bladzijden met 5 opgaven 3 antwoordbladen Het raadplegen van boeken, diktaten of aantekeningen

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal

Nadere informatie

Een korte samenvatting van enkele FORTRAN opdrachten

Een korte samenvatting van enkele FORTRAN opdrachten Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5

Nadere informatie

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara MINICURSUS PHP Op dit lesmateriaal is een Creative Commons licentie van toepassing. 2017-2018 Sebastiaan Franken en Rosalie de Klerk Bambara PHP Cursus Deze cursus is om de eerste stappen in de wereld

Nadere informatie

Bestand: /home/karel/scripts/mkusb Pagina 1 van 6

Bestand: /home/karel/scripts/mkusb Pagina 1 van 6 Bestand: /home/karel/scripts/mkusb Pagina 1 van 6 1 #!/bin/bash 2 ############################################################################# 3 # Bestand: mkusb # 4 # Doel: Script voor het maken van

Nadere informatie

Testplan. Versie 1 28-10-2004

Testplan. Versie 1 28-10-2004 Testplan Versie 1 28-10-2004 Groep 40 Naam Stud. nr. Vakken Jarry Claessen 0508757 SE, C2 Sebastian Groeneveld 0433350 SE, C2 Mark de Haas 0481832 SE Jeroen van Steenbergen 0515103 SE, C2 1 Unittestplan

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: 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 informatie

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep.

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep. Opgaven Registers Concurrency, 29 nov 2018, Werkgroep. Gebruik deze opgaven om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven. 1. Safe Integer: Van een

Nadere informatie

Eerste Toets Concurrency 20 december 2018, , Educ-β.

Eerste Toets Concurrency 20 december 2018, , Educ-β. Eerste Toets Concurrency 20 december 2018, 11.00 13.00, Educ-β. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert

Nadere informatie

Stapelgeheugen. Processoren 6 maart 2012

Stapelgeheugen. Processoren 6 maart 2012 Stapelgeheugen Processoren 6 maart 2012 Programma van komende week 7 maart 8.45: extra vragenuur over HADES 13 maart 8.45: hoorcollege vervalt, maar werkcolleges vinden plaats. Stapelgeheugen Tanenbaum

Nadere informatie

Programmeermethoden NA. Week 4: Files & Functies

Programmeermethoden NA. Week 4: Files & Functies Programmeermethoden NA Week 4: Files & Functies Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Vorige week: Controlestructuren # gegeven # 0

Nadere informatie

Project Software Engineering XML parser: Parsen van een xml CD catalogus

Project Software Engineering XML parser: Parsen van een xml CD catalogus Project Software Engineering XML parser: Parsen van een xml CD catalogus Brent van Bladel brent.vanbladel@uantwerpen.be February 16, 2017 XML (Extensible Markup Language) is een taal waarmee we op een

Nadere informatie

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf

Nadere informatie

Werkbladen voor Arduino workshop 1

Werkbladen 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 informatie

Programmeermethoden NA. Week 5: Functies (vervolg)

Programmeermethoden NA. Week 5: Functies (vervolg) Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def

Nadere informatie

Computerarchitectuur en netwerken. TCP congestion control Netwerklaag

Computerarchitectuur en netwerken. TCP congestion control Netwerklaag Computerarchitectuur en netwerken 10 TCP congestion control Netwerklaag Lennart Herlaar 6 oktober 2015 Inhoud Congestiebeheer TCP congestiebeheer Netwerk laag principes van de netwerklaag IP adressen IP

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Een.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder

Een.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder Een.NET-besturingssysteemtoolkit Discovering Cosmos Sijmen J. Mulder Agenda Boek 1 Cosmos: a very short introduction Boek 2 Modern Operating Systems Pauze Boek 3 The Design and Implementation of the Cosmos

Nadere informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

Gebruiker afschermen van de hardware

Gebruiker afschermen van de hardware Device driver 1 Gebruiker afschermen van de hardware Prog1 Prog2 System calls/ API Operating Systeem Device drivers Hardware 2 Introductie Een device driver is een computer programma dat direct communiceert

Nadere informatie

TI-2720 Operating System Concepten. 21 januari 2013, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen

TI-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 informatie

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, 11.00-13.00 uur 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan

Nadere informatie

studievaardigheden studentassistent: Alice de Vries alice-de-vries@hotmail werkcollege / practicum

studievaardigheden studentassistent: Alice de Vries alice-de-vries@hotmail werkcollege / practicum studievaardigheden studentassistent: Alice de Vries alice-de-vries@hotmail werkcollege / practicum Hendrik Jan Hoogeboom h.j.hoogeboom@liacs.leidenuniv paleistuin (computers) tijd 10.45 15.00 studievaardigheden

Nadere informatie

Inhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation

Inhoudsopgave. 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 informatie

DE INTERACTIEVE SHELL

DE INTERACTIEVE SHELL Hoofdstuk2 De interactieve shell 6 Hoofdstuk 2 DE INTERACTIEVE SHELL In dit hoofdstuk behandelen we: Integers (gehele getallen) en getallen met drijvende komma Expressies Waarden Operatoren Het evalueren

Nadere informatie

Computerarchitectuur en netwerken. Inleiding NETWERKEN

Computerarchitectuur en netwerken. Inleiding NETWERKEN Computerarchitectuur en netwerken 7 Inleiding NETWERKEN Lennart Herlaar 22 september 25 Inhoud Hoe gaat de informatie door het netwerk heen? Algemene principes Protocollen Connecties virtuele circuits

Nadere informatie

Bijlage 8. Testprogramma brandreactiemodulen LBK

Bijlage 8. Testprogramma brandreactiemodulen LBK Bijlage 8 Testprogramma brandreactiemodulen LBK INHOUDSOPGAVE 1 Algemeen... 1 1.1 Introductie... 1 2 Algemene Setup Instructies... 2 2.1 Setup instructies... 2 2.2 Programma start... 2 3 Configureren...

Nadere informatie

BRP-BZM Use Case Realisations Guidelines

BRP-BZM Use Case Realisations Guidelines BRP-BZM Use Case Realisations Guidelines Versie 2.0 02-09-2011 Definitief Versiehistorie Datum Versie Auteur 23-12-2010 0.1 Eerste versie R.F. Schaaf 04-01-2011 1.0 Feedback verwerkt R. Schaaf en D. Geluk

Nadere informatie

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading Geheugen en Adressering Binding Geheugen (main memory, primary storage) is noodzakelijk voor de uitvoering van programma's. te beschouwen als array van adresseerbare bytes (of woorden). verschillende processen

Nadere informatie

Tentamen Programmeren in C (EE1400)

Tentamen Programmeren in C (EE1400) TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code

Nadere informatie

Opdracht 7a. Applicatiebouw 2014/2015

Opdracht 7a. Applicatiebouw 2014/2015 Applicatiebouw 2014/2015 Opdracht 7a Inhoud Applicatiebouw op dag 7 College In het college wordt oa. overerving behandeld, waarmee je uit een bestaande klasse een nieuwe andere klasse kan maken. Ook zijn

Nadere informatie

Evenwijdig programmeren - communicatie tussen processen

Evenwijdig 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 informatie

Voorblad tentamen ENG

Voorblad tentamen ENG Voorblad tentamen ENG 015-016 Naam student: Studentnr: Klas: Cijfer: Dit voorblad en indien aangegeven overige opgavenbladen, moeten voorzien zijn van naam, studentnummer en klas. Controleer dit tentamen

Nadere informatie

Arduino Workshop 1 Zuid-Limburg

Arduino 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 informatie

Real-Time Systems (RTSYST)

Real-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 informatie

INHOUDSOPGAVE. Over de auteur, de illustrator en de technische redacteuren 13

INHOUDSOPGAVE. Over de auteur, de illustrator en de technische redacteuren 13 INHOUDSOPGAVE Over de auteur, de illustrator en de technische redacteuren 13 Dankwoord 14 Inleiding 15 Waarom Python?... 16 Hoe je code leert schrijven... 16 Voor wie is dit boek... 17 Wat staat er in

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze

Nadere informatie

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,

Nadere informatie

EE1400: Programmeren in C BSc. EE, 1e jaar, , 4e college

EE1400: Programmeren in C BSc. EE, 1e jaar, , 4e college EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 4e college Arjan van Genderen, Computer Engineering 11-12-2012 Delft University of Technology Challenge the future Mededelingen Voortgangstoets: Woensdagmiddag

Nadere informatie

RCL Arduino Workshop 1

RCL 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 informatie

Programmeren in C++ Efficiënte zoekfunctie in een boek

Programmeren in C++ Efficiënte zoekfunctie in een boek Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!

Nadere informatie

I BASH. Johan Adriaans johan.adriaans@gmail.com

I BASH. Johan Adriaans johan.adriaans@gmail.com I BASH Johan Adriaans johan.adriaans@gmail.com Wat wordt er behandeld Waarom? Hello world? Rechtensysteem Shell expansion Control structures History Input/output redirection Powertools Waarom BASH? BASH

Nadere informatie

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie