Computerarchitectuur en netwerken. Memory management Assembler programmering

Maat: px
Weergave met pagina beginnen:

Download "Computerarchitectuur en netwerken. Memory management Assembler programmering"

Transcriptie

1 Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 12 september 2016

2 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management 2 Assemblerprogrammeren: Programmeren voor een simpele CPU Met een assemblertaaltje Gebruik van een stack Lennart Herlaar Computerarchitectuur en netwerken 2 1

3 Protectie We willen het O.S. beschermen tegen foute of kwaadwillende programma s (programmeurs). 1 Gewone programma s mogen niet het geheugen van andere programma s manipuleren 2 Gewone programma s mogen niet het geheugen van het O.S. veranderen 3 Het O.S. mag wel aan andere programma s komen 4 Gewone programma s mogen niet speciale registers veranderen 5 Gewone programma s mogen niet rechtstreeks aan interfaces komen zonder toestemming van het O.S. Lennart Herlaar Computerarchitectuur en netwerken 2 2

4 Protectie: modes 1 User/system mode 2 Geheugenbeheer Lennart Herlaar Computerarchitectuur en netwerken 2 3

5 Protectie: modes 1 User/system mode 2 Geheugenbeheer User mode = uitvoeren van gewone programma s Gevaarlijke operaties (o.a. I/O) niet toegestaan Lennart Herlaar Computerarchitectuur en netwerken 2 3

6 Protectie: modes 1 User/system mode 2 Geheugenbeheer User mode = uitvoeren van gewone programma s Gevaarlijke operaties (o.a. I/O) niet toegestaan System mode = uitvoering O.S. onderdelen Alle operaties toegestaan Lennart Herlaar Computerarchitectuur en netwerken 2 3

7 Protectie: modes 1 User/system mode 2 Geheugenbeheer User mode = uitvoeren van gewone programma s Gevaarlijke operaties (o.a. I/O) niet toegestaan System mode = uitvoering O.S. onderdelen Alle operaties toegestaan Soms nog fijnere verdeling zodat ook binnen het O.S. onderscheid gemaakt kan worden Bij een interrupt/trap overgang naar system mode Aanroep van het O.S. dan ook via een TRAP mechanisme of speciale controle De mode staat in het PSW Lennart Herlaar Computerarchitectuur en netwerken 2 3

8 Adresruimte Adresruimte van een programma = de verzameling van alle adressen die een programma zou kunnen gebruiken uit te voeren instructies adressen van datastructuren en variabelen Op een 32-bits machine kan dat in principe 2 32 bytes (4GB) zijn In principe kan het meer zijn dan het aanwezige echte (fysieke) geheugen Lennart Herlaar Computerarchitectuur en netwerken 2 4

9 Adresruimte Adresruimte van een programma = de verzameling van alle adressen die een programma zou kunnen gebruiken uit te voeren instructies adressen van datastructuren en variabelen Op een 32-bits machine kan dat in principe 2 32 bytes (4GB) zijn In principe kan het meer zijn dan het aanwezige echte (fysieke) geheugen Memory management: de adressen die in een programma gebruikt worden (virtuele adressen) hoeven niet hetzelfde te zijn als de echte adressen die in het fysieke geheugen gebruikt worden (fysieke adressen). Lennart Herlaar Computerarchitectuur en netwerken 2 4

10 Memory management 1 Eenvoudige ontkoppeling: Het begin van een programma krijgt virtueel adres 0 Het fysieke adres waar het programma staat (BASE) wordt bij elk virtueel adres opgeteld Dit gebeurt tussen de CPU en de bus Het programma heeft dit niet in de gaten Lennart Herlaar Computerarchitectuur en netwerken 2 5

11 Memory management 1 Eenvoudige ontkoppeling: Het begin van een programma krijgt virtueel adres 0 Het fysieke adres waar het programma staat (BASE) wordt bij elk virtueel adres opgeteld Dit gebeurt tussen de CPU en de bus Het programma heeft dit niet in de gaten fysieke adressen x+base 0 BASE LIMIT max programma virtuele adressen 0 x limit Lennart Herlaar Computerarchitectuur en netwerken 2 5

12 Memory management 2 Voordelen: Je kunt het programma op ieder adres in het fysieke geheugen draaien Door ook de lengte op te nemen kan de rest van het geheugen beschermd worden (de electronica test virtuele adressen 0 <= x < limit) Lennart Herlaar Computerarchitectuur en netwerken 2 6

