Management and Information Technology


CMPT 31222

Operating Systems & Computer Organization

Status : Core Pre-requisite : CMPT 11012 Co-requisite : None

On completion of this course, the student should be able to:

  • Demonstrate an understanding of the architecture of computer systems.
  • Describe functionality and working of the major building blocks of computer systems.
  • Analyze and evaluate the impact of architectural design choices on performance of computer systems.
  • Illustrate the key aspects of operating systems.
  • Identify the major components of operating systems.
  • Demonstrate a sound understanding of the concepts, models and approaches involved in design of operating systems.

Introduction to digital logic, combinational and sequential circuits, data and program representations, number systems, fetch-execute cycle, processor architectures and instruction sets, addressing modes, memory and storage, physical and virtual addressing, caching, bus architectures, interrupt handling, input/output devices, parallelism and performance analysis, roles of operating system – as a virtual machine and a resource manager, multi-programmed and time sharing systems, processes models, processor scheduling, concurrency control, mutual execution, deadlocks and starvation, memory management, file systems, protection mechanisms.

Lectures, self-study assignments and group work.
End-of- semester examination and continuous assessment.

  1. Douglas, E C (2007), Essentials of Computer Architecture, Pearson.
  2. William, S (2009), Computer Organization and Architecture: Designing for Performance, 8th Edition, Prentice Hall.
  3. William, S (2011), Operating Systems: Internals and Design Principles, 7th Edition, Prentice Hall.