Learning Outcomes

  • Demonstrate understanding of the concepts, structure and design of operating Systems
  • Demonstrate understanding of operating system design and its impact on application system design and performance
  • Demonstrate competence in recognizing and using operating system features.


  1. Operating systems concepts and overview: Historical perspective, types of operating systems, architecture of OSs. 
  2. Process Management: processes and threads, process creation, synchronization (mutual exclusion, Semaphores, Monitors) and communication; 
  3. Processor scheduling; Deadlock prevention, avoidance and recovery. 
  4. Memory management: Main Memory Management, Virtual Memory Management (swapping, paging, segmentation and page-replacement algorithms); 
  5. File system structure and implementation; 
  6. Input Output systems and device management; 
  7. Protection and security; 
  8. Hands on study of the system call/end user interface of an industry standard operating system e.g. Linux: programming with process, File and I/O system calls, shell commands and scripts.
Course Syllabus

1. Course Meeting Time:

  • Mo: 
    • 07am to 10am  -  Location: B3.502
    • 01pm to 04pm  - Location: A5.404A
  • Tu:
    • 07am to 10am  -  Location: A5.404B
  • Th: 
    • 01pm to 04pm  -  Location: B3.401 

2. Instructor:    Đoàn Duy Bình      doanduybinh@gmail.com

3. On-going Assessment:

  • Labs:                              10% (Linux)
  • Presentation :                10% 
  • Midterms:                      20% (Multiple-choise)
  • Final Exam:                     60%  (Multiple-choise or Paper)