13 Memory management 2 Voordelen: Je kunt het programma op ieder adres in het fysieke geheugen draaien Door ook de lengte op te nemen kan de rest van het geheugen beschermd worden (de electronica test virtuele adressen 0 <= x < limit) Nadelen: Grootte beperkt door fysiek geheugen Onmogelijk om te sharen (eenzelfde stuk geheugen in twee programma s te gebruiken) Lennart Herlaar Computerarchitectuur en netwerken 2 6

14 Memory management 2 Voordelen: Je kunt het programma op ieder adres in het fysieke geheugen draaien Door ook de lengte op te nemen kan de rest van het geheugen beschermd worden (de electronica test virtuele adressen 0 <= x < limit) Nadelen: Grootte beperkt door fysiek geheugen Onmogelijk om te sharen (eenzelfde stuk geheugen in twee programma s te gebruiken) Oplossingen: 1 Segmentatie (segmentering) 2 Paginering Lennart Herlaar Computerarchitectuur en netwerken 2 6

15 Segmentering programma 1 programma 2 fysiek geheugen instructies instructies data virtueel geheugen virtueel geheugen data Lennart Herlaar Computerarchitectuur en netwerken 2 7

16 programma 1 programma 2 Segmentering fysiek geheugen instructies data virtueel geheugen virtueel geheugen instructies data Eigenschappen van segmenten: Segmenten kunnen geshared worden Elk programma kan aparte permissies hebben per segment vb. Read, Write, Execute Segmenten kunnen vast, of groeiend zijn. Elk segment moet in het fysieke geheugen passen Lennart Herlaar Computerarchitectuur en netwerken 2 7

17 CPU en stacks Voor het opslaan van tussenresultaten van ingewikkelde berekeningen wordt vaak een stack gebruikt. Voor het onthouden van een terugkeeradres van een functie- of methode-aanroep idem (terugkeeradres = waarde van PC) Een speciaal register wordt gebruikt om te onthouden waar de top van de stack staat (stack-pointer). LIFO = Last In First Out (wat er het laatst opgezet is gaat er het eerst weer af) Push(waarde) = zet waarde op stack en pas SP aan Pop() = return top van de stack en pas SP aan Objecten die niet in de LIFO discipline passen worden in een heap geplaatst. Lennart Herlaar Computerarchitectuur en netwerken 2 8

18 Stack groei stack push/pop SP 0 Lennart Herlaar Computerarchitectuur en netwerken 2 9

19 Stack/heap segmenten instructies heap stack segment 0 segment 1 segment 2 Stack segment groeit naar beneden Heap segment groeit naar boven Code segment is vast en kan geshared worden Nog meer segmenten mogelijk voor shared data of libraries Lennart Herlaar Computerarchitectuur en netwerken 2 10

20 Adresberekening Dit gebeurt in de hardware segment offset virtueel adres BASE LIMIT protect. etc. BASE LIMIT protect. etc. + fysiek adres Lennart Herlaar Computerarchitectuur en netwerken 2 11

21 Paginering 1 virtueel geheugen A fysiek geheugen virtueel geheugen B Lennart Herlaar Computerarchitectuur en netwerken 2 12

22 Paginering 2 De virtuele adresruimte en het fysieke geheugen worden opgedeeld in pagina s van vaste grootte Elke virtuele pagina kan in een willekeurige fysieke pagina staan De afbeelding van virtuele naar fysieke paginanummers gaat via een tabel (pagetable). Pagina s kunnen eigen protecties hebben Pagina s kunnen geshared worden Een pagina hoeft niet in het fysieke geheugen aanwezig te zijn: In dat geval gebeurt er een trap (page fault) Bij geheugengebrek kunnen pagina s bijv. op de harde schijf opgeslagen worden (demand paging), of in het netwerk. Page tables kunnen erg groot worden, dan opsplitsen via indirectie Lennart Herlaar Computerarchitectuur en netwerken 2 13

23 Simpele page table virtueel adres page nr offset page nr = index page table fysiek pagina nr offset fysiek adres fysiek geheugen Lennart Herlaar Computerarchitectuur en netwerken 2 14

24 Meer fysiek dan virtueel geheugen Wat doen we als het fysieke geheugen groter is dan de virtuele adresruimte? Bijvoorbeeld: oorspronkelijk MS-DOS/Intel bits machine, 1MB fysiek geheugen Eveneens oplosbaar met segmentering Virtueel geheugen is venster in het fysieke geheugen Venster hoeft niet aaneengesloten in fysieke geheugen te liggen (paginering). Lennart Herlaar Computerarchitectuur en netwerken 2 15

