Students must know:
- Basics on operating system concepts, structures and algorithms: mechanisms for entering the system, process management, input/output management and memory management
- User level understanding of the Linux system calls
- Low level programming: C language and i386 assembler
- High level programming: algorithms and data structures
- Basic tools to develop C programs in Linux: Makefile, C compiler and debuggers
Accordingly, students taking this course must previously have passed SO, EC2 and PRED.