Overview
The course surveys a few fundamental aspects of Operating Systems, taking the example of Windows, MacOS, and Linux.The course covers topics such as system calls, processes and how their memory is organized, communication between processes using, e.g. using networking features, and filesystems.
The course first presents main features of Operating Systems (Windows, GNU/Linux), before switching to advanced concepts of the C language. Then, the course gives an introduction to processes, to the memory management and to the communication between processes. Finally, a focus is given to the handling of file systems
Labs and projects
There is one lab per session to experiment with C and the main features of OS. Typical hands-on sessions deal with processes and processes communication. Labs are not graded but attendance is mandatory.The project consists in developping a custom file repository.