25 Assemblerprogrammeren Lennart Herlaar Computerarchitectuur en netwerken 2 16

26 Assembler programmeren Registers Memory PC SP Code 0 MP RR Stack 2000 We gebruiken een hypothetische CPU: Simple Stack Machine (SSM) De meeste operaties gebeuren op een stack Enkele registers: PC = program counter SP = stack pointer MP = mark pointer RR = resultaat register Lennart Herlaar Computerarchitectuur en netwerken 2 17

27 Hexadecimale notatie Bij gewone decimale notatie betekent 237 : algemeen: pqr = p q r 10 0 Lennart Herlaar Computerarchitectuur en netwerken 2 18

28 Hexadecimale notatie Bij gewone decimale notatie betekent 237 : algemeen: pqr = p q r 10 0 Bij hexadecimale notatie gebruiken we 16 cijfers in plaats van 10: abcdef (of hoofdletters) a=10, b=11, c=12, d=13, e=14, f=15 Lennart Herlaar Computerarchitectuur en netwerken 2 18

29 Hexadecimale notatie Bij gewone decimale notatie betekent 237 : algemeen: pqr = p q r 10 0 Bij hexadecimale notatie gebruiken we 16 cijfers in plaats van 10: abcdef (of hoofdletters) a=10, b=11, c=12, d=13, e=14, f=15 hex: pqr = p q r 16 0 bijv: hex 2A = = 42(decimaal) Lennart Herlaar Computerarchitectuur en netwerken 2 18

30 Hexadecimale notatie Bij gewone decimale notatie betekent 237 : algemeen: pqr = p q r 10 0 Bij hexadecimale notatie gebruiken we 16 cijfers in plaats van 10: abcdef (of hoofdletters) a=10, b=11, c=12, d=13, e=14, f=15 hex: pqr = p q r 16 0 bijv: hex 2A = = 42(decimaal) Om verwarring te voorkomen schrijven we soms pqr 10 of pqr 16 Voor hex wordt ook wel de notatie 0xpqr gebruikt Dus 0x2A = Lennart Herlaar Computerarchitectuur en netwerken 2 18

31 Stack operaties Variabelen staan ergens in het geheugen (meestal in de stack) Operaties: bijv. aftrekken push a op de stack push b op de stack doe de sub operatie SP a b SP a b Voor de operatie Na de operatie Lennart Herlaar Computerarchitectuur en netwerken 2 19

32 Push en Pop operaties Om een constante op de stack te pushen: ldc n n is de constante Om een variabele uit de stack te dupliceren naar de top van de stack (push): lds n n = offset (= afstand tussen stackpointer en variabele) voorbeeld: lds 2 Lennart Herlaar Computerarchitectuur en netwerken 2 20

33 Push en Pop operaties Om een constante op de stack te pushen: ldc n n is de constante Om een variabele uit de stack te dupliceren naar de top van de stack (push): lds n n = offset (= afstand tussen stackpointer en variabele) voorbeeld: lds SP a b c a b c SP a Voor de operatie Na de operatie Lennart Herlaar Computerarchitectuur en netwerken 2 20

34 Voorbeeld sts n is de pop operatie: berg de top van de stack op in een variabele Code voor a = b c lds -1 // b lds -1 // c mul sts -3 // a = Omdat de stackpointer continu verandert moeten we de offsets iedere keer opnieuw bepalen. Lennart Herlaar Computerarchitectuur en netwerken 2 21

35 Demo 1 Bereken c = (a-b)*(a+b) Lennart Herlaar Computerarchitectuur en netwerken 2 22

36 Demo 1 Bereken c = (a-b)*(a+b) ldc 3 // a = 3 ldc 7 // b = 7 ldc 9 // c = 9 lds -2 // a lds -2 // b sub // a-b lds -3 // a lds -3 // b add // a+b mul // (a-b)*(a+b) sts -1 // c = Lennart Herlaar Computerarchitectuur en netwerken 2 22

37 Markpointer Adresseren t.o.v stackpointer is niet handig Markpointer: wijst naar de locale variabelen van een methode Wordt tevens gebruikt voor de parameters MP a b ldl n voor pushen van variabele stl n voor poppen van variabele n is de offset t.o.v. MP Lennart Herlaar Computerarchitectuur en netwerken 2 23

38 Demo 2 Zelfde berekening met MP Lennart Herlaar Computerarchitectuur en netwerken 2 24

