0% found this document useful (0 votes)
3 views11 pages

F 25 - Course Outline - Operating Systems

The document outlines the course structure for Operating Systems (CS3104) at Riphah International University, detailing the course objectives, learning outcomes, assessment criteria, and weekly topics. It includes information on prerequisites, textbooks, and lab activities, as well as policies regarding assessments and submissions. The course aims to provide students with a comprehensive understanding of operating systems, including their design, functionality, and current trends in the field.

Uploaded by

mmuaazzdev1280
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views11 pages

F 25 - Course Outline - Operating Systems

The document outlines the course structure for Operating Systems (CS3104) at Riphah International University, detailing the course objectives, learning outcomes, assessment criteria, and weekly topics. It includes information on prerequisites, textbooks, and lab activities, as well as policies regarding assessments and submissions. The course aims to provide students with a comprehensive understanding of operating systems, including their design, functionality, and current trends in the field.

Uploaded by

mmuaazzdev1280
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Riphah International University, Lahore Campus

Riphah School of Computing & Innovation


Course Outline
Course Course Title Operating Systems
Information Course ID CS3104 Course Type Computing Core
Credit hours 3 (2+1) Hours per week (C-L) 2-3
Programs BS (CS) Preferred Semester 5
Date Version 2.0
Offered Program(s) BS (CS) Semester Session Spring 2026
Course Instructor(s) Ms. Amna Bibi TA / Lab Instructor -
Information
QCH Dr. Sheheryar Malik Telephone No. / Ext. -
Email amna.bibi1@[Link] Class Hours 12:00-2:00 pm
Tuesday
B-105
Office / Room No. A6 Office Hours Thursday 9:00-11:00 am
Course
Description

Course The objective of this course is to enable students to understand;


Objectives No. Objective Relation
(CO) with PEO
CO1. basic concepts of operating systems including process, memory, I/O, file and concurrency PEO1
management
CO2. purpose, structure and functions of operating systems PEO6
CO3. design trade-offs, design decisions and their dependence on the target environment PEO2
CO4. exposure to current trends in operating systems research and development PEO3
Course At the end of this course students will be able to;
Learning No. Outcome Relation BT PLO
Outcomes with PLO Level Level
(CLO)
CLO1. Analyze the impact of different features on OS design. PLO1 C4 I
CLO2. Demonstrate the knowledge of different CPU and other scheduling PLO2 C3 I
algorithms and their impact on OS performance
CLO3. Describe operating systems structure and functionality, including memory PLO2 C2 I
allocation virtual memory, demand paging and process and device
management.
CLO4. Measure operating system performance. PLO3 C4 I
CLO5. Apply knowledge to design, implement and evaluate a computer-based PLO5 C3 A
system, process, component, or program to meet desired needs.
CLO6. Build fast and efficient operating systems. PLO10 C5 I
Lecture type Lectures, Lab sessions
Prerequisites Computer Architecture, Object Oriented Programming
Follow up Distributed Systems, Advanced Operating Systems
Courses
Textbook Title Edition Authors Publisher Year ISBN
Operating System Concepts 10th A. Wiley 2018 978-1-119-
Edition Silberschatz, J. 32091-3
Peterson, P.
Galvin
Reference Operating Systems: Internals and Design 7th William
Books Principles Edition Stallings
Modern Operating Systems 3rd A.S. Prentice
Edition Tanenbaum Hall
Material

Tools and VMware Workstation, Ubuntu OS, Windows OS


