Table of Contents

PGT200 - Operating Systems

This course is Operating Systems, offered by the Department of Electronics Engineering Technology.

Announcement

[20161007] Just updated :-P Some info are still from the previous offering…

Lecture Slides

These are from Tanenbaum's Book:

Lab Notes

Assignments

Lab Project

Course Synopsis

This course presents the fundamental concepts and design of operating systems. Students will be guided to explore basic operating system concepts like processes, memory management, scheduling, file systems and IO management. Basic design and implementation of some of these concepts will be covered during laboratory sessions.

Course Outcome

  1. Able to discuss basic operating systems concepts
  2. Able to implement basic operating systems concepts
  3. Able to evaluate implementations of basic operating systems concepts

Course Assessment

Examinations Course Work
Total Contribution 60% 40%
Assessment Mid-Term Examinations Final Examinations Assignments Lab Assessment Lab Project
Contribution 20% 40% 10% 20% 10%

Course Syllabus

Week Lecture Laboratory Notes
Week 01
  • Introduction to Operating Systems
    • fundamental concepts
    • implementations

Lab Work 1

Week 02
  • Processes & threads
    • processes - concept and implementation
    • threads - concept and implementation
    • execution and scheduling

Lab Work 1 (cont.)

Week 03
  • Processes & threads (cont.)
    • critical region, mutual exclusion
    • implementing critical region
    • solutions for mutual exclusion

Lab Work 2

Week 04
  • Memory Management
    • address space & memory abstraction
    • virtual memory (paging)

Lab Work 2 (cont.)

Week 05
  • Memory Management (cont.)
    • page replacement algorithm
    • segmentation (implementation and issues)

Lab Work 2 (cont.)

Assignment 1 Queue

Week 06
  • Bootstrapping
    • bootstrapping concepts
    • x86 PC boot sequence
    • x86 PC programming

Lab Work 3

Lab Assessment 1 (10%)

Week 07
  • Bootstrapping (cont.)
    • x86 PC programming (cont.)

Lab Work 3 (cont.)

Assignment 1 Due (5%)

Week 08
  • Bootstrapping (cont.)
    • x86 PC programming (cont.)

Lab Work 3 (cont.)

Mid-term Examination (20%)

Assignment 2 Queue

Week 09
  • Filesystem Management
    • files and directories
    • implementation

Lab Work 4

Week 10
  • Filesystem Management (cont.)
    • management and optimization

Lab Work 4 (cont.)

Assignment 2 Due (5%)

Week 11
  • I/O Management
  • devices and controllers
  • device drivers

Lab Project

Lab Assessment 2 (10%)

Week 12
  • I/O Management (cont.)
    • DMA, memory-mapped I/O
    • programmed and interrupt-driven I/O

Lab Project (cont.)

Week 13
  • Operating System Design
    • interface design
    • implementation
    • management trends

Lab Project (cont.)

Week 14
  • Modern Operating Systems
    • general overview of currently used OS
      • Unix, Linux, BSD, Windows, MacOSX

Lab Project (cont.)

Lab Project (10%)