39 Demo 2 Zelfde berekening met MP ldc 3 // a = 3 ldc 7 // b = 7 ldc 9 // c = 9 ldl 1 // a ldl 2 // b sub // a-b ldl 1 // a ldl 2 // b add // a+b mul // (a-b)*(a+b) stl 3 // c = Lennart Herlaar Computerarchitectuur en netwerken 2 24

40 Besturing If, while, for, methode-aanroep Bij sequentiele verwerking wordt telkens de volgende instructie uitgevoerd (PC wordt opgehoogd) Bij if, while etc. wordt een andere volgorde genomen Zogenaamde branch of sprong instructies Soms afhankelijk van een conditie (boolean) We hebben ook instructies om booleans uit te rekenen lt vervangt de top twee elementen van de stack (x en y) door de boolean x < y True = woord met allemaal 1-bits (FFFFFFFF), False = 0. Op dezelfde manier le, gt, ge, eq, ne Lennart Herlaar Computerarchitectuur en netwerken 2 25

41 Besturing De instructie brt label springt naar instructie label als de waarde op de top van de stack True is ( 0) Ook zo brf label bra label springt altijd (kijkt niet naar de stack). Lennart Herlaar Computerarchitectuur en netwerken 2 26

42 Demo 3 Spring als a < b Lennart Herlaar Computerarchitectuur en netwerken 2 27

43 Demo 3 Spring als a < b label: ldc 3 // a = 3 ldc 7 // b = 7 ldc 9 // c = 9 ldl 1 // a ldl 2 // b lt // a<b brt label ldl 1 // a ldl 2 // b add // a+b stl 3 // c = Lennart Herlaar Computerarchitectuur en netwerken 2 27

44 Loops (demo 4) for (int i=1; i<=10; i++) sum = sum+i Lennart Herlaar Computerarchitectuur en netwerken 2 28

45 Loops (demo 4) for (int i=1; i<=10; i++) sum = sum+i ldc 0 // sum ldc 1 // i loop: ldl 2 // i ldc 10 le // i<=10 brf klaar ldl 1 // sum ldl 2 // i add // sum+i stl 1 // sum = ldl 2 // i ldc 1 add // i+1 stl 2 // i = bra loop klaar: halt Lennart Herlaar Computerarchitectuur en netwerken 2 28

46 Methode-aanroep Bij een methode aanroep moeten we na afloop terugkeren (return) programma bsr methode methode ret return Lennart Herlaar Computerarchitectuur en netwerken 2 29

47 Methode-aanroep Bij een methode aanroep moeten we na afloop terugkeren (return) programma bsr methode methode ret return bsr methode // hier gaan we later verder... methode:... ret Lennart Herlaar Computerarchitectuur en netwerken 2 29

48 Stack bij bsr bsr label zet eerst de waarde van de PC op de stack Dit is het adres van de volgende instructie Springt dan naar label Lennart Herlaar Computerarchitectuur en netwerken 2 30

49 Stack bij bsr bsr label zet eerst de waarde van de PC op de stack Dit is het adres van de volgende instructie Springt dan naar label ret popt het adres van de stack en zet het in de PC SP xxxx PC na de instructie SP xxxx Na de bsr instructie Na de ret instructie PC Lennart Herlaar Computerarchitectuur en netwerken 2 30

50 Parameters en resultaat Parameters zetten we op de stack voor de bsr aanroep In de methode reserveren we ruimte voor de locale variabelen We moeten ook de markpointer goed zetten We beginnen de methode met de instructie link n n = aantal woorden voor locale variabelen Voorbeeld: methode vermenigvuldig met 2 parameters en 1 locale variabele (die we niet gebruiken) -3-2 MP +1 SP a = 5 b = 12 oude PC oude MP x Lennart Herlaar Computerarchitectuur en netwerken 2 31

51 Demo 5 print vermenigvuldig(7,9) Lennart Herlaar Computerarchitectuur en netwerken 2 32

52 Demo 5 print vermenigvuldig(7,9) ldc 7 // a ldc 9 // b bsr vermenigvuldig ajs -2 // verwijder parameters ldr RR // resultaat trap 0 halt Lennart Herlaar Computerarchitectuur en netwerken 2 32

53 Demo 5 int vermenigvuldig(int a, int b) { int x; return a*b; } Lennart Herlaar Computerarchitectuur en netwerken 2 33

