Summer 2019 - CMPT 300 D100

Operating Systems I (3)

Class Number: 4794

Delivery Method: In Person


  • Course Times + Location:

    Tu 2:30 PM – 4:20 PM
    SSCB 9200, Burnaby

    Th 2:30 PM – 3:20 PM
    AQ 3181, Burnaby

  • Exam Times + Location:

    Aug 6, 2019
    8:30 AM – 11:30 AM
    SSCB 9200, Burnaby

  • Prerequisites:

    CMPT 225 and (MACM 101 or (ENSC 251 and ENSC 252)).



This course aims to give the student an understanding of what a modern operating system is, and the services it provides. It also discusses some basic issues in operating systems and provides solutions. Topics include multiprogramming, process management, memory management, and file systems.


Are you interested in understanding the architecture of cutting-edge operating systems that you could be programming in the future and what challenges confront this critical (but often hidden) software? This course explores the field of computer operating systems, emphasizing basic operating systems (OS) concepts and design principles. While stressing the fundamental principles behind them, we will discuss the performance and engineering trade-offs in the design and implementation of operating system mechanisms. The idea is to learn not only what operating systems are and how they work today, but also why they are designed the way they are and how they are likely to evolve in the future. This course will cover fundamental OS material such as scheduling and synchronization, multiprogramming, memory management, file system, protection, and security. Additionally, we will touch on a few advanced topics including micro-kernel OSes, virtual machine.


  • History, Evolution, and Philosophies
  • The User's View of Operating System Services
  • Tasking and Processes
  • Interprocess Communication, Concurrency Control and Resource Allocation
  • Scheduling and Dispatch
  • Physical and Virtual Memory Organization
  • File Systems
  • Protection



Grading scheme consists of 80% assignments and 20% midterm + final. Students must attain an overall passing grade on the weighted average of the programming assignments in order to obtain a clear pass. In all written work, clarity of thought and quality of presentation will be paramount to the evaluation criteria.



Reference Books

  • Professional Linux Kernel Architecture, Wolfgang Mauerer, Wiley, 2008, 9780470343432
  • Understanding the Linux Kernel, 3rd Edition, Daniel P. Bovet, Marco Cesati , Shroff Publishers & Distributors Pvt Ltd, 2005, 9780596005658
  • Linux Kernel Development, 3rd ed, Robert Love, Addison-Wesley Professional, 2010, 9780672329463
  • Advanced Programming in the UNIX Environment, 3rd ed, W. Richard Stevens, Stephen A. Rago, Addison-Wesley Professional, 2010, 9780321637734


  • Modern Operating Systems, 4th Edition
  • Andrew S. Tanenbaum
  • Prentice Hall
  • 2014
  • You can USE EITHER OF the two required textbooks. The required reading for each lecture is listed for both texts.

ISBN: 9780133591620

  • Operating System Concepts, 9th Edition
  • Silberschatz, Galvin, Gagne
  • Wiley
  • 2012
  • You can USE EITHER OF the two required textbooks. The required reading for each lecture is listed for both texts.

ISBN: 9781118063330

Registrar Notes:

SFU’s Academic Integrity web site is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University.