CDF-CSC322 Operating Systems

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

CSC322 Operating Systems Fall 2022

COMSATS University Islamabad

COURSE DESCRIPTION FILE

CSC322 Operating Systems

DEPARTMENT OF ELECTRICAL & COMPUTER ENGINEERING

COMSATS University Islamabad Page 1


CSC322 Operating Systems Fall 2022

COMSATS University Islamabad

COURSE DESCRIPTION FILE

CSC322 Operating Systems

DEPARTMENT OF ELECTRICAL & COMPUTER ENGINEERING

Prepared By: Checked By: Approved By:

----------------------------------- ----------------------------------- -----------------------------------

COMSATS University Islamabad Page 2


CSC322 Operating Systems Fall 2022

Operating Systems
Course code:
CSC322 (2+1)

Prerequisites:
CSC211

Co requisites:
None

Course Catalog Description:


This course introduces the fundamentals of operating systems design and implementation. Topics
include: Types of operating systems; Operating system structures; Process management: processes,
threads, process synchronization, CPU scheduling, deadlocks; Memory management: main memory and
virtual memory; Storage management: File systems; I/O systems; protection and Security; Virtual
machines; distributed process communication.

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.

Course Learning Objectives:


This course has two components: a theory component to teach you the concepts and principles that
underlie modern operating systems, and a practice component to relate theoretical principles with
operating system implementation. In the theory component, you will learn about processes and
processor management, concurrency and synchronization, memory management schemes, file system
and secondary storage management, security and protection, etc.

Course Learning Outcomes:


After successfully completing the course, the students will be able to:
1. Understand fundamental operating system types and structure. (C1-PLO1)
2. Describe OS support for processes and threads. Recognize CPU Scheduling, synchronization, and
deadlock. (C2-PLO1)
3. Describe algorithms for handling synchronization and deadlock. Categorize the OS’s resource
management techniques, dead lock management techniques. (C3-PLO2)
4. Explain OS support for virtual memory, disk scheduling, I/O, and file systems. Identify security and
protection issues in computer systems. (C4-PLO3)
5. Use modern tools/resources for application of various techniques. (A3-PLO5)

COMSATS University Islamabad Page 3


CSC322 Operating Systems Fall 2022

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%

COMSATS University Islamabad Page 4


CSC322 Operating Systems Fall 2022

Total (lab) 100%


Final marks Theory marks * 0.75 + Lab marks * 0.25

Learning Outcomes Assessment Plan (Tentative):


Sr. # Course Learning Outcomes Assessment
1. Quiz 1
2. Quiz 2
3. Quiz 3
4. Quiz 4
5. Assignment 1
6. Assignment 2
7. Assignment 3
8. Assignment 4
9. Midterm
10. Terminal
Table 1: Assessment Plan for Course Learning Outcomes

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.

COMSATS University Islamabad Page 5


CSC322 Operating Systems Fall 2022

Mapping Course Learning Outcomes (CLOs) to Program Learning Outcomes (PLOs):


PLO 1 Engineering Knowledge: An ability to apply knowledge of mathematics, science,
engineering fundamentals and an engineering specialization to the solution of complex
engineering problems.
PLO 2 Problem Analysis: An ability to identify, formulate, research literature, and analyze
complex engineering problems reaching substantiated conclusions using first principles
of mathematics, natural sciences and engineering sciences.
PLO 3 Design/Development of Solutions: An ability to design solutions for complex
engineering problems and design systems, components or processes that meet
specified needs with appropriate consideration for public health and safety, cultural,
societal, and environmental considerations.
PLO 4 Investigation: An ability to investigate complex engineering problems in a methodical
way including literature survey, design and conduct of experiments, analysis and
interpretation of experimental data, and synthesis of information to derive valid
conclusions.
PLO 5 Modern Tool Usage: An ability to create, select and apply appropriate techniques,
resources, and modern engineering and IT tools, including prediction and modeling, to
complex engineering activities, with an understanding of the limitations.
PLO 6 The Engineer and Society: An ability to apply reasoning informed by contextual
knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to professional engineering practice and solution
to complex engineering problems.
PLO 7 Environment and Sustainability: An ability to understand the impact of professional
engineering solutions in societal and environmental contexts and demonstrate
knowledge of and need for sustainable development.
PLO 8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities
and norms of engineering practice.
PLO 9 Individual and Team Work: An ability to work effectively, as an individual or in a team,
on multifaceted and /or multidisciplinary settings.
PLO 10 Communication: An ability to communicate effectively, orally as well as in writing, on
complex engineering activities with the engineering community and with society at
large, such as being able to comprehend and write effective reports and design
documentation, make effective presentations, and give and receive clear instructions.
PLO 11 Project Management: An ability to demonstrate management skills and apply
engineering principles to one’s own work, as a member and/or leader in a team, to
manage projects in a multidisciplinary environment.
PLO 12 Lifelong Learning: An ability to recognize importance of, and pursue lifelong learning in
the broader context of innovation and technological developments.