54 Demo 5 int vermenigvuldig(int a, int b) { int x; return a*b; } vermenigvuldig: link 1 ldl -3 ldl -2 mul str RR unlink ret // a // b // a*b Lennart Herlaar Computerarchitectuur en netwerken 2 33

55 Samenvatting 1 We hebben gezien hoe het O.S. programma s tegen elkaar kan beschermen en zichzelf kan beschermen met behulp van modes (system en user mode) memory management (segmentering en paginering) paginering geeft tevens de mogelijkheid om meer virtueel geheugen te gebruiken dan er fysiek aanwezig is 2 Assemblerprogrammeren: We hebben een simpele virtuele machine gebruikt Met assemblerprogrammeren kun je programma s schrijven die direct door de CPU uitgevoerd kunnen worden zonder dat er een ingewikkelde compiler nodig is. Maar C# is toch makkelijker! We hebben het gebruik van een stack gezien Lennart Herlaar Computerarchitectuur en netwerken 2 34

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

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

Geheugenbeheer. ICT Infrastructuren 2 december 2013

Geheugenbeheer. ICT Infrastructuren 2 december 2013 Geheugenbeheer ICT Infrastructuren 2 december 2013 Doelen van geheugenbeheer Reloca>e (flexibel gebruik van geheugen) Bescherming Gedeeld/gemeenschappelijk geheugen Logische indeling van procesonderdelen

Nadere informatie

Java virtuele machine JVM

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

Computertechniek vorige examens

Computertechniek vorige examens Computertechniek vorige examens Examen 2009 Groep 1 1. Geef de 2 manieren waarop de adressen van de I/O-module in de adresruimte geïntegreerd kunnen zijn. (memory-mapped en isolated dus) 2. Wat is post-indexering?

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

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem Tentamen A2 (deel b) 24-06-2004 Geef (liefst beknopte en heldere) motivatie bij je antwoorden; dus niet enkel ja of nee antwoorden, maar ook waarom. Geef van berekeningen niet alleen het eindresultaat,

Nadere informatie

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen Memory Management Process control information Entry point to program Process Control Block Verdelen geheugen over meerdere processen Program Branch instruction Virtual Memory Data Reference to data Processen

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

Assembly en Assemblers. Processoren 5 januari 2015

Assembly en Assemblers. Processoren 5 januari 2015 Assembly en Assemblers Processoren 5 januari 2015 Doel van vandaag Ik heb al losse eindjes over assembly verteld en een voorbeeldprogramma doorlopen. vandaag: algemeen + systematisch overzicht Programmeertalen

Nadere informatie

Hoe werkt een computer precies?

Hoe werkt een computer precies? Hoe werkt een computer precies? Met steun van stichting Edict Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Overview Introductie SIM-PL Simulatietool voor werking computer

Nadere informatie

Samenvatting Computer Architectuur 2006-2007

Samenvatting Computer Architectuur 2006-2007 Controletransferinstructies = Instructies die verandering brengen in de zuiver sequentiële uitvoering van de instructies. Ze doen dit door de instructiewijzer een andere waarde te geven. Ze kunnen met

Nadere informatie

Hoe werkt een rekenmachine?

Hoe werkt een rekenmachine? Hoe werkt een rekenmachine? Uit welke hardware-componenten bestaat een rekenmachine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachine I Constante getallen Instructies van het type

Nadere informatie

Programmeren met Arduino-software

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

7 Omzetten van Recursieve naar Iteratieve Algoritmen

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

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly

Nadere informatie

Computerarchitectuur en netwerken. InterProcess Communication (IPC)

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

VAN HET PROGRAMMEREN. Inleiding

VAN HET PROGRAMMEREN. Inleiding OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,

Nadere informatie

Antwoorden vragen en opgaven Basismodule

Antwoorden vragen en opgaven Basismodule Antwoorden vragen en opgaven Basismodule Antwoorden van vragen en opgaven van hoofdstuk 1 1. Is elke combinatorische schakeling een digitale schakeling? Zo nee, waarom niet? Antwoord: Elke combinatorische

Nadere informatie

Oefeningen Interpretatie I Reeks 6 : Registermachines

Oefeningen Interpretatie I Reeks 6 : Registermachines Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren

Nadere informatie

Software Reverse Engineering. Jacco Krijnen

Software Reverse Engineering. Jacco Krijnen Software Reverse Engineering Jacco Krijnen Opbouw Inleiding en definitie Techniek Assemblers/Disassemblers Compilers/Decompilers Toepassingen Security Overige Softwarebeveiliging Piracy Anti RE technieken

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

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