Technologies
Design skills / Flipped learning, project-based learning
techniques
Assessment Assessment Weight Used to attain CLO Assessment Weight Used to attain CLO
Criteria Assignment 6% CLO1,2,4,5,6 Quiz 10% CLO1,3,4,5
(100%)
Lab 10% CLO1,3,4,5 Project / Presentation 15%
Mid Term 20% CLO1,2,3,4,5 Final 35% CLO1,2,3,4,5
Netacad 4% Other 2 0% -
Methods of Quizzes, Assignments, Mid/Final exam, Lab, Project
Evaluation
Notes
Linux Command Line and Shell Scripting 3rd Richard Blum, Wiley 2015 978-1-118-
Bible Edition Christine 98384-3
Bresnahan
Reference
Page 1 of 11
COURSE CONTENTS
Week Topic Lecture Lecture Contents Relation Lecture Material Class Activity Tasks
No. No. with CLO
W1. Introduction & L1. − Introduction to operating system Computer CLO1 Slides: Chapter 0 Activity: Homework: Go
Background − System Overview, Application software, Slides: Chapter 1 Introduction of through the
System software, Machine language, each student module handbook
Microprogramming, Physical devices thoroughly
− Evolution of Operating Systems
L2. − Types of Operating Systems CLO1 Slides Lecture 1 Video: How To
− Computing Environments Video: How to fix Make An
− History of Operating Systems, Introduction to computer (3:30) Operating System
Unix, MS-DOS and Windows (8:30 min)
W2. Operating System L3. − Process management, Memory management, CLO1 Slides: Chapter 2 Assignment 1:
Structure File management, I/O system management, Modern
Secondary storage management, Networking Operating
− System protection Systems
Comparison
L4. − Operating system services CLO1, Project Phase 1:
− Operating System Structure, OS layered CLO2 Control Panel and
approach, OS/2 layer structure, Microkernel PCB
System Structure
W3. Operating System L5. − Operating System Design and Implementation CLO2,
Structure − System design goals, Mechanisms and policies, CLO3
Operating system implementation
− Traditional UNIX System Structure, Microkernel
System Structure, Solaris Modular Approach,
Mac OS X Structure, Android Architecture
L6. − Operating System Generation (SYSGEN) CLO2 Quiz 1 Video: Create
− Kernel/Kernel Mode Your Own
− System Calls, System Call Processing, Types of Operating System
System Calls (40:06 min)
− Interrupts, Interrupt Processing, Types of
Interrupts
W4. Process Concepts L7. − The process concept, Program vs process Process CLO4 Slides: Chapter 3 Project Phase 2:
− creation, Process control block, Process table, Process
Shell, Operation on processes Management &
Scheduling
L8. − Kernel/kernel mode CLO3
− System calls, Types of systems calls
− Interrupts, Interrupt processing, Types of
Interrupts
W5. Process Scheduling L9. − Context Switch, Process states, Process states CLO4, Slides: Chapter 4 Assignment 2
Page 3 of 11

transitions, Process life cycle, Five state process CLO5


model, Unix process state transition diagram
− Scheduler, Scheduling algorithm, Objectives of
Scheduling, Criteria for scheduling, CPU-bound vs
I/O-bound processes
− Types of Scheduling, Process scheduling queues
L10. − Scheduling Algorithms, FCFS, SJF, Priority, Round CLO5 Quiz 2
Robin, Multilevel feedback queues scheduling
− BSD Unix scheduling, Multiple processor
scheduling
− Threads, Thread support Solaris
W6. Memory L11. − Memory, memory hierarchy, Process loading and CLO6 Slides: Chapter 5 Assignment 3
Management swapping
− Memory management, Memory allocation
methods, Single partition allocation
L12. − Storage management strategies, Fetch CLO6
strategies, Placement strategies, Replacement
strategies, Variable partition with compaction
W7. Memory L13. − Non-contiguous memory allocation CLO6 Project Phase-3:
Management − Paging vs Segmentation Memory
− Simple paging, Implementation of paging, Page Management
address translation, Implementation of Page
Table, Paging with TLB
− Page Table Structure, Hierarchical Page Tables,
Hashed Page Tables, Inverted Page Tables
L14. − Simple segmentation, Segment addressing, CLO6
Paging vs. Segmentation
− The Intel IA-32 Architecture, Logical to Physical
Address Translation in IA-32, Intel IA-32
Segmentation, Intel IA-32 Paging Architecture
− ARM Architecture
W8. Mid Term Exam L15. − Mid Term Examination
Week L16.
W9. Virtual Memory L17. − Virtual memory, Mechanism of virtual memory CLO6 Slides: Chapter 6
− Translation Look Aside Buffer, Address
translation, Page fault
− Page replacement, Page replacement algorithm,
FIFO, Belady’s anomaly, Optimal LRU, Random
page replacement, LFU, MFU, Non-used recently
page replacement algorithm
L18. − Paging Mechanism, Additional techniques, CLO6 Quiz 3
Memory protection and sharing

