Project for CS students:
- Understand the major mechanisms of current general-purpose operating systems exemplified by Linux.
- Appreciate the design space and trade-offs involved in implementing an operating system.
- Be capable of basic system-oriented programming and providing simple extensions to an operating system.
- Understand the exploitation of vulnerabilities and privilege escalation
- Integrate the knowledge and skills that are taught in the CAO and OS parts.
The module Computer Systems is part of the second year of both the EE- and CS- bachelor program. It addresses the basics of computer systems (organization and architecture) and offers a specialization into digital hardware design for EE bachelors and operating systems for CS bachelors. In the project for CS students, which is mainly dealt with in the last two weeks of the module, CS-students cooperate to design and realize a system integrating all subjects of the first 8 weeks. Within the CS curriculum, the following topics are included as Cross Cutting Concerns: academic skills, system development, concurrency and security. All these topics are covered within the module Computer Systems as well. Besides that, 1 EC is reserved for the subject “ICT and Law".
Operating Systems (OS)
An operating system is a resource manager; it basically ensures that all users get their fair share of the resources. The focus is on generic operating system concepts with illustrative examples from Linux wherever appropriate. Topics covered include the structure of the operating system, processes and threads, concurrency, deadlock and starvation, memory management, I/O management and file systems, access control, threats, protection and security. Students will be using mainly C and some Java.
In the Module CS project, students learn various techniques from different disciplines that are needed to design, implement and test a (prototype of) a combined hardware-software system. To be able to design, implement and test a combined hardware-software system, knowledge and skills concerning Computer Architecture and Organization (CAO), Operating Systems (OS), and basic mathematics are necessary.
Assumed previous knowledge
|(additional) requirement(s) for minor students: Maths A level or equivalent and basic programming skills|
|Bachelor Technical Computer Science||Required materials|
|All: Computer Architecture and Organization; An Integrated Approach; Miles J. Murdocca and Vincent P. Heuring;
|EE: Calculus, a complete course, Robert A Adams, 8th Edition, ISBN: 9780321781079|
|TCS: Discrete and Combinatorial Mathematics and its Applications” (5e druk) van Ralph P. Grimaldi ISBN 0-321-21103-0 (paperback), 0-201-72634-3 (hardcover).|
- Breadboard (small),
- Breadboard Jumper kit (pins on one side, sockets on the other side),
- Led 5mm,
- LDR (light dependent resistor),
- Resistor 330 ohms through hole,
- Resistor 1Kohms,
- Capacitor 10uF|
- Raspberry Pi model 3 or 4 (4 is recommended)
- Pi Housing
- Power supply with USB type C cable
- Ethernet cable and network card
- MicroSD card (>= 8GB) and SD card reader|Recommended materials
|TCS: Operating Systems, Internals and Design Principles Edition 8 or 9, William Stallings, ISBN 978-0-13-380591-8|
RemarkLive & pre-recorded
|Self study with assistance|
|Self study without assistance|
RemarkOnline & Hybrid (in the University and online)