You are on page 1of 6

National Computer Education Accreditation Council

NCEAC
NCEAC.FORM.001-C

INSTITUTION National University of Computer & Emerging Sciences, Islamabad

Computer Science (BS) – Spring 2019

PROGRAM (S) TO BE
EVALUATED

INSTITUTION National University of Computer

NCEAC.FORM.001.C
National Computer Education Accreditation Council
NCEAC
NCEAC.FORM.001-C

(Fill out the following table for each course in your computer science curriculum. A filled out form should
not be more than 2-3 pages.)

Course Code CS-205


Course Title Operating Systems
Credit Hours 4
Prerequisites by Data Structures (CS201)
Course(s) and Topics
Assessment Instruments 100% theory and 1 credit separate lab
with Weights (homework,
quizzes, midterms, final, Breakdown of Course Work (Total):
programming assignments,
lab work, etc.) Midterm 2 40%
Quizzes 5 10%
Homework 3 10%
Final 1 40%

Course Coordinator Dr. Hasan Mujtaba, Dr. Adnan Tariq, Ms. Sidra Khalid
URL (if any)
Current Catalog Major topics to be covered are Process Management, Thread Management,
Description
Process Synchronization, Deadlock management, Memory Management and
File Management. This is a programming intensive course and involves
implementation and use of system calls, multithreaded applications, simulation
of memory management, scheduling etc with a lot of emphasis on
synchronization issues.
Textbook (or Laboratory Operating System Concepts, Author Silberschatz and published by John
Manual for Laboratory
Wiley & Sons, 8th Edition
Courses)
Reference Material Modern Operating System by Tenenbaum, by Prentice Hall, (Latest
Edition).
Course Goals The goals of this course are to convey:

1. Understanding of the fundamental concepts in modern Operating


Systems: processes, threads, synchronization (essential to concurrent
programming), scheduling (for the processes and threads), memory
management, I/O, and file systems.
2. Understanding of multi-programming and synchronization in such
programming models.

After completion of the course, the student shall be able to:

1. Design, implement, and evaluate a computer-based system, process,


component, or program to meet desired needs.
2. Function effectively on a team to accomplish a common goal.

3. Communicate effectively with a range of audiences.

NCEAC.FORM.001.C
National Computer Education Accreditation Council
NCEAC
NCEAC.FORM.001-C

Topics Covered in the  Introduction, Overview OS Services


Course, with Number of 3 Lectures
Lectures on Each Topic  Processes
(assume 15-week instruction 6 Lectures
and one-hour lectures)
 IPC, Pipes
3 Lecture
 CPU Scheduling
3 Lectures
 Threads
3 Lectures
 Deadlocks
6 Lectures
 Synchronization, Bakery Algorithms
3 Lectures
 Semaphores
3 Lectures
 Memory Management & its Data Structure
3 Lectures
 Paging & Segmentation
3 Lectures
 File System Interface & Implementation
3 Lectures
 Advanced Topics
3 Lectures
 Case Studies
3 Lectures

Laboratory Introduction of lab and shell scripting, introduce the concept of processes,
Projects/Experiments process creation and handling, hands on practice of exec system call,
Done in the Course communication techniques between processes, introduction to signal and signal
handling, concept of threading, how modern operating systems utilizing
threading for parallel processing, how to synchronize processes and threads.
Evaluation is managed with problem approach evaluated by lab work, practical
quizzes and lab project.
Programming Process creation and handling, system calls, process communication, threads
Assignments Done in the and synchronization tasks and multithreading application in Linux.
Course
Class Time Spent on (in Theory Problem Solution Design Social and Ethical
credit hours, Hrs/Min) Analysis Issues
1.5/90 1.2/70 1.2/70 0.1/10
Oral and Written Every student is required to submit at least __3__ written reports of typically
Communications __8_ pages and to make __2___ oral presentations of typically __15___
minute’s duration. Include only material that is graded for grammar, spelling,
style, and so forth, as well as for technical content, completeness, and accuracy.

NCEAC.FORM.001.C
National Computer Education Accreditation Council
NCEAC
NCEAC.FORM.001-C

NCEAC.FORM.001.C
National Computer Education Accreditation Council
NCEAC
NCEAC.FORM.001-C

Tentative course outline and lecture plan


Number of Chapter
Topics
Lectures
3 Introduction, Overview OS Services 1,2

Brief concept of earlier systems

Structure of Operating system

Concept of interrupts, Direct Memory Access


6 Processes (PCB) 3
Introduction of Processes and their address space
CPU registers, PCB, Process states
Introduction of Interprocess Communication, Pipes
8 CPU Scheduling 6

Introduction of CPU scheduling

Preemptive and Non-Preemptive Scheduling

Scheduling Algorithms, Multilevel Queue Scheduling

11 Threads, Deadlock and Semaphores 4,5,7

Introduction of threads, Single and Multithreaded Processes

Introduction of User/Kernel Threads and POSIX Threads

Introduction of Deadlocks and Banker’s algorithm. Detection


of deadlocks
13 Memory Management, Segmentation and Paging 8,9

15 Advance Topics 10,11,12

NCEAC.FORM.001.C
National Computer Education Accreditation Council
NCEAC
NCEAC.FORM.001-C

COURSE CONTENTS (Lab/ Practical):


**Courseware Events
Comments (if
Weeks Contents/Topics (MM/ IT Lab/Case Study/ any)
Assignment/
Presentation etc.)
Week-01 None
Command Line Utilities, Shell and introduction to Shell Scripting Lab Exercise # 01
Week-02

Shell Scripting-II – Shell Variables, Read statement and Conditional Lab Exercise # 02
Week-03 Statements

Process Creation – mainly fork(), wait(), exit() system calls Lab Exercise # 03
Week-04

Exec() System call – a family of six functions Lab Exercise # 04


Week-05
Week-06 Inter-process communication Lab Exercise # 05

Week-07 Named pipes Lab Exercise # 06

Signals – Signal Handlers Lab Exercise # 07


Week-08

---------------------------------------- Mid Exams


Week-09
Signals –II – Signal Masks, sigpending(), sigsuspend() Lab Exercise # 08
Week-10
Threads Creation Lab Exercise # 09
Week-11

Thread Attributes Lab Exercise # 10


Week -12

Mutex Lab Exercise # 11


Week 13

Semaphores Lab Exercise # 12


Week-14

Week-15 Project

Practical/ Programming Work/ Tools: Linux (Ubuntu)

NCEAC.FORM.001.C

You might also like