1 Graduation Report Time is of the Essence Implementation of the LIMEFS Realtime Linux Filesystem Rink Springer Revision 1.1 2nd June 2005
2 STAGEVERSLAG VOOR FONTYS HOGESCHOOL INFORMATICA AFSTUDEERSTAGE Gegevens Student: Naam: Springer, R.P.W. ( Rink ) Studentnummer: Opleiding: Hogere Informatica Voltijd Stageperiode: 07/02/ /06/2005 Gegevens Bedrijf: Naam bedrijf: Afdeling: Plaats: Naam bedrijfsbegeleider: Philips Research Software Engineering Services Eindhoven, Nederland M. Geldermans Gegevens Docentbegeleider: Naam docentbegeleider: W. Zijlmans Gegevens verslag: Titel stageverslag: Time is of the Essence Ondertitel stageverslag: Implementation of the LIMEFS Realtime Linux Filesystem Datum uitgifte stageverslag: 02/06/2005 Getekend voor gezien door bedrijfsbegeleider: Datum: De bedrijfsbegeleider,
3 Preface This report will describe my graduation internship at Philips Research in Eindhoven. It is written in an informative manner, with the exception of my personal evaluation which, of course, can't be objective or purely informative. The report is written using the guidelines as outlined in . The goal of the internship was to design and implement a real time lesystem for Linux. This is illustrated further in the project description on page 3. The target audience is mostly people having an interest in the process or the execution of my internship. The technical documentation of the project is a separate document, which is included as appendix A. The project management plan, or plan van aanpak, is included as appendix B. Finally, I'd like to to thank the following people who helped me during my internship: Bas van Tiel, Michiel van Slobbe, Ron Eringa, Ad Denissen, Mischa Geldermans, Christ Vriens, Werner Almesberger and Wim Zijlmans. Rink Springer May 2005
4 iv CHAPTER 0. PREFACE
5 Contents Preface Summary Samenvatting Denitions and abbreviations iii vii ix xi 1 Introduction 1 2 Project 3 3 Evaluation Planning using PPTS Code reviewing Working with a team Iterations Iteration 1 and 2: Getting started Iteration 3: Designing the lesystem Iteration 4: Starting the implementation Iteration 5: Reading/writing les Iteration 6: Documentation and ABISS research Iteration 7: More documentation, cleanups Iteration 8: Fragmentation study, even more reports Iteration 9: Finishing up Iteration 10: The Living End Personal Evaluation Learning experiences Study-related Personal Improvements Working at Philips Research
6 vi CONTENTS 5 Conclusion 17 A Technical Report 21 B Plan van Aanpak 71
7 Summary This report provides an in-depth view of my graduation internship at Philips Research. The direct result is a Linux lesystem which can be compiled directly into the kernel itself, utilities to create, verify and debug the lesystem and nally a technical report on the internals of the lesystem, as well as the graduation report, which you are currently reading. During this internship, I've looked deeply in the Linux kernel, especially with regard to lesystems and disk I/O. This resulted in knowledge about Linux kernel internals, which will surely be useful in the future. The aspects of Extreme Programming were also widely applied.
8 viii CHAPTER 0. SUMMARY
9 Samenvatting Dit verslag biedt een overzicht van mijn afstudeerstage bij Philips Research. Het directe resultaat is een Linux lesysteem dat direct in de Linux kernel opgenomen kan worden, programma's om het lesysteem aan te maken, te controleren en te debuggen. Tot slot is er een rapport geschreven dat de technische aspecten van het lesysteem belicht en een het uiteindelijke afstudeerverslag dat u nu aan het lezen bent. Tijdens de stage heb ik erg diep in de Linux kernel gekeken, waarbij vooral de lesystemen en het I/O systeem centraal stond. Het resultaat hiervan is kennis over de interne Linux kernel structuren, die zeker van pas zullen komen in de toekomst. Verder heb ik ook de Extreme Programming-methode erg veel toegepast.
10 x CHAPTER 0. SAMENVATTING
11 Denitions and abbreviations ABISS CRE ext3 extent FAT inode LIMEFS meta data RTFS userland kernelspace Active Block I/O Scheduling System, a scheduling system which can provide guaranteed read- and write I/O performance to applications  Corporate Research Exhibition Third Version of the Extended Filesystem, the default Linux lesystems An (oset, length) pair File Allocation Table, the original MS-DOS lesystem A data structure used by the lesystem to describe a le. The contents of an inode include the le's type and size, the UID of the le's owner, the GID of the directory in which it was created, and a list of the disk blocks and and fragments that make up the le.  Large-le metadata-in-memory Extend-based File System, the lesystem created during the internship Data about data, used to store administration about other data. Mainly used by lesystems Real Time File System, lesystem designed by Philips Research for realtime storage requirements Code implemented in ordinary applications Code implemented within the operating system's kernel
12 xii CHAPTER 0. DEFINITIONS AND ABBREVIATIONS
13 Chapter 1 Introduction Koninklijke Philips Electronics N.V. is Europe's biggest manufacturer of electronics, as well as one of the biggest in the world. Philips' core business is health care, lifestyle and technology. As of 2005, the enterprise employs over people, in over 60 countries. Out of these people, about are employed in Philips Research, which was founded in 1914 in Eindhoven. This report will highlight the graduation project of Rink Springer, which is the design and implementation of a Linux real time le system. The project itself will be described in the next chapter, on page 3. The actual technical overview of the report is outlined in appendix A. The next chapters discuss an evaluation of the project, a conclusion of the project and an overview of all used bibliography.
14 2 CHAPTER 1. INTRODUCTION
15 Chapter 2 Project During the rst month of the project, I've been installing my computers and clarifying my assignment. As later outlined in section 3.4.1, there were three options possible. During this month, all these options were carefully evaluated by the end of this month in order to determine the goal of the internship. The denitive project outlined in the next paragraph. The project is about designing and implementing a real time le system for the Linux operating system. There are already a lot of lesystems around, but this lesystems has the following distinctive features: ˆ Disk block size Instead of traditional sectors, this le system uses a user-denable block size for all disk transactions. This is designed to improve performance. ˆ Larger data block size Whereas traditional lesystems usually tend to use 64KB per data block, this lesystem uses a default of 4MB blocks. This helps avoiding overhead. ˆ Meta-data in memory Unlike traditional lesystems, this lesystem will keep all meta-data in memory. This ensures no disk access is needed to fetch this information. Most administration is built on-the-y upon mount time. ˆ Extent structure The lesystem uses an extent structure to maintain data block allocations. This lesystem must be implemented within the kernel of the Linux operating system. Furthermore, the following utilities must be implemented as well:
16 4 CHAPTER 2. PROJECT ˆ Make FileSystem (mkfs) This will create new lesystem structures on a given disk. ˆ FileSystem ChecK (fsck) Used to validate the internal lesystem structures and repair the lesystem as needed. ˆ Dump FileSystem (dumpfs) Displays the complete lesystem structures as they are stored on the disk. Mainly used as a debugging tool. Last but not least, the entire lesystem must be documented in a technical report. This report can be found as appendix A.
17 Chapter 3 Evaluation 3.1 Planning using PPTS PPTS, the Project Planning & Tracking System, is the planning system in use at SES. It is suited for extreme programming projects by dening the workload into user stories. Each user story is divided into tasks, to which you can assign an estimation and the actual used working hours. All this information is nicely plotted in a graph, which is then used to predict how close we are to the iteration's result. For the rst few weeks, I've used PPTS nicely in order to keep a planning. However, as things progressed, eventually I kept forgetting to store my stories, tasks and hours within PPTS. My mentor agreed PPTS is a bit of an overkill for my project, as I am the only person working at it. Therefore, my involvement with PPTS was brief. 3.2 Code reviewing By the end of the 5 th iteration, Mischa wanted to review some of my code. The result of this was the two of us having discussions of about an hour which basically came down to personal taste. Of course, there were some parts in which he totally was correct to point some issues, but most of the discussion was purely a matter of personal coding style. After this came up a few times, we agreed that we'd no longer discuss minor details but would rather focus on the bigger picture. Since then, we have been on the same track while browsing through the code. These reviews have been very helpful to determine strong and weak points of the implementation, all of which were eventually patched up to reach the degree of quality desired.
18 6 CHAPTER 3. EVALUATION 3.3 Working with a team During the internship, I was part of the ehub team. As required by Extreme Programming, all team members work close to each other (in our case, in the same room) so knowledge is easily available and you don't need to spend hours looking for people in case you have a question or are stuck. It can also be very benecial to have other people take a look at your code if you encounter a problem, as it is common to overlook simple issues. Even explaining the issue to someone else can be a great help, as it forces you to think about what you actually created. As such, I have helped coworkers with their problems and they have returned this favor to me. This approach was kind of new to me, as communication on my previous internships was not as informal or helpful. 3.4 Iterations To Extreme Programming, an iteration is a predened time period, 2 weeks in our case. At the beginning of each iteration, it will be determined what will be done during the iteration. Based on this, a planning is made and the work is divided between team members Iteration 1 and 2: Getting started 7 February - 4 March Activities The rst month of the internship, this mostly came down to meeting people, setting up the work environment and having discussions about what I would be doing. During this discussion, the following possibilities arose: ˆ Examine the ext3 lesystem This is the de facto Linux lesystem, which may be patched so it will suit our needs. ˆ Port RTFS to Linux Philips has made their own, userland realtime lesystem. It may be a good option to port this to Linux.
19 3.4. ITERATIONS 7 ˆ Create a new Linux realtime lesystem Based on the RTFS ideas, it may be useful to design a new lesystem based on RTFS ideas. In order to have some knowledge in advance, I quickly took a look on how ext3 is organized, and some minor looks at the codebase. Since the RTFS codebase was unavailable at the time, I also read some whitepapers to determine the design goals of the RTFS. One of the issues with RTFS were its severe limitations: it was designed for limited environments, in which memory is sparse. A redesign of the lesystem could take the lesystem to the next level, in which these issues have disappeared. Results Based on my studies of ext3 and the RTFS, it was determined that patching up ext3 to suit our needs would be a too big risk. It would be a project on its own to dig through ext3's codebase and design, let alone suggest/implement improvements. Therefore, this option was deemed unrealistic. At the end of this discussion, we determined that it would be much more benecial and maintainable to design a new lesystem from scratch than to keep patching up RTFS itself. Therefore, a new lesystem would be created, LIMEFS Iteration 3: Designing the lesystem 8-18 March Activities As the goal was laid out, it was time to start designing the lesystem itself. First, this meant all dierent aspects of RTFS had to be examined and embedded in our lesystem. After some careful studying, both Mischa and I developed proposals for the data structures to be used. After careful consideration, we merged the best of both designs together.
20 8 CHAPTER 3. EVALUATION Results By the end of this iteration, the lesystem design was nalized. Both my company mentor Mischa, who was involved in RTFS work and I were satised with the new design. LIMEFS still remains a very close relative of the original RTFS, but is much better geared towards current requirements Iteration 4: Starting the implementation 21 March - 1 April Activities During this iteration, the true implementation of the lesystem began. At rst, I studied a lot of existing lesystems to determine the lesystem interface towards the kernel. From then on, a simple skeleton lesystem was created. This skeleton was loadable as a kernel module and would return failure on every operation. This simplied development by adding features one by one. Along with coding the lesystem itself, development of the lesystem creation utility, mkfs.limefs, began. This utility creates a lesystem on a disk. The rst version featured some debugging hacks which would allow it to create preliminary les to aid in debugging. Results At the end of the iteration, I was able to create a new lesystem, which could be mounted and used. Files would always be empty, since especially the le reading/writing was not yet implemented Iteration 5: Reading/writing les 4-15 April Activities As the more basic functionality was completed, le reads/writes were implemented. This proved to be challenging, as some parts are hard to debug sensibly.
21 3.4. ITERATIONS 9 This functionality needed more administrative code to be written, such as the free space administration code. In order to enforce quality on such an important subsystem, software tests were designed to maintain a correct implementation. Results A debugging tool, dumpfs, was written to dump the lesystem structures in a human-readable form for easier debugging. Also, tests were written for the extent administration code (refer to the technical report for more information). By the end of this iteration, it was possible to make actual use of the lesystem by creating, removing, reading and writing les and directories Iteration 6: Documentation and ABISS research April Activities Since the last iterations were all around designing and coding the lesystem, this iteration was mainly spent on running tests on the lesystem and starting writing the reports. Along with this documentation, eort was made to look into the ABISS system. ABISS, the Active Block I/O Scheduling System, is a Linux kernel subsystem which can provide realtime disk scheduling to applications . In order to do this, some lesystem information must be passed to ABISS. Some time of this iteration was spent to review ABISS, and mainly the integration between lesystems and ABISS. Results Most of the I/O chapter of the technical report was written, along with some minor parts of the LIMEFS chapter. The graduation report was started, but only the table of contents was written and submitted for review. The operation of the ABISS framework was quite clear, along with the knowledge needed to integrate the lesystem with ABISS.
22 10 CHAPTER 3. EVALUATION Iteration 7: More documentation, cleanups 2-13 May Activities This iteration was all about documentation and cleaning up. The technical report was written during this time, and some time invested to clean up the existing codebase. Results The LIMEFS chapter of the technical report was mostly nished, along with huge parts of the implementation chapter. The codebase was massively cleaned up after careful evaluation with Mischa Iteration 8: Fragmentation study, even more reports May Activities Ad has been conducting some experiments to see how le fragmentation would aect the lesystem during normal operations. This tool would simulate an extent-based lesystem housing a lot of les. Should the lesystem be lled, a le would randomly be deleted, making space for the new data. During this iteration, the technical report was nished and submitted to Mischa for reviewing. The remaining time was spent nishing this report. Results By the end of this iteration, the le fragmentation section of the technical report was written and the rest of the report was nished. It was then submitted for review. A draft of this report itself was also nished during this iteration and submitted for review. At the time of writing, iterations 9 and 10 were not yet started. Therefore, the descriptions given here are the planned activities
23 3.4. ITERATIONS Iteration 9: Finishing up 30 May - 10 June Activities During this iteration, all reports were nished and submitted to Fontys. Work on the presentation began, as well as more and more tests to determine the bottlenecks of the lesystem as well as its performance Iteration 10: The Living End June Activities From output gathered by the tests, the lesystem was further optimized. The graduation presentation was presented at Fontys. The remaining time was spent on nishing the project.
24 12 CHAPTER 3. EVALUATION
25 Chapter 4 Personal Evaluation 4.1 Learning experiences As of any internship, the goal is twofold: for one, my knowledge should be expanded. And not solely study-related knowledge, but also personal knowledge: how to deal with problems in a project, how to talk to people... things of a more social nature. Being part of a true project at a company, so you get an impression how everything is organised and to be a part of it. Starting a project from the beginning to the end Study-related I've learned a lot on Linux kernel internals. As I am mostly a BSD user myself, I had nally gotten the chance to get familiar with Linux. I learned a lot about lesystems and their implementation within the Linux kernel. Not only the plain design of a lesystem, but also how this is entangled within the kernel itself. Debugging code is always a challenge; this is especially true for kernel code. There is no sensible debugger, no breakpoints... all came down to simple print statements and tracing kernel panics. I didn't have much experience in Linux-specic debugging when I started this assignment Personal As for my personal learning experiences, I feel I've now really gotten an impression how a huge company is being organized. My previous internships
26 14 CHAPTER 4. PERSONAL EVALUATION were at small to medium organizations, therefore this was quite an interesting experience. Communication is really valued at Philips Research... in fact, it is a requirement. If you cannot express yourself towards your colleagues, the environment won't be very enjoyable. At the beginning of each day, not only did I have a talk with my company mentor, but also with the entire team. The latter took place in a so-called standup meeting around 9:00. The purpose of this meeting is to inform everyone what you are doing, what went well and what didn't. This is very useful, for people who have knowledge in the area you are struggling in will tell you, so you immediately know who you can ask for help. People were surprised to see the discussions between Mischa and me. From the start of the project, it was made clear that the both of us had strong opinions and ideas about how things should be done. However, our disagreements were not to annoy each other, but rather to ensure we would achieve the best result on the project. I believe these discussions have really paid o and at the end, I am glad we were able to discuss with each other in such a way. 4.2 Improvements This section will only focus on the suggested improvements regarding the process. Technical improvements are outlined in the technical report. As for the reports, even as a lot of time has been reserved for them, it proved hard to get people to review them in time. This was also mostly to a Philips event taking place in June, the CRE, which usurps most people's time. I would suggest anyone having an internship at Philips to take this into account. This internship has proven once more how important good communication is. I am convinced my mentor and I have had good communication, but since we were both in separate buildings, it never really motivated me to walk over for quick questions or comments. This can be seen as a defect on my side. 4.3 Working at Philips Research While working at Philips Research, I really felt like being part of a team. People all around you are working on dierent aspects of the program, and
27 4.3. WORKING AT PHILIPS RESEARCH 15 occasionally ask you to help them with bugs they keep overlooking, general comments on their code and such. And of course, the reverse is true as well. I was really impressed by the facilities present, and even more so with the facilities which could be arranged if needed. At previous internships, I was used to working with deprecated hardware previously used by employees who got new machines. However, anything I needed (a faster computer, a harddisk for running tests on, a new screen, a good mouse etc) were mostly just a call to Ad away. Finally, what really motivated me was the fact that people take you extremely seriously. They consider you part of the team, and will work with you to resolve any issues. At previous internships, I got the impression I was considered just a student, who shouldn't be taken too seriously.
28 16 CHAPTER 4. PERSONAL EVALUATION
29 Chapter 5 Conclusion During this internship, I've learned a lot about the Linux kernel, especially with respect to le systems and block I/O layers. I feel I have gotten a very good impression of Extreme Programming. It is extremely useful to see how this method is being used in a company, and how everything is managed on top of this method. Writing and using tests was very hard while doing kernel development, but several administrative parts of the lesystem were designed so they could easily be tested. Furthermore, I was surprised at the freedom which I had while performing this project. During previous internships, my mentor there gave me a specic task which needed to be carried out. During this internship, my internship mentor actually encouraged me to make suggestions and come up with my own ideas. Working within a true team was also extremely pleasant, not to mention a new experience to me. Finally, I am very pleased with the result of this internship. Not only have I learned a lot about Linux lesystems and I/O internals, but also about Extreme Programming and how very useful it can be to help someone if they are stuck with a problem in their code.
30 18 CHAPTER 5. CONCLUSION
31 Bibliography  Werner Almesberger and Benno van den Brink. Active block i/o scheduling system. Website, abiss-lk.ps.  Wim Hoogland. Rapport over Rapporteren. Wolters-Noordho,  Marshall Kirk McKusick and George V. Neville-Neil. The Design and Implementation of the FreeBSD Operating System. Addison-Wesley, 2005.
32 20 BIBLIOGRAPHY
33 Appendix A Technical Report
34 Technical Report LIMEFS Realtime File System Rink Springer Revision 1.1 2nd June 2005
36 Preface This report is about the technical aspects of the lesystem created during my internship at Philips Research in Eindhoven. It is written in an informative manner, which should provide the reader with a clear overview of the design and implementation of the lesystem. The target audience is mostly software engineers having an interest in the LIMEFS design/implementation. The Linux VFS implementation is also briey outlined, more details can be found in. This report assumes generic lesystem knowledge. I'dliketotothankthefollowingpeoplewhohelpedmeduringmyinternship: Bas van Tiel, Michiel van Slobbe, Ron Eringa, Ron Lievens, Ad Denissen, Mischa Geldermans, Christ Vriens, Werner Almesberger, Wim van de Goor and Wim Zijlmans. Rink Springer Eindhoven, May 2005
37 iv CHAPTER 0. PREFACE
38 Contents Preface iii Summary ix Denitions and abbreviations xi 1 Introduction 1 2 Linux I/O Layer 2.1 Introduction Overview VFS layer Superblock operations alloc_inode destroy_inode read_inode write_inode put_super write_super statfs Directory operations readdir Inode operations create lookup link unlink symlink mkdir rmdir rename File operations get_block
39 vi CONTENTS 2.4 ABISS LIMEFS Introduction Overview Superblock File Information Table Directory Inode File Inode Hardlink Inode Softlink Inode Checkpoint Inode Data blocks Implementation Allocation Free space Introduction Example Operations Locking Hard links Begin and end osets Commit daemon Tests Conclusion 33
40 List of Figures 2.1 Summary of Linux I/O layers On-disk structure of the lesystem Internal osets of on-disk structures Nesting of directories Fragments per le Fragment occurrence File-extent administration File begin- and end osets Hard link and le relationship Allocation strategy: initial status Allocation strategy: after extending le 'a' Allocation strategy: after extending le 'a' again Allocation strategy: new le 'c' with a data block Freelist: initial status Freelist: freed block 3, gives new extent Freelist: freed block 6, expands extent Freelist: freed block 12, merges extents
41 viii LIST OF FIGURES
42 Summary This report provides an in-depth view of the technical aspects of the LIMEFS lesystem. It provides an extensive overview of the LIMEFS lesystem as well as a brief overview of the Linux Virtual File System design. The following aspects are covered by this report: ˆ Linux I/O Layer What is the basic design, what does a lesystem have to provide? Focuses mostly on the Linux Virtual File System layer. ˆ LIMEFS Overall design ideas of the LIMEFS lesystem, as well as all structures used within the LIMEFS lesystem. ˆ Implementation Linux Implementation-specic details of the lesystem. The overall conclusion of the report is a stable lesystem which is very suitableforstoringlargelesofafewgigabytes. Thereisroomforimprovement, especially within the administration part of the lesystem. As for most multimedia applications, the lesystem is ready to be used.
43 x CHAPTER 0. SUMMARY
44 Denitions and abbreviations ABISS Active Block I/O Scheduling System, a scheduling system which can provide guaranteed read- and write I/O performance to applications  dentry Directory entry, data structure (include/linux/dcache.h) in the directory cache which contains information about a specic inode within a directory extent An (oset, length) pair hard link A directory entry that directly references an inode. If there are multiple hard links to a single inode and if one of the links is deleted, the remaining links still reference the inode.  mmap(2), unlink(2) These are references to C library functions. The number between parentheses denes the section number in the appropriate manual page inode A data structure used by the lesystem to describe a le. The contents of an inode include the le's type and size, the UID of the le's owner, the GID of the directory in which it was created, and a list of the disk blocks and and fragments that make up the le.  LIMEFS Large-le metadata-in-memory Extend-based File System, the lesystem created during the internship soft link A le whose contents are interpreted as path name when it is supplied as a component of a path name. Also called a soft link.  symbolic link See soft link
45 xii CHAPTER 0. DEFINITIONS AND ABBREVIATIONS
46 Chapter 1 Introduction This technical report describes the LIMEFS lesystem. This lesystem was written during my graduation project of my Computer Sciences study at Fontys Hogescholen in Eindhoven and carried out at Philips Research in Eindhoven. The goal was design and implement a framework for realtime le storage, which came down to implementing a realtime lesystem which can provide guaranteed I/O performance. The report will provide a rough description of the Linux Virtual File System structure. The next part will focus completely on the design and implementation of the XXFS lesystem, followed by concluding statements on the project.
47 2 CHAPTER 1. INTRODUCTION
48 Chapter 2 Linux I/O Layer 2.1 Introduction This chapter will describe the Linux I/O layer. In order to develop a lesystem, you should understand how a Linux system interacts with les, devices and lesystems. This chapter will shed light on Linux I/O internals. It is surprising to see how close Linux tries to follow the original UNIX architecture, as outlined in . This book is a good reference to understand the algorithms and major design ideas (for example, of the cache code), but not the actual implementation. Only the actual lesystem layer itself will be described in detail, because it is the most important for this project. For a complete overview of the I/O path, refer to Job Wildschut's technical graduation report: Linux IO Performance, which sheds light on the internals. 
167 Appendix A: List of variables with corresponding questionnaire items (in English) used in chapter 2 Task clarity 1. I understand exactly what the task is 2. I understand exactly what is required of
B1 Woordkennis: Spelling Bestuderen Inleiding Op B1 niveau gaan we wat meer aandacht schenken aan spelling. Je mag niet meer zoveel fouten maken als op A1 en A2 niveau. We bespreken een aantal belangrijke
S e v e n P h o t o s f o r O A S E K r i j n d e K o n i n g Even with the most fundamental of truths, we can have big questions. And especially truths that at first sight are concrete, tangible and proven
Travel Survey Questionnaires Prot of Rotterdam and TU Delft, 16 June, 2009 Introduction To improve the accessibility to the Rotterdam Port and the efficiency of the public transport systems at the Rotterdam
Firewall van de Speedtouch 789wl volledig uitschakelen? De firewall van de Speedtouch 789 (wl) kan niet volledig uitgeschakeld worden via de Web interface: De firewall blijft namelijk op stateful staan
www.iuscommune.eu Dear Ius Commune PhD researchers, You are kindly invited to attend the Ius Commune Amsterdam Masterclass for PhD researchers, which will take place on Thursday 16 June 2016. During this
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 8 februari 2010 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel
NAVIJVEN MINILAMPJES OM ZELF TE MAKEN KERSTFIGUREN UIT DE LAPPENMAND VOOR DE KINDERSSALOON EN COWBOYS VAN LOLLYSTOKJES KAMERBREED BOEKENREK VOOR EEN SMAL BUDGETGEBAKKEN KOEKFIGUURTJES HANGEN WE IN DE KERSTBOOM
Media en creativiteit Winter jaar vier Werkcollege 7 Kwartaaloverzicht winter Les 1 Les 2 Les 3 Les 4 Les 5 Les 6 Les 7 Les 8 Opbouw scriptie Keuze onderwerp Onderzoeksvraag en deelvragen Bespreken onderzoeksvragen
HANDBOEK HARTFALEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM READ ONLINE AND DOWNLOAD EBOOK : HANDBOEK HARTFALEN (DUTCH EDITION) FROM BOHN Click button to download this ebook READ ONLINE AND DOWNLOAD
Opgaven in Nederlands. Alle opgaven hebben gelijk gewicht. Opgave 1 Gegeven is een kasstroom x = (x 0, x 1,, x n ). Veronderstel dat de contante waarde van deze kasstroom gegeven wordt door P. De bijbehorende
DOELSTELLING : Ensuring sufficient funding for projects in cost-generating departments of 16.04.2014 16.04.2014 13:53 1. Inleiding Deze inleiding is vrij te bepalen bij de aanmaak van het rapport. 16.04.2014
Bijlage 2: Informatie met betrekking tot goede praktijkvoorbeelden in Londen, het Verenigd Koninkrijk en Queensland 1. Londen In Londen kunnen gebruikers van een scootmobiel contact opnemen met een dienst
Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version
Integratie van Due Diligence in bestaande risicomanagementsystemen volgens NPR 9036 NCP contactdag, 19 april 2016 Thamar Zijlstra, Dick Hortensius NEN Milieu en Maatschappij Agenda Achtergrond NPR 9036
De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen
Vragenlijst in te vullen en op te sturen voor de meeloopochtend, KABK afdeling fotografie Questionnaire to be filled in and send in before the introduction morning, KABK department of Photography Stuur
Comics FILE 4 COMICS BK 2 The funny characters in comic books or animation films can put smiles on people s faces all over the world. Wouldn t it be great to create your own funny character that will give
Tentamen Objectgeorienteerd Programmeren 5082IMOP6Y maandag 16 november 2015 13:00 15:00 Schrijf je naam en studentnummer op de regel hieronder. Sla deze pagina niet om tot de surveillant vertelt dat het
A2 Workshops Woordkennis 1 A2 Workshops Woordkennis 1 A2 Woordkennis 1 Bestuderen Hoe leer je 2000 woorden? Als je een nieuwe taal wilt spreken en schrijven, heb je vooral veel nieuwe woorden nodig. Je
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 7 februari 2011 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel
Digital municipal services for entrepreneurs Smart Cities Meeting Amsterdam October 20th 2009 Business Contact Centres Project frame Mystery Shopper Research 2006: Assessment services and information for
Interaction Design for the Semantic Web Lynda Hardman http://www.cwi.nl/~lynda/courses/usi08/ CWI, Semantic Media Interfaces Presentation of Google results: text 2 1 Presentation of Google results: image
Examenreglement Opleidingen/ Examination Regulations Wilde Wijze Vrouw, Klara Adalena August 2015 For English translation of our Examination rules, please scroll down. Please note that the Dutch version
Over dit boek Dit is een digitale kopie van een boek dat al generaties lang op bibliotheekplanken heeft gestaan, maar nu zorgvuldig is gescand door Google. Dat doen we omdat we alle boeken ter wereld online
This is a digital copy of a book that was preserved for generations on library shelves before it was carefully scanned by Google as part of a project to make the world s books discoverable online. It has
Ontpopping Veel deelnemende bezoekers zijn dit jaar nog maar één keer in het Van Abbemuseum geweest. De vragenlijst van deze mensen hangt Orgacom in een honingraatpatroon. Bezoekers die vaker komen worden
Lesbrief Les 2.1: My family Main language Dit is de basiswoordenschat. Deze woorden moeten de leerlingen zowel passief als actief kennen. Nouns: brother, sister, cousin, mother, father, aunt, uncle, grandmother,
Taco Schallenberg Acorel Inhoudsopgave Introductie Kies een Platform Get to Know the Jargon Strategie Bedrijfsproces Concurrenten User Experience Marketing Over Acorel Introductie THE JARGON THE JARGON
QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 6 januari 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel
TELETASK Handbook Multiple DoIP Central units DALISOFT 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool Connect the TDS20620V2 If there is a TDS13620 connected to the DALI-bus, remove it first.
liniled Cast Joint liniled Gietmof liniled is een hoogwaardige, flexibele LED strip. Deze flexibiliteit zorgt voor een zeer brede toepasbaarheid. liniled kan zowel binnen als buiten in functionele en decoratieve
(for Dutch go to page 4) How to install and use dictionaries on the ICARUS Illumina HD (E652BK) The Illumina HD offers dictionary support for StarDict dictionaries.this is a (free) open source dictionary
Quality requirements concerning the packaging of oak lumber of (09.09.14) Content: 1. Requirements on sticks 2. Requirements on placing sticks 3. Requirements on construction pallets 4. Stick length and
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 22 februari 2013 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel
Appendix I Experimental design I. Experimental procedures The experiment consisted of 25 independent decision rounds. In each round, a subject was asked to allocate tokens between two accounts, labeled
Stichting NIOC Stichting NIOC en de NIOC kennisbank Stichting NIOC (www.nioc.nl) stelt zich conform zijn statuten tot doel: het realiseren van congressen over informatica onderwijs en voorts al hetgeen
CHROMA STANDAARDREEKS Chroma-onderzoeken Een chroma geeft een beeld over de kwaliteit van bijvoorbeeld een bodem of compost. Een chroma bestaat uit 4 zones. Uit elke zone is een bepaald kwaliteitsaspect
Intermax backup exclusion files Document type: Referentienummer: Versienummer : Documentatie 1.0 Datum publicatie: Datum laatste wijziging: Auteur: 24-2-2011 24-2-2011 Anton van der Linden Onderwerp: Documentclassificatie:
MCA Gemini Groep & Healthy Data Vault on budget Introduction BI Team Koen Schutten, BI Specialist Jos Kee, BI Specialist + 4 other team members + Barbara Peruskovic, Consulting DW Architect A story about
Expert at a distance Creating a marketplace where expertise is made available through videoconferencing Roland Staring Community Support Manager email@example.com Working together for education
The role of mobility in higher education for future employability Jim Allen Overview Results of REFLEX/HEGESCO surveys, supplemented by Dutch HBO-Monitor Study migration Mobility during and after HE Effects
QUICK GUIDE B Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 11 Version 0.14 (July 2015) Per May 2014 OB10 has
Handleiding beheer lijst.hva.nl See page 11 for Instruction in English Maillijsten voor medewerkers van de Hogeschool van Amsterdam Iedereen met een HvA-ID kan maillijsten aanmaken bij lijst.hva.nl. Het
Process Mining and audit support within financial services KPMG IT Advisory 18 June 2014 Agenda INTRODUCTION APPROACH 3 CASE STUDIES LEASONS LEARNED 1 APPROACH Process Mining Approach Five step program
Buy Me! FILE 5 BUY ME KGT 2 Every day we see them during the commercial break: the best products in the world. Whether they are a pair of sneakers, new mascara or the latest smartphone, they all seem to
Cameramanager LSU Installation Guide Network based video surveillance server Version 1.1 / August 2009 Copyright 2010 - Cameramanager.com Page 1 LSU installation guide index 1. Connecting the LSU to your
1 Test yourself read a Lees de vragen van de test. Waar gaat deze test over? Flash info 1 In the morning I always make my bed. A Yes. B No. C Sometimes, when I feel like it. 2 When I see an old lady with
WHAT IS LITTLE GEM? Quick scan method to evaluate your applied (educational) game (light validation) 1. Standardized questionnaires Validated scales from comprehensive GEM (Game based learning Evaluation
Ervaringen met begeleiding FTA cursus Deployment of Free Software Systems Frans Mofers Nederland cursusmateriaal & CAA's alle cursusmateriaal vrij downloadbaar als PDF betalen voor volgen cursus cursussite
WEBDESIGN Eigen Site Evaluatie door: Y.S. Lubbers en W. Witvoet 1 Summary Summary Prefix 1. Content en structuur gescheiden houden 2. Grammaticaal correcte en beschrijvende markup 3. Kopregels 4. Client-
256 kb Memory in NMS 8250, 8255 and 8280 Supplied by Bastiaan Huber, 2001 Converted to PDF by HansO, 2001 Dutch text follows the english text! MEMORY-UPGRADE to 256Kb This description is only for people
Bestuderen Future Simple Normaal Hoe maak je de Future Simple? We beginnen met een rijtje voorbeelden. I will stay You will stay He will stay She will stay He will stay It will stay We will stay You will
Competencies atlas Self service instrument to support jobsearch Naam auteur 19-9-2008 Definitie competency The aggregate of knowledge, skills, qualities and personal characteristics needed to successfully
1 25/2/2016 Biocide CLOSED CIRCUIT 2 Regulatory background and scope Biocidal products regulation (EU) nr. 528/2012 (BPR), art. 19 (4): A biocidal product shall not be authorised for making available on
Grammatica uitleg voor de toets van Hoofdstuk 1 Vraagzinnen: Je kunt in het Engels vraagzinnen maken door vaak het werkwoord vooraan de zin te zetten. Bijv. She is nice. Bijv. I am late. Bijv. They are
De Samenhang tussen Dagelijkse Stress en Depressieve Symptomen en de Mediërende Invloed van Controle en Zelfwaardering The Relationship between Daily Hassles and Depressive Symptoms and the Mediating Influence
Leeftijdcheck (NL) Age Check (EN) [Type text] NL: Verkoopt u producten die niet aan jonge bezoekers verkocht mogen worden of heeft uw webwinkel andere (wettige) toelatingscriteria? De Webshophelpers.nl
Virtual Enterprise Centralized Desktop Het gebruik van virtuele desktops en de licensering daarvan Bastiaan de Wilde, Solution Specialist Microsoft Nederland Aanleiding Steeds meer gebruik van Virtuele
TeleBank Contents Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation Introduction - TeleBank Automatic bank services Initiates a Dialog with
Wat is Interaction Design? Wat is interaction design? Designing interactive products to support the way people communicate and interact in their everyday and working lives. Preece, Sharp and Rogers (2015)
Don t you worry There s an eternity behind us And many days are yet to come, This world will turn around without us Yes all the work will still be done. Look at ever thing God has made See the birds above
Melding Loonbelasting en premies Aanmelding werkgever Registration for loonbelasting en premies Registration as an employer Over dit formulier About this form Waarom dit formulier? Dit formulier is bestemd
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 8 december 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als jeeen onderdeel
AN URBAN PLAYGROUND 2005 Het vraagstuk van de openbare ruimte in naoorlogse stadsuitbreidingen, in dit geval Van Eesteren s Amsterdam West, is speels benaderd door het opknippen van een traditioneel stadsplein
Titel, samenvatting en biografie Stephanie van Dijck De integrale aanpak maakt complexiteit hanteerbaar Samenvatting: Nieuwe projecten nemen toe in complexiteit: afhankelijkheden tussen software componenten,
Update Empowermentproject Kenia september 2013 Het Empowerment-project in Kenia van de Rotaryclub Rhenen-Veendaal begint aan de derde fase: een derde en laatste bezoek, met een Empowerment workshop voor
Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen tussen Leeftijdsgroepen Differences in the Use of Memory Strategies and Learning Styles between Age Groups Rik Hazeu Eerste begeleider:
Writing 1 WRITING 1 PART D BK 3 Isn t it incredible? After only two years of learning English you can write your own English WhatsApp messages, tweets and emails. You can also post some lines on an international
Handleiding Registratie Mijnschoolinfo en App Nederlandstalig pagina 1-7 Registration Procedure Mijnschoolinfo and App English version see page : 8-16 Beste ouder / verzorger, Welkom bij Mijnschoolinfo,
1 Intercultural Mediation through the Internet Hans Verrept Intercultural mediation and policy support unit 2 Structure of the presentation - What is intercultural mediation through the internet? - Why
Free Electives (15 ects) Information about the Master RE&H (and the free electives) can be found at the following page: http://www.bk.tudelft.nl/en/about-faculty/departments/real-estate-and-housing/education/masterreh/free-electives/
UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education MARK SCHEME for the May/June 2012 question paper for the guidance of teachers 0503 FIRST LANGUAGE
Op het potje Potty training Wat is zindelijkheid? Je kind is zindelijk als het: - niet meer in zijn broek plast. - overdag droog is. - zelf op het potje of het toilet gaat zitten wanneer het moet plassen.
Holiday child daycare Manual online enrollments 2015 (see below for translation website) Step 1: Registration Click the registration link (via intranet or www.vakantieopvangstekelbees.be Reserveren) Fill
Talentmanagement in tijden van crisis Drs. Bas Puts Page 1 Copyright Siemens 2009. All rights reserved Mission: Achieving the perfect fit Organisatie Finance Sales Customer Engineering Project management
LDA Topic Modeling Informa5ekunde als hulpwetenschap 9 maart 2015 LDA Voor de pauze: Wat is LDA? Wat kan je er mee? Hoe werkt het (Gibbs sampling)? Na de pauze Achterliggende concepten à Dirichlet distribu5e
Handleiding/Manual Hoe te verbinden met (NDIRO): Apple OS X How to connect to (NDIRO): Apple OS X Inhoudsopgave / Table of Contents 1 Verbinden met het gebruik van Apple OS X (Nederlands)... 3 2 Connect
ESOMAR PAPER: Four simple strategies: 25% more ROI for newspaper advertisement Learnings from 2011 case for: Erdee Media Group Cebuco, Amsterdam BY Martin Leeflang (Validators) Esomar Paper Augustus 2011