Een gelinkte lijst in C#

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

slides12.pdf December 14, 2001 1

slides12.pdf December 14, 2001 1 Onderwerpen Inleiding Algemeen 12 Getallen Getallen Representaties Rekenen Problemen Piet van Oostrum 12 dec 2001 INL/Alg-12 1 X INL/Alg-12 1 X Getallen Soorten getallen Wat is een getal? Experiment: met

Nadere informatie

Lineaire data structuren. Doorlopen van een lijst

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

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets) TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

Nadere informatie

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 Herhaling: Booleaanse algebra (B = {0,1},., +, ) Elke Booleaanse functie f: B n B m kan met., +, geschreven worden Met Gates (electronische

Nadere informatie

Studentnummer:... Opleiding:... a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid?

Studentnummer:... Opleiding:... a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid? Computerorganisatie (213110) Dinsdag 15 augustus 2000, 13.30 17.00 uur 7 bladzijden met 6 opgaven 3 bladzijden met documentatie Bij dit tentamen mag geen gebruik worden gemaakt van boeken, dictaten of

Nadere informatie

Talstelsels en getalnotaties (oplmodel)

Talstelsels en getalnotaties (oplmodel) Talstelsels en getalnotaties (oplmodel) herhalingsvragen 1. Waarom werken computers binair? Omdat binaire computers veel makkelijker te maken is. De kans op fouten is ook veel kleiner. het spanningsverschil

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

scc = b) CD AB

scc = b) CD AB Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,

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

Pascal uitgediept Data structuren

Pascal uitgediept Data structuren Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur

Nadere informatie

Beter, Sneller, Mooier. Processoren 27 maart 2012

Beter, Sneller, Mooier. Processoren 27 maart 2012 Beter, Sneller, Mooier Processoren 27 maart 2012 Beter! Sneller! Krach:gere CPU: microcode Snellere CPU: pipeline, out- of- order execu:on Sneller RAM: cache meer mogelijkheden... Welke extra s kan processor-

Nadere informatie

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Syntax- (compile), runtime- en logische fouten Binaire operatoren Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle

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

Systeemarchitectuur. Piet van Oostrum. herziene versie november 2005. Departement Informatica

Systeemarchitectuur. Piet van Oostrum. herziene versie november 2005. Departement Informatica Systeemarchitectuur Piet van Oostrum herziene versie november 2005 Departement Informatica Padualaan 14 3584 CD Utrecht Corr. adres: Postbus 80.089 3508 TB Utrecht Telefoon 030-2531454 Fax 030-2513791

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

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

Debugging in embedded en native systemen met GDB

Debugging in embedded en native systemen met GDB Debugging in embedded en native systemen met GDB A.M. ten Doesschate July 15, 2015 Abstract Een korte beschrijving : intro gebruik met welke tools en hulpmiddelen van de GDB setup en een summier aantal

Nadere informatie

Een eenvoudig algoritme om permutaties te genereren

Een eenvoudig algoritme om permutaties te genereren Een eenvoudig algoritme om permutaties te genereren Daniel von Asmuth Inleiding Er zijn in de vakliteratuur verschillende manieren beschreven om alle permutaties van een verzameling te generen. De methoden

Nadere informatie

Indirecte adressering

Indirecte adressering Indirecte adressering 1 pagina 1 Absolute adressering - Directe adressering Operand Operand- Supplementaire Beschrijving adres toegangsbreedte (voorbeeld) I 37.4 byte, woord, Ingangen dubbelwoord Q 27.7

Nadere informatie

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012 De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012 Tanenbaum hoofdstuk 2 von Neumann - architectuur. Tanenbaum, Structured Computer Organiza4on, FiMh Edi4on, 2006 Pearson Educa4on,

Nadere informatie

4EE11 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 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 informatie

Digitale technieken Deeltoets II

Digitale technieken Deeltoets II Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

Nadere informatie

VRIJ TECHNISCH INSTITUUT Burg.Geyskensstraat 11 3580 BERINGEN. De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis

VRIJ TECHNISCH INSTITUUT Burg.Geyskensstraat 11 3580 BERINGEN. De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis Burg.Geyskensstraat 11 3580 BERINGEN De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis Versie: vrijdag 2 november 2007 2 Toegepaste informatica 1 De Microprocessor Zowel

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

Datastructuren en algoritmen

