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 |
In the programs
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Advanced operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Labs: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Advanced operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Labs: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Advanced operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Labs: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Advanced operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Labs: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Advanced operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Labs: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Advanced operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Labs: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Advanced operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Labs: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Fall
- Exam form: Written (winter session)
- Subject examined: Advanced operating systems
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Labs: 2 Hour(s) per week x 14 weeks
- Type: optional