Advanced operating systems
Summary
This course teaches advanced OS system design. Using an extensive hands-on approach, the course focuses on traditional and new concepts proposed in the past two decades in the area of operating systems.
Content
- Concurrent execution
 - Memory management using things like virtual memory and memory allocations
 - Scalability, such as lock-free data structures
 - File systems
 - Operating system architecture
 - Virtualization
 - Security such as data security, integrity, and authentification
 
Learning Prerequisites
Required courses
CS-200 Computer architecture
CS-202 Computer systems (or COM-208 Computer networks / CS-323 Introduction to operating systems)
CS-214 Software construction (or CS-210 Functional programming)
CS-300 Data-Intensive Systems (or CS-322 Introduction to database systems)
Important concepts to start the course
This course is a hands-on course that required solid background in operating systems, databases, programming language, and computer architecture.
Learning Outcomes
By the end of the course, the student must be able to:
- Identify and manage key components of operating systems
 - Choose or critique design choices for OS
 - Create and design an OS with practical choices
 - Report performance and possible optimizations for applications
 
Teaching methods
- In-class lectures
 - Homework assignments
 - Weekly preparatory exercises
 - Programming exercise
 
Expected student activities
- Attend lectures and tutorial sessions
 - Complete the homework assignments
 - Participate actively in the course
 - Complete programming exercises
 
Assessment methods
- Preparatory exercise 10%
 - Labs 40%
 - Final exam 50%
 
Supervision
| Office hours | Yes | 
| Assistants | Yes | 
Dans les plans d'études
- Semestre: Automne
 - Forme de l'examen: Ecrit (session d'hiver)
 - Matière examinée: Advanced operating systems
 - Cours: 2 Heure(s) hebdo x 14 semaines
 - Exercices: 1 Heure(s) hebdo x 14 semaines
 - Labo: 2 Heure(s) hebdo x 14 semaines
 - Type: optionnel
 
- Semestre: Automne
 - Forme de l'examen: Ecrit (session d'hiver)
 - Matière examinée: Advanced operating systems
 - Cours: 2 Heure(s) hebdo x 14 semaines
 - Exercices: 1 Heure(s) hebdo x 14 semaines
 - Labo: 2 Heure(s) hebdo x 14 semaines
 - Type: optionnel
 
- Semestre: Automne
 - Forme de l'examen: Ecrit (session d'hiver)
 - Matière examinée: Advanced operating systems
 - Cours: 2 Heure(s) hebdo x 14 semaines
 - Exercices: 1 Heure(s) hebdo x 14 semaines
 - Labo: 2 Heure(s) hebdo x 14 semaines
 - Type: optionnel
 
- Semestre: Automne
 - Forme de l'examen: Ecrit (session d'hiver)
 - Matière examinée: Advanced operating systems
 - Cours: 2 Heure(s) hebdo x 14 semaines
 - Exercices: 1 Heure(s) hebdo x 14 semaines
 - Labo: 2 Heure(s) hebdo x 14 semaines
 - Type: optionnel
 
- Semestre: Automne
 - Forme de l'examen: Ecrit (session d'hiver)
 - Matière examinée: Advanced operating systems
 - Cours: 2 Heure(s) hebdo x 14 semaines
 - Exercices: 1 Heure(s) hebdo x 14 semaines
 - Labo: 2 Heure(s) hebdo x 14 semaines
 - Type: optionnel
 
- Semestre: Automne
 - Forme de l'examen: Ecrit (session d'hiver)
 - Matière examinée: Advanced operating systems
 - Cours: 2 Heure(s) hebdo x 14 semaines
 - Exercices: 1 Heure(s) hebdo x 14 semaines
 - Labo: 2 Heure(s) hebdo x 14 semaines
 - Type: optionnel
 
- Semestre: Automne
 - Forme de l'examen: Ecrit (session d'hiver)
 - Matière examinée: Advanced operating systems
 - Cours: 2 Heure(s) hebdo x 14 semaines
 - Exercices: 1 Heure(s) hebdo x 14 semaines
 - Labo: 2 Heure(s) hebdo x 14 semaines
 - Type: optionnel
 
- Semestre: Automne
 - Forme de l'examen: Ecrit (session d'hiver)
 - Matière examinée: Advanced operating systems
 - Cours: 2 Heure(s) hebdo x 14 semaines
 - Exercices: 1 Heure(s) hebdo x 14 semaines
 - Labo: 2 Heure(s) hebdo x 14 semaines
 - Type: optionnel