College of Engineering SEMESTER & ACADEMIC YEAR COURSE CODE & TITLE
CPP108 – Principles of Operating System
PRE-REQUSITE / CO-REQUISITE
CPP104 – Data Structures and Algorithm
COURSE OBJECTIVES
On the completion of the course, student is expected to be able to do the following:
1. Describe and explain the fundamental components of a computer operating system.
2. Define, restate, discuss, and explain the policies for scheduling, deadlocks, memory management, synchronization, system calls, and file systems. 3. Measure, evaluate, and compare OS components through instrumentation for performance analysis.
COURSE CONTENTS
MODULE 1 1.0.0 Introduction to OS Concepts
1.1.0 CSO – Computer System Organization 1.1.1 Interrupt 1.1.2 Storage Structure 1.1.3 Storage Definition and Notion MODULE 2 1.2. CSA - Computer System Architecture 1.2.1 Single Processor System 1.2.2 Multi-Processor System 1.2.3 Clustered System MODULE 3 1.3. OS Operation, Free and Open Source 1.3.1 Multi-programming and multi-tasking 1.3.2 Dual-mode and multimode operation 1.3.3 Timer 1.3.4 Free and open-source MODULE 4 1.3.5 Free operating system 1.3.6 GNU Linux 1.3.7 BSD UNIX 1.3.8 Solaris 1.3.9 Open Source as Learning Tool MODULE 5 2.0. OS Structure 2.1.0 System Services, User interface and System Calls 2.2.1 Applications w/c is platform dependent 2.3.2 Design and Implementation MODULE 6 3.0 Thread and Concurrency 3.1.0 Overview 3.2.1 Multicore programming and Multithreading Model 3.3.2 Implicit Threading and Issues MODULE 7 4.0 CPU SCHEDULING 4.1.0 Basic Concepts 4.2.1 Criteria, algorithm, thread, multi-thread and real time scheduling 4.3.2 Algorithm evaluation PamantasanngCabuyao College of Engineering SEMESTER & ACADEMIC YEAR MODULE 8 5.0 DEADLOCKS 5.1.0 System model and Characterization 5.2.1 Methods of handling deadlocks 5.3.2 Prevention, avoidance and detection of deadlocks 6.0 MEMORY MANGEMENT 6.1.0 Overview 6.2.1 Continuous memory management 6.3.2 Paging , Swapping and structure of page table MODULE 9 7.0 VIRTUAL MEMORY 8.1.0 Background 8.2.1 Copy – on – write and Thrashing 8.3.2 Compression and Allocation MODULE 10 8.0 MASS STORAGE STRUCTURE 8.1.0 Overview of mass storage 8.2.1 HDD and NVM scheduling 8.3.2 Error Detection and Correction 8.4.3 Storage Device ,Swap Space Management and Raid Structure MODULE 11 9.0 FILE SYSTEM 9.1.0 Concept and Access Method 9.2.1 Partition and Mounting 9.3.2 File Sharing MODULE 12 10.0 SECURITY 10.1.0 Problems and program threats 10.2.1 System and network threats 10.3.2 Cryptography as security tool 10.4.3 User authentication MODULE 13 11.0 PROTECTION 11.1.0 Principles, goals, rings and domain 11.2.1 Implementation of access matrix 11.3.2 Revocation of access rights 11.4.3 Role based , Mandatory access and Language based control MODULE 14 12.0 INTERFACING TO OPERATING SYSTEM 12.1.0 Introduction to Bootstrap 12.2.1 Methods of Securing Bootstrap 12.3.2 Loaders and Programs 13.0 Real Time Systems 13.1.0 Overview 13.2.0 System Characteristics 13.3.0 Implementing Real Time Operating Systems MODULE 15 14.0 Multi-Media Systems 15.1.0 Overview 15.2. Compression and Requirements of Multi-Media Systems 15.3 CPU and Disk Scheduling