CS3161 Operating System Principles

Part I

Course Duration: One semester

Credit Units: 3

Level: B3

Medium of Instruction: English

Pre-requisites:
[CS2360 Java Programming /or
CS2362 Computer Programming for Engineers and Scientists /or
CS2363 Computer Programming]

And

[EE2202 (IT2201 old code) Microprocessor & Assembly Language Programming /or equivalent]

Pre-cursors: Nil

Equivalent Courses: Nil

Exclusive Courses:

CS3262 Systems Software and Networks

Part II

1.     Course Aims:

The course introduces the design and architecture of operating systems.  The design of various components in an operating system will be discussed as well as the various algorithms and data structures used in the design of operating systems.

2.      Course Intended Learning Outcomes (CILOs):

(state what the student is expected to be able to do at the end of the course according to a given standard of performance)

Upon successful completion of this course, students should be able to:
 
No.CILOsWeighting (if applicable)
1.Distinguish the fundamental components of operating system including: process management, memory management, file management, I/O-system management, secondary-storage management, networking, protection system and user-interface system; 
2.Identify various architecture of operating systems and understand the design elements in an operating system; 
3.Study case examples of operating systems and system components; 
4.Implement a simple system program to access system services as user interface to system operations; 
5.Explore the resource control functions and algorithms of operating systems on processor, memory, file management, back storage management with case studies and examples. 

3.      Teaching and learning Activities (TLAs):
(designed to facilitate students' achievement of the CILOs)

Teaching pattern:
Suggested lecture/tutorial/laboratory mix: 2 hrs. lecture; 1 hr. tutorial
 
ILO NoTLAsHours/week (if applicable)
CILO 1toCILO 5 This course will focus on introducing the design concepts, components and operations of operating systems to the students and at the same time to encourage the students to study a particular operating system design independently.

Based on the Course ILOs, the teaching/learning activities of this course may include:

Teaching – The teacher will provide the basic knowledge on the operating system components, design concepts, various architectures with examples to illustrate the use of concepts in case studies. This activity helps support Course ILO #1, #2 and #5.

Tutorial – Tutorials sessions will be a form of interactions between teacher/student to get feedbacks and to ensure the learning progress through discussions, questions and exercises. This activity helps support Course ILO #1, #2 and #5.

Assignment/Quiz – The students are required to study some components of operating system beyond the class teaching subjects scope and to investigate more specific on some operating system case studies to gain better understanding on the design concepts. While some part of the assignment will ensure the students making progress on learning the operating system technology.  This activity helps support Course ILO #2, #3 and #4.
 
 

4.      Assessment Tasks/Activities:
(designed to assess how well the students achieve the CILOs)

The Course ILOs are assessed using the following approach:

ILO NoType of assessment tasks/activitiesWeighting(if applicable)Remarks
CILO 1Distinguish the fundamental components of operating system.
Coursework: Assignment may include questions to verify the students' understanding of the components of operating system.Exam/Quiz:       Final exam and quiz will include questions for student to demonstrate capacity to identify the components of operating system and the underlying technologies.
 
  
CILO 2Identify various architecture of operating systems and understand the design elements in an operating system.Coursework: Assignment may include questions to assess students' understanding on the design elements in an operating system, and functions adopted in various architectures.
Exam/Quiz: Final exam and quiz will include questions to assess student understanding on the design elements affecting various architectures in operating systems.
 
  
CILO 3Study case example on an operating system and system components.
Coursework: Assignment may include independent study on an operating system, and the course work report will be evaluated on the student understanding on the system components.
 
  
CILO 4Implement a simple system program to access system services as user interface to system operations.
Coursework: The assignment will also include some simple system programming on the use of system calls as user interface to operating system.
 
  
CILO 5Understand the resource control functions and algorithms of operating systems on processor, memory, file management, back storage management with case studies and examples.
Coursework: Assignment may include questions on the resource allocation in case examples and scenarios. This would require students to demonstrate the understanding on how the resource allocation algorithms are being implemented on real operating systems.
Exam/Quiz: Final exam and quiz will include questions assessing students’ understanding on the resources management on processor, memory, back storage devices and various case scenarios.
 
  

5.     
Grading of Student Achievement:
Refer to Grading of Courses in the Academic Regulations (Attachment) and to the Explanatory Notes.

Examination duration: 2 hours
Percentage of coursework, examination, etc.: 30% CW; 70% Exam
Grading pattern: Standard (A+AA-…F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.

Part III

Keyword Syllabus:
 

Operating System Evolution; Operating System Functions and Architectures; Process Management and Interrupt Handling; I/O System; File System and Directory Organization; Memory Management Algorithms; CPU Scheduling; Deadlock; Protection and Security; Embedded Operating System; Concurrent Programming; Case Study.

Related Links
Department of Computer Science