CDF-CSC322 Operating Systems
CDF-CSC322 Operating Systems
CDF-CSC322 Operating Systems
Operating Systems
Course code:
CSC322 (2+1)
Prerequisites:
CSC211
Co requisites:
None
Textbooks:
1. Operating System Concepts, 8th Ed. by Siblerschatz and Galvin, Addison Wesley, Inc, 2012.
Reference Books:
1. Modern Operating Systems by Andrew S. Tanenbaum; 4th Ed, 2011, Prentice Hall, Inc.
2. Operating Systems by William Stallings.5th Ed. 2012. Prentice-Hall, Inc.
6. Present and analyze data with effective report writing skills. (A2-PLO10)
Course Schedule:
2 credit hours/week
One laboratory session/week (3 hours/session)
Topics Covered:
1. Module 1 (Introduction): Introduction to Operating Systems; Computer-System Organization;
Computer-System Architecture; Storage Management; Protection and Security; Distributed Systems;
Special-purpose Systems; Computing Environments. (2 Weeks)
2. Module 2 (Operating System Structure): Operating-Systems Structure; Virtual Machines; Operating-
Systems Generation; System Boot. (2 Weeks)
3. Module 3 (Process Management): Process Concept; Process Scheduling; Operations on Processes.
Examples of IPC Systems; Communication in Client-Server Systems. Concurrency/Multithreading
Models; Multithreading synchronization issues; Thread Libraries; Operating System Examples.
Threads Creation and Execution. (2 Weeks)
4. Module 4 (CPU Scheduling): CPU Scheduling Concept; Scheduling Criteria; Scheduling Algorithms.
Multiprocessor Scheduling; Thread scheduling; Operating Systems Examples; Algorithms Evaluation.
Distributed process communication. (2 Weeks)
5. Module 5 (Process Coordination): Process synchronization: The critical Section Problem;
Semaphores; Classical Synchronization Problems; Monitors; Deadlocks: Prevention; Avoidance;
Detection; Recovery (2 Weeks)
6. Module 6 (Memory Management): Swapping; Contiguous Memory Allocation; Paging;
Segmentation; Virtual-Memory Management (2 Weeks)
7. Module 7 (Storage Management):File Concept; Access Methods; Directory Structure; File-System;
File Sharing; Protection. File-System Structure; File-System Implementation; Directory
Implementation; Allocation Methods; Free-Space Management; Mass Storage Structures. (2 Weeks)
8. Module 8 (Protection and Security): System Protection; Protection Objectives; Protection Principles;
The Security Problem; Program Threats; System and Network Threats; Cryptography; Implementing
Security Defenses; Firewalling. (2 Weeks)
Assessment Plan:
Theory Quizzes (4) 15%
Homework assignments 10%
Mid-term exam (in class, 60-80 minutes) 25%
Terminal exam (3 hours) 50%
Total (theory) 100%
Lab work Lab reports (12) 25%
1 Lab Midterm 25%
Lab project and terminal exam 50%
Laboratory Experiences:
There is a Laboratory component in all 2+1 credit courses taught at the department. Lab work consists
of a minimum of 12 experiments and related assignments, which constitute 25% of the overall course-
grade. The laboratory experiments include implementation of ability to perform OS tasks in Ubuntu
Linux Enterprise and develop various system programs in the same environment. Use C/C++ language to
make use of OS concepts related to process synchronization, shared memory, deadlocks etc.
Laboratory Resources:
The relevant laboratory is equipped with workbenches and computers to facilitate the experiments
outlined in the lab handbook(s) that are periodically updated. A current list of the 12 lab experiments
performed in this course is provided as Annexure-II. The list of software and equipment available is also
posted in all labs and is managed by staff dedicated for this purpose.
Computer Resources:
For the purposes of this course, virtual machine based opensource software called Oracle VM VirtualBox
is used as cross-platform virtualization software is installed in the laboratory; Opensource CodeBlock
software is used to run and compile the C/C++ programs for implementation of OS based concepts.
PLOs
PLO10
PLO11
PL012
PLO 9
PLO1
PLO2
PLO3
PLO4
PLO5
PLO6
PLO7
PLO8
CLOs
CLO1 C1
CLO2 C2
CLO3 C3
CLO4 C4
CLO5 A3
CLO6 A2
Table 2: Mapping CLOs to PLOs
ANNEXURE-I
Tentative Lecture Breakdown (30 Lectures):
No. of
Topics
Lectures
Module 7 (Storage Management): File Concept; Access Methods; Directory Structure; File-
System; File Sharing; Protection. File-System Structure; File-System Implementation;
4
Directory Implementation; Allocation Methods; Free-Space Management; Mass Storage
Structures.
ANNEXURE-II
List of Experiments:
Lab-1 Introduction (Getting User accounts, How to Login, Programming, compilation practice)
Getting started with UNIX ( Boot, Shutdown, init, login, using vi / pico editors, UNIX
Lab-2
Commands )
Lab-3 UNIX and C Programming ( Pointers, linked lists, structures, Arrays, Why C, benefits)
Lab-4 UNIX Commands ( File Structure, types & Access Permissions, commands )
Lab-6 System Calls (System calls - open, read, write, close, lseek, stat, get dents )