Datastructuren en algoritmen Datastructuren en algoritmen Doelstelling Datastructures + algorithms = programs Boek van Niklaus Wirth: bedenker Pascal en Modula Datastructuur: structuur om informatie op te slaan Algoritme: voorschrift

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

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

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo) informatica hardware overzicht moederbord CPU RAM GPU architectuur (vwo) 1 moederbord basis van de computer componenten & aansluitingen chipset Northbridge (snel) Southbridge ("traag") bussen FSB/HTB moederbord

Nadere informatie

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies 17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke

Nadere informatie

Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers

Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers Hoofdstuk 6: Beslissingen: if-statement en switch-statement. Inleiding: Condities zijn waar (true) of onwaar (false) In C staat het int-getal

Nadere informatie

Let op dat de scoping regels gerespecteerd blijven; het volgende voorbeeld mag geen fout melden.

Let op dat de scoping regels gerespecteerd blijven; het volgende voorbeeld mag geen fout melden. Vrije Universiteit Brussel Faculteit Wetenschappen Vakgroep Computerwetenschappen Academiejaar 2009 2010: tweede examenzittijd Interpretatie van Computerprogrammaʼs I schriftelijke test Voorafgaandelijk:

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

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 ) OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (8)

De Arduino-microcontroller in de motorvoertuigentechniek (8) De Arduino-microcontroller in de motorvoertuigentechniek (8) E. Gernaat (ISBN 978-90-79302-11-6) 1 Assembly (Assembleertaal) 1.1 Inleiding De Arduino kan ook in assembleertaal (assembly) worden geprogrammeerd.

Nadere informatie

Informatica: C# WPO 9

Informatica: C# WPO 9 Informatica: C# WPO 9 1. Inhoud Functies (functies met return-waarde) 2. Oefeningen Demo 1: Som Demo 2: Min en max of array Demo 3: Retourneer array van randomwaarden A: Absolute waarde A: Afstand A: Aantrekkingskracht

Nadere informatie

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam

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

Inhoud vandaag. Interrupts. Algemeen ARM7 AIC

Inhoud vandaag. Interrupts. Algemeen ARM7 AIC Inhoud vandaag Interrupts Algemeen ARM7 AIC Interrupts Wat is een interrupt? Een interrupt is een onderbreking van de huidige bezigheden ten gevolge van een externe gebeurtenis, zodanig dat de bezigheden

Nadere informatie

Hoofdstuk 6: Zelf functies maken

Hoofdstuk 6: Zelf functies maken Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 6: Zelf functies maken 6.0 Leerdoel

Nadere informatie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

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

Turbo Pascal (deel 1)

Turbo Pascal (deel 1) Turbo Pascal (deel 1) MSX CLUB MAGAZINE 34 Erik van Bilsen Scanned, ocr ed and converted to PDF by HansO, 2001 Erik van Bilsen leert u het klappen van de Turbo Pascal zweep. Turbo Pascal toepassen Deze

Nadere informatie

Digitale en analoge technieken

Digitale en analoge technieken Digitale en analoge technieken Peter Slaets February 14, 2006 Peter Slaets () Digitale en analoge technieken February 14, 2006 1 / 33 Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen

Nadere informatie

scc =!F3.!F2 b) CD AB

scc =!F3.!F2 b) CD AB Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

Nadere informatie

Programmeren in Java les 3

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

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

n o F o r t h voor MSP430 Launchpad 1. Memory map Er zijn twee ROM gebieden (alle getallen zijn hex): , verdeeld in vier blokken van 40

n o F o r t h voor MSP430 Launchpad 1. Memory map Er zijn twee ROM gebieden (alle getallen zijn hex): , verdeeld in vier blokken van 40 n o F o r t h voor MSP430 Launchpad Albert Nijhof & Willem Ouwerkerk (29aug2012) 1. Memory map Er zijn twee ROM gebieden (alle getallen zijn hex): 1000-1100, verdeeld in vier blokken van 40 1000-1040 INFOD

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

van PSD naar JavaScript

van PSD naar JavaScript 2015 van PSD naar JavaScript F. Vonk versie 2 19-9-2015 inhoudsopgave 1. inleiding... - 2-2. ontwikkelomgeving... - 3-3. programmeerconcepten... - 4 - statement... - 4 - sequentie... - 4 - variabele en

Nadere informatie

Deel 1: schriftelijk deel

Deel 1: schriftelijk deel Examen Computerarchitectuur en systeemsoftware Donderdag 15 januari 2009, namiddag Deel 1: schriftelijk deel Algemene bemerkingen: Het examen bestaat uit 2 delen. Dit zijn de vragen voor het eerste deel.