− MS-DOS Memory management, Windows


memory management, Unix memory
management
W10. Threads & L19. − Multitasking, Threads CLO7 Slides: Chapter 7 Project Phase-4:
Multitasking − Types of threads, Kernel threads, User level Synchronization &
threads IPC
L20. − Multithreading model, One to One Model, Many CLO7
to One Model, Many to Many Model
− Solaris 2 threads, Windows 2000 threads, Linux
threads, Java threads
W11. Concurrent L21. − Concurrent processes, Resources, Race condition CLO7 Slides: Chapter 8
Processes L22. − Synchronization, Critical section, Mutual CLO7
Exclusion, Deadlock
W12. Inter-process L23. − Pipes CLO7 Assignment 4
communication − Semaphores, use of semaphore for
critical section problem Monitors

L24. − Signals, Message passing, use of messages for CLO7
synchronization
− Shared memory, Object linking & embedding
− Client-Server Communication, Sockets, Remote
Procedure Calls (RPC), Remote Method
Invocation (RMI)
W13. Input / Output L25. − Input/Output organization, Objectives of I/O CLO3 Slides: Chapter 10 Quiz 4
Management system
− Buffering, Double buffering transfer, Multiple of
circular buffering transfer
− Unix I/O system, MS-DOS I/O system, Device
drivers in windows
L26. − Disk structure, Seek time, Latency CLO3
− Disk scheduling, FCFS, SSTF, Scan scheduling
W14. File Management L27. − File Types, File Identification CLO3 Slides: Chapter 11
− MS-DOS, UNIX, Windows file naming
− Alias Filenames
LAB CONTENTS
Week Topic Lab Contents / Activity Home Tasks Relation
No. L28. − File management techniques (MS-DOS, Unix, CLO3 with CLO
W1. Introduction Windows)
− Introduction to Software CLO
− Unix
− Different Inode pointer
Operating Systemsystem, Unix volume
comparison, usage
structure
share, Terminologies
W15. Distributed − Overview
L29. of OS Architecture,
− Distributed Shell and Kernel
System, Distributed Operating CLO4 Slides: Chapter 12 Project Bonus
Operating Systems − File & Directory, File attributes
System, Distributed OS vs Network OS Phase: Distributed
W2. Linux installation and − Distributed System’s Design Issues, Distributed
− Virtualization CLO OS
GUI − InstallingSystem
Linux Transparencies, DOS Information
− Overview of Linux, GUISolution
Management
− Organization of the file system
L30. − Distributed File System, DFS Structure CLO3,
− Absolute
− File pathname, relative pathname
Naming Schemes, Remote File Access CLO4
− Installing Ubuntu,[Link]
− Statefull StatelessofService,
UbuntuStatefull File
W3. Linux commands Service,
− Introduction Stateless
to BASH shellFile Server, File
Commands: LSReplication CLO
W16. Project − Commands:
L31. − Project CD,Demonstrations
MKDIR, RMDIR CLO5, Project
Demonstration − Command: RM, CP, CV CLO6 Demonstrations
− File−Editors
L32. Project
Pico,Demonstrations
VI/VIM editor(File create, edit, CLO5, Project
save) CLO6 Demonstrations
W17.
W4. Final Term Exam
Commands Contd. − Final examination
− LS (detail) CLO CLO
− Directory and file Permissions
− CHMOD
− File Sorting: SORT commands
Page 7 of 11
− DATE (options), ECHO, CLEAR, WHO, WHO AM I
− CAT Command
W5. Advance Issues − Streams CLO
− I/O Redirection,
− Pipes
− Background and foreground processing, Ps, Kill
W6. Advance − User Management: Commands CLO
Management − Passwd, Directory and file permissions - Chmod,
id
− Log files, RPM, YUM, Yellow pages update
Manager
− Process Prioritization, Commands: NICE, RENICE,
TOP
− Job Scheduling, Commands: AT, ATQ, and
CRONE
W7. C Programming and − Introduction to C programming & GCC CLO
System Calls − GCC Compiler and commands
− Sleep System call, Exist, Exit Status,
− System Calls (getpid(), getppid() etc), System
Function
W8. Mid Term Exam − Mid Term Examination CLO
etc.
− Depricated (Stop, Suspend, Resume)
W10. Shell Scripting - − Introduction of scripting CLO
Basics − Variables, Arithmetic, BC Calculator expr,
− scale, Test Condition
W11. Shell Scripting - − Selection Construct, if CLO
Selection − then else construct
− Case
W12. Shell Scripting Contd. − More on shell scripting CLO
− Loop Construct, Nesting Functions,
− Arrays
W13. Signal Handling − Signal Handling CLO
− Handling different signals, Ignoring signal
− Trap, and handling with shell scripts
− Handling in C
W14. Windows Server - − Overview - Windows Server 2012 Installation CLO
Introduction − and initial configuration for Environment.
Overview, DNS, DHCP and Active Directory
− Install and configuration for Active Directory,
− DNS, DHCP

