Course Information
COMP3230 Principles of Operating Systems

COMP3230 Principles of Operating Systems

2017-18
Instructor(s):Tam Anthony
(Class A) No. of credit(s):6
Wang C L
(Class B)
Recommended Learning Hours:
Lecture: 30.0
Tutorial: 6.0
Pre-requisite(s):COMP2123 or CSIS1122 or CSIS1123; and COMP2120 or CSIS1120 or ELEC1401 or ELEC2441
Co-requisite(s):  
Mutually exclusive with:  
Remarks:

Course Learning Outcomes

1. [Fundamentals]
Be able to discuss the characteristics of different structures of the Operating Systems (such as microkernel, layered, virtualization, etc.) and identify the core functions of the Operating Systems.
2. [Principles]
Be able to explain the principles and compare the algorithms on which the core functions of the Operating Systems are built on.
3. [Performance]
Be able to analyze and evaluate the algorithms of the core functions of the Operating Systems and explain the major performance issues with regard to the core functions.
4. [Practicability]
Be able to demonstrate knowledge in applying system software and tools available in modern operating system (such as threads, system calls, semaphores, etc.) for software development.
Mapping from Course Learning Outcomes to Programme Learning Outcomes
 PLO aPLO bPLO cPLO dPLO ePLO fPLO gPLO hPLO iPLO j
CLO 1T,P
CLO 2T,PT
CLO 3T,PT,P
CLO 4T,P

T - Teach, P - Practice
For BEng(CompSc) Programme Learning Outcomes, please refer to here.

Syllabus

Calendar Entry:
Operating system structures, process and thread, CPU scheduling, process synchronization, deadlocks, memory management, file systems, I/O systems and device driver, mass-storage structure and disk scheduling, case studies.

Detailed Description:

Operating System Concepts Mapped to CLOs
Operating system concepts, classes of operating systems, operating system structures, kernel services, system calls, system boot.1
Process and Thread Management Mapped to CLOs
Process concept, process states and state transitions, process control block, operations on processes, context switching, interrupt processing, thread concept, thread model, programming with threads, case studies2, 4
CPU scheduling, scheduling criteria, scheduling algorithms, performance issues2, 4
Interprocess communication, Unix signals, race condition, critical sections, mutual exclusion, semaphores, monitors, deadlock, strategies for handling deadlock.2, 4
Memory Management Mapped to CLOs
Memory management concept, dynamic storage allocation, virtual memory, paging and segmentation, working sets, demand paging and thrashing, page replacement strategies, case studies2, 3
File-system and I/O management Mapped to CLOs
File concept, file operations, file organization, directory structures, file-system structures, space allocation and management, file access control mechanisms, I/O organization, disk architecture, disk scheduling, case studie2, 3

Assessment:
Continuous Assessment: 50%
Written Examination: 50%

Teaching Plan

Please refer to the corresponding Moodle course.

Moodle Course(s)

COMP3230A
COMP3230B