Operating Systems
Subject Code: ECP2066
Aim of Subject: To provide basic understanding of operating system and related design issues.
Learning Outcome of Subject: At the completion of the subject, students should be able to:
  • Describe the different components within the architecture of generic operating systems.
  • Understand the purpose and functions of operating systems in computer systems and equipment.
  • Apply ideas of concurrency, scheduling, memory and I/O management, file systems and disk scheduling and to design a basic operating system.
  • Describe and select appropriate operating systems based on the strengths and weaknesses of various operating systems.
Programme Outcomes:
  • Ability to acquire and apply fundamental principles of science and engineering. (15%)
  • Capability to communicate effectively. (10%)
  • Acquisition of technical competence in specialized areas of engineering discipline. (20%)
  • Ability to identify, formulate and model problems and find engineering solutions based on a systems approach. (10%)
  • Ability to conduct investigation and research on engineering problems in a chosen field of study. (10%)
  • Understanding of the importance of sustainability and cost-effectiveness in design and development of engineering solutions. (10%)
  • Understanding and commitment to professional and ethical responsibilities. (5%)
  • Ability to work effectively as an individual, and as a member/leader in a team. (10%)
  • Awareness of the social, cultural, global and environmental responsibilities as an engineer. (5%)
  • Capability and enthusiasm for self-improvement through continuous professional development and life-long learning. (5%)
Assessment Scheme:
  • Tutorial / Assignment - group assignment, to enhance understanding of basic concepts in lecture. (30%)
  • Test Quiz - written exam(10%)
  • Final Exam - written exam(60%)
Teaching and Learning Activities: 53 hours (lectures and tutorials)
Credit Hours: 3
Pre-Requisite: None
  • Silberschatz, Abraham et al., “Operating System Concepts”, 8th Edition, Addison Wesley, 2009. (Textbook)
  • William Stallings, “Operating Systems: Internals and Design Principles”, 6th Edition, Prentice Hall, 2009.
  • Deitel, Harvey M. , "An introduction to Operating Systems", 4th ed., Addison Wesley, 1984.
  • Tannenbaum, A.S., "Modern Operating Systems", Prentice Hall, 1992.
  • Milenkovic, Milan, "Operating Systems : Concepts and Design", 2nd ed., McGraw Hill,1992.

Subject Contents

  • Operating System Overview

  • Objectives and Functions. The evolution of operating systems. Example systems. Process states, description and control. Processes and threads.
  • Concurrency

  • Principles. Mutual exclusion - software and hardware approaches. Semaphores, monitors, message passing. Principles of deadlock, prevention, detection, avoidance.
  • Memory Management

  • Principles. Requirements and design of memory management system. Program loading and linking. Virtual Memory: locality, page table, translation look aside buffer, segmentation, software implementation, load control.
  • Scheduling

  • Types of scheduling. Queuing in scheduling. Scheduling algorithms. Priority control. Introduction to multiprocessor and real-time scheduling.
  • I/O Management and Disk Scheduling

  • Organization of the I/O function. Direct memory access. Design issues. I/O buffering. Disk I/O. Disk cache. Example systems.
  • File Management

  • Overview. File management systems. File organization and access, file directories. Sharing of files. Record blocking. Secondary storage management. Example systems.