W15. Topic Presentations − Topic Presentations CLO


W16. Project − OS Simulation Project Demonstrations CLO
Demonstration
W17. Final exam − Final exam CLO
COURSE POLICIES

Assessment & Feedback Strategy:


• A proposed scheme of work is given for the whole semester. You must follow this scheme. This scheme is comprised of individual
assessment.
• Individual assessment will assess learning outcomes of the students about different topics and approaches explored throughout the course.
• Project deliverables will assess learning outcomes of the students about the topics he is taught throughout the course.
• The examination will assess all the learning outcomes and will focus on evaluation of knowledge about operating systems.
• A strong feedback is expected from you during class and after the class.
• Each student is expected to take the overview of the topic well in advance.

Policies:
▪ Quizzes Policy o Quizzes will be conducted either in the start of class or at the end of class.
o There will be no makeup for quizzes.
▪ Assignments and Project submission policy o Assignments and project deliverables should be submitted on the specified dates. o Late submission of
assignment and project deliverables is strictly discouraged. It will result in a penalty of 25% for each day. After 2 days late assignment or project
deliverable will not be accepted.
o Copying / Plagiarism are strictly forbidden. Any student involved in copying will be awarded grade ‘F’ in the course. The minimum possible
penalty is negative marks equal to the maximum marks in assignment / quiz / project.
o In case a student has taken / stolen submission from the other, both of the students will be penalized.
o Same policy is applicable on project deliverables as of assignments.
▪ Attendance policy o Student coming in class after 5 minutes will be mark as Late and 2 late will be mark as one absent. o Student coming in class after 15
minutes will be marked as absent. o Student having more than 8 absents will be disallowed to attend the class and he would get an ‘F’ grade in the
course. o There are 2 marks allocated for attendance. Student having no absent will get 2 marks and having 1 absent will get 1 mark.
▪ Exam Policy o Student must attempt all the required scheduled exams. All the quizzes, mid terms and final exams will be assessed to make up final
grade.
o There will be no makeup for exams. Makeup for midterm or final exam can only be placed in case of some genuine problem, but it is on teacher
discretion.
o Any student who misses a midterm exam without approval will be given zero marks in the exam. If student misses the final term exam without
approval, he will be given ‘F’ grade in the course.
Page 9 of 11

Semester Long Activities (Project/presentation etc.)

PROJECT – OS KERNEL SIMULATION

Points: 100
Weightage: 10%

