Introduction to operating systems
Summary
Introduction to basic concepts of operating systems.
Content
The purpose of this course is to discuss the design of operating systems, it's concepts with a hand-on approach. Topics we will cover include operating system organization, system programming, networked and distributed systems, and storage systems. Most of the time will be spent on multi-process systems (processes, interprocess communication, and synchronization), memory organization(paging), resource allocation and scheduling, file systems, and I/O. To benefit from the course, low-level programming skills (e.g., C or ASM programming) and preliminary knowledge on computer system and architecture. You will be asked to design and implement core components of an operating system through labs, and assignments.
Keywords
Operating systems
Learning Prerequisites
Required courses
- CS-206 Parallelisme and concurrency
- CS-207 Programmation orientée système
- CS-212 Projet programmation système
Learning Outcomes
By the end of the course, the student must be able to:
- Manage key components of operating systems
- Interpret virtualization of resources
- Choose the right set of design choices for system software
- Critique the design of an OS
Transversal skills
- Communicate effectively with professionals from other disciplines.
Teaching methods
Lectures, labs, and exercises.
Expected student activities
- Attend lectures
- Participate in exercise hours
- Attend labs
- Submit solutions to labs
- Take final exam
Assessment methods
- Preparation question before the beginning of the class (10% of the grade)
- Practical assessments through several programming labs during the semester (50% of the grade)
- Theoretical assessments in the form of a final exam in the exam session (40% of the grade).
Supervision
Office hours | Yes |
Assistants | Yes |
Forum | Yes |
Resources
Bibliography
Slides available on Moodle.
-
Official Text: xv6: a simple, Unix-like teaching operating system
-
(optional) Linux Kernel Development
-
(optional) Operating Systems: Principles and Practice, Thomas Anderson and Michael Dahlin
-
(optional) Operating Systems: Three Easy Pieces, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau
Ressources en bibliothèque
- Operating Systems : Three Easy Pieces / Arpaci-Dusseau
- Official Text: xv6 / Cox
- Linux Kernel Development / Love
- Operating Systems: Principles and Practice / Anderson
Références suggérées par la bibliothèque
Websites
In the programs
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Introduction to operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Practical work: 2 Hour(s) per week x 14 weeks
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Introduction to operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Practical work: 2 Hour(s) per week x 14 weeks
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Introduction to operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Practical work: 2 Hour(s) per week x 14 weeks
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Introduction to operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Practical work: 2 Hour(s) per week x 14 weeks
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Introduction to operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Practical work: 2 Hour(s) per week x 14 weeks