COMSATS University Islamabad Page 6


CSC322 Operating Systems Fall 2022

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

PLO Coverage Explanation:


PLO 1: Engineering Knowledge
The homework, exams, and laboratory experiments require direct application of mathematics, scientific,
and engineering knowledge to successfully complete the course. This includes the system calls, kernels,
operating system structure etc.
PLO 2: Problem Analysis
An ability to identify, formulate, research literature, and analyze complex engineering problems
reaching substantiated conclusions using first principles of mathematics, natural sciences, and
engineering sciences. This includes case studies and analysis of different operating systems like MAC,
Linux, Sun Solaris etc .
PLO 3: Design/Development of Solutions
An ability to design solutions for complex engineering problems and design systems, components or
processes that meet specified needs with appropriate consideration for safety, cultural and
environmental considerations. This includes protection & security, access control, cryptography, and
security defense.
PLO 5: Modern Tool Usage
An ability to create, select and apply appropriate techniques, resources, and modern engineering and IT
tools, including prediction and modeling, to complex engineering activities, with an understanding of the
limitations.
PLO 10: Communication
An ability to communicate effectively, orally as well as in writing, on complex engineering activities with
the engineering community and with society at large, such as being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive clear
instructions.

COMSATS University Islamabad Page 7


CSC322 Operating Systems Fall 2022

ANNEXURE-I
Tentative Lecture Breakdown (30 Lectures):

No. of
Topics
Lectures

Module 1 (Introduction): Introduction to Operating Systems; Computer-System


Organization; Computer-System Architecture; Storage Management; Protection and 4
Security; Distributed Systems; Special-purpose Systems; Computing Environments.

Module 2 (Operating System Structure): Operating-Systems Structure; Virtual Machines;


4
Operating-Systems Generation; System Boot.

Module 3 (Process Management): Process Concept; Process Scheduling; Operations on


Processes. Examples of IPC Systems; Communication in Client-Server Systems.
4
Concurrency/Multithreading Models; Multithreading synchronization issues; Thread
Libraries; Operating System Examples. Threads Creation and Execution.

Module 4 (CPU Scheduling): CPU Scheduling Concept; Scheduling Criteria; Scheduling


Algorithms. Multiprocessor Scheduling; Thread scheduling; Operating Systems Examples; 4
Algorithms Evaluation.

Module 5 (Process Coordination): Process synchronization: The critical Section Problem;


Semaphores; Classical Synchronization Problems; Monitors; Deadlocks: Prevention; 4
Avoidance; Detection; Recovery.

Module 6 (Memory Management): Swapping; Contiguous Memory Allocation; Paging;


4
Segmentation; Virtual-Memory Management.

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.

Module 8 (Protection and Security): System Protection; Protection Objectives; Protection


Principles; The Security Problem; Program Threats; System and Network Threats; 4
Cryptography; Implementing Security Defenses; Firewalling.

COMSATS University Islamabad Page 8


CSC322 Operating Systems Fall 2022

ANNEXURE-II
List of Experiments:

Lab No. Details

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-5 UNIX Shell Programming

Lab-6 System Calls (System calls - open, read, write, close, lseek, stat, get dents )

Lab-7 Observing OS Behavior ( The /proc file system )

Lab-8 Processes Creation and Execution ( fork, exec, wait, exit )

Lab-9 Threads Creation and Execution ( PThreads )

Lab-10 Process/Threads Synchronization ( Mutex and Condition Variables)

Lab-11 Inter-Process Communication (IPC): Pipes & Signals

Lab-12 Memory Management ( Memory Layout of a Process )

Lab-13 Shared Memory Management ( Shared Memory IPC)

Version Applicable From

Version 1 Fall 2021

COMSATS University Islamabad Page 9

You might also like