Description:
This project aims to provide basic understanding of operating system kernel development. In this project, you have to build an operating system’s kernel
simulation. It is divided into different phases. Each phase will be evaluated separately. Most of the phases are dependent on the predecessor phase, so be
careful to implement each phase on time. Each phase has its own weightage, in terms of points. Last phase is a bonus and points gain in it will be in addition to
total points. You can make additions or some change but with the consent of the instructor.

General Instructions:
▪ For this project you must choose a programming language, which provides convenient graphical user interface.
For this purpose, you can choose Java, Visual Basic, C Sharp or any other visual language. ▪ Remember to keep the program
logic separate from the interface code.
▪ For each phase you must submit both the hard copy and the soft copy to your instructor.
▪ For each phase development there will be demonstration on computer.
▪ Each phase deliverable is due after one week of announcement.
▪ Late submission will result in deduction of 25% for each day.
▪ No deliverable will be accepted after 2 days of due date.
▪ Any student found in guilty of copying/code exchange will be awarded F grade. In this case, both the students who found guilty in exchange will suffer

Project Plan:

Phase-1: Control Panel and PCB [30 points]


Task-1.1: [15 points]
First of all, you have to give a name to your operating system. Then you have to build a control panel for operating system simulation. In the main page of simulation there
should be buttons for following operations;
▪ Process management
▪ Memory management
▪ I/O management
▪ Other operations

Then you have to create Process Management menu. In this menu, you have to create buttons for the different operations that can be performed on a process. These operations
are following:
Operations on a Process related to Process Management
▪ Create a process
▪ Destroy a process
▪ Suspend a process
▪ Resume a process
▪ Block a process
▪ Wakeup a process
▪ Dispatch a process
▪ Change process priority
▪ Process communication with other processes
There should be a configuration button which opens the configuration menu. From this menu, you can set some environment parameters of kernel.

Task-1.2: [15 points]


In this phase, you have to develop a Process Control Block for each process. In this phase you have to just create attributes of process held by PCB. You have to generate only
process ID.
Process Control Block (PCB) will contain following information:
▪ Unique identification of the process
▪ Current state of the process
▪ Owner of the process
▪ Process’s priority
▪ A pointer to the process parent
▪ Pointers to process’s child processes
▪ Memory requirements
▪ Pointer to allocated memory
▪ The register save area – CPU register
▪ The processor it is running on
▪ I/O state information

Phase-2: Process Scheduling [30 points]


Task-2.1: [10 points]
In this phase, you have to develop a scheduler. This scheduler will include all the three levels of scheduling, i.e., high level scheduling, medium level scheduling, and low-level
scheduling.

Task-2.2: [10 points]


In this phase, you have to actually simulate the processes on First Come First Server (FCFS) basis. At one time only one process should be in running state. You have to provide
and manage other states of process and queues.

Task-2.3: [10 points]


In this phase, you have to employ a scheduling algorithm other than FCFS. You have to also show all the queues in the system, i.e., ready queue, block queue etc.

Phase-3: Memory Management [20 points]


Task-3.1: [10 points]
In this phase, you have to perform paging. For this purpose, you have to allocate memory to a process and according to that memory requirement you have to create pages for
that process. The page size should be read from a file containing information about page size. This page size can be set from configuration menu.

Task-3.2: [10 points]


You have to also employ page replacement algorithm. Implement the LRU page replacement algorithm.

Phase-4: Synchronization & IPC [20 points]


Task-4.1: [10 points]
In this phase, you have to perform synchronization and resource sharing. You have to employ concept of cooperating processes, critical section and mutual exclusion. Resource
sharing must be done using semaphores or monitors.

Task-4.2: [10 points]


In this phase, you have to provide some mechanism for inter-process communication. You have to facilitate sockets, remote method invocation (RMI), message passing and
shared memory.

Bonus Phase: Distributed OS [20 bonus points]


In this phase, you have to turn your kernel into a distributed kernel. You have to construct client/server architecture. You have to make your OS as a server operating system. On
this Server OS, you can create processes remotely from another computer. For this purpose, there should be a mechanism on control panel of your client OS from where, you
can send a process remotely to a server.

You might also like