CS-477 / 6 credits

Teacher: Kashyap Sanidhya

Language: English


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

Resources

Moodle Link

In the programs

  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Advanced operating systems
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Advanced operating systems
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Advanced operating systems
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Advanced operating systems
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Advanced operating systems
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Advanced operating systems
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Advanced operating systems
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Advanced operating systems
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional

Reference week

Related courses

Results from graphsearch.epfl.ch.