Nadere informatie

Tentamen Computersystemen

Tentamen Computersystemen Tentamen Computersystemen baicosy06 2e jaar bachelor AI, 2e semester 23 september 2013 13u-15u IWO 4.04A (blauw), Academisch Medisch Centrum, Meidreef 29, Amsterdam ZuidOost Het is niet toegestaan communicatieapparatuur

Nadere informatie

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15

Nadere informatie

Stacks and queues. Hoofdstuk 6

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

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

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

VirtualBox: hoe werkt het?

VirtualBox: hoe werkt het? VirtualBox: hoe werkt het? Handleiding van Auteur: ReD123NaX Oktober 2014 VirtualBox: hoe werkt het? In deze nieuwsbrief ga ik wat vertellen over virtualisatie. Virtualisatie is dé uitkomst wanneer je

Nadere informatie

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

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

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14 Python Vraag 1: Expressies en types Integrated Development Environment (IDE): Ø Wing 101 (gratis te downloaden op www.wingware.com) Oefeningen in de shell >> noemen we de prompt Python commando s = expressies

Nadere informatie

Inleiding C++ Coding Conventions

Inleiding C++ Coding Conventions Inleiding C++ Coding Conventions Opleiding Bachelor of Science in Informatica, van de Faculteit Wetenschappen, Universiteit Antwerpen. Nota s bij de cursus voor academiejaar 2012-2013. Ruben Van den Bossche,

Nadere informatie

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur) Planning 1. Mini College 2. Introductiecursus Imperatief Programmeren 3. Crash and Compile (vanaf 17:00 uur) Geschiedinis van de Codemonkeys imperatief programmeren voor beginners Geschiedenis van de Codemonkey

Nadere informatie

Een typisch programma in C en C++ bestaat uit een aantal onderdelen:

Een typisch programma in C en C++ bestaat uit een aantal onderdelen: Eerste stappen in C. Een typisch programma in C en C++ bestaat uit een aantal onderdelen: /* Alles wat op meerdere lijnen staat zoals hier is commentaar. */ // Dit is commentaar op 1 lijn. Geldig tot einde

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

1 Inleiding in Functioneel Programmeren

1 Inleiding in Functioneel Programmeren 1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp

Nadere informatie

Getalformaten, timers en tellers

Getalformaten, timers en tellers Getalformaten, timers en tellers S_CU CU S PV R CV DEZ CV_BCD S_ODT S TV BI R BCD 1 pagina 1 Getalformaten (16 bits) PG CPU BCD W#16#296 Voorteken (+) 2 9 6 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 Positieve getallen

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale

Nadere informatie

Intro S7-1200. datum: onderwerp: door: aan: dinsdag 11 juni 2013 Introductie S7-1200 onder TIA Portal Industrial Automation

Intro S7-1200. datum: onderwerp: door: aan: dinsdag 11 juni 2013 Introductie S7-1200 onder TIA Portal Industrial Automation Intro S7-1200 datum: onderwerp: door: aan: dinsdag 11 juni 2013 Introductie S7-1200 onder TIA Portal Industrial Automation Wat is TIA Portal? Noviteiten 1500 CPU ET200SP remote IO Noviteiten 1200 en 1500

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

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

6 Programmastructuren

6 Programmastructuren 6 Programmastructuren 6.1 Lineair programmeren Een lineair programma heeft een eenvoudige structuur. Alle instructies worden geprogrammeerd in. Deze bouwsteen wordt continu doorlopen waarbij het gehele

Nadere informatie

Persistentie via bestanden. Bestanden

Persistentie via bestanden. Bestanden programma is transient Persistentie via bestanden Administratieve gegevens zijn verzameld in het file-object: o.a. waar ergens op de disk de data van het bestand te vinden is. invoer van de gebruiker programma

Nadere informatie

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar.

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar. Parallelle poort interface met Visual basic Waarom dit naslagwerk: Ik was zelf een beginner op dit vlak en heb dagen lopen zoeken naar correcte en up to date info inzake de aansturing van pc naar elektronica

Nadere informatie

[8] De ene 1 is de andere niet

[8] De ene 1 is de andere niet [8] De ene 1 is de andere niet Volg mee via 08_Types.py In de volgende leerfiche gaan we rekenen met Python. Dat kan je in een programma doen, maar dat kan je ook gewoon vanuit het Shell-venster doen.

Nadere informatie