Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

2020 - Course Outline - Fall - OS

Uploaded by

Saima Javed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

2020 - Course Outline - Fall - OS

Uploaded by

Saima Javed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

National University

of Computer & Emerging Sciences

Department of Computer Science


CS220 – Operating Systems
FALL 2020
Instructor Name: Ibrahim Nadir TA Name: Miss Aimen Ijaz Email address:
Ibrahim.nadir@nu.edu.pk Email address: - L174171@lhr.nu.edu.pk Office Location: Liberty
lab/ext. 234 Office Location/Number: - Office Hours: After class

Course Information
Program: BS
Credit Hours: 3+1
Type: Core
Pre-requisites: Data Structures
Course Website: SLATE / Google Classroom
Class Meeting Time: Mon., Wed. 2.00 – 3.30 PM
Class Venue: CS-5

Course Description
“Operating systems are essential part of any computer system. Similarly, a course on operating
systems is an essential part of any computer science education.” (Silberschatz et. al.)

This course helps in understanding the behavior, role and scope of operating system, the underlying
hardware, and the application programmes. Secondly, in this course students learn how to program
in a multi-programmed and multithreaded environment. The course also introduces important
system development methodologies and algorithms in the areas of CPU scheduling, process
communication, memory management, concurrency, synchronization, and file systems.

Course Learning Outcomes


1 The student will analyze and evaluate computer system hardware by:

Distinguishing the basic elements of a computer system and their


interrelationships. Inspecting the steps taken by a processor to execute an
instruction.
Investigating why and how a processor uses interrupts.
Differentiating the levels of a typical computer memory hierarchy.
Examining the operation of a stack and its use to support procedure call and return.
2 The student will analyze and evaluate operating system and its key principles by:

Differentiating and categorizing the key functions of an operating system


(OS). Examining the evolution of operating systems and milestones in OS
research.

Examining the key design areas that have been instrumental in the development
of modern operating systems.

3 The student will analyze and evaluate process management by:

Defining “process” and explaining the relationship between processes and


process control blocks.
Examining the concept of a process state and discussing the state transitions
the processes undergo.
Examining the purpose of the data structures and data structure elements used by
an OS to manage processes.
Assessing the requirements for process control by the OS.

4 The student will analyze and evaluate threads and thread management by:

Distinguishing between process and thread.


Evaluating the basic design issues for threads.
Comparing the difference between user-level threads and kernel-level
threads. Assessing the thread management facility in Linux.

5 The student will analyze concurrent processes by:

Examining concepts related to concurrency, to include race conditions, OS


concerns, and mutual exclusion requirements.
Examining semaphores.
Students will be able to solve critical section problems using semaphores

6 The student will evaluate and solve deadlocks by:

Categorizing the conditions that cause deadlock.


Comparing the concurrency and synchronization methods used in Linux

7 The student will examine memory management by:

Analyzing the principal requirements for memory management.


Analyzing memory partitioning and the various techniques used for
memory partitioning.
Supporting the principle of paging within main memory.

8 The student will evaluate the virtual memory facility in operating systems by:

Comparing and contrasting virtual memory and main memory.


Examining the hardware and control structures that support virtual memory.
Assessing the various OS mechanisms used to implement virtual memory.
Contrasting the virtual memory management mechanisms in Linux and
Windows.

9 The student will evaluate processor scheduling by:

Distinguishing between long-, medium-, and short-term scheduling.


Assessing the performance of different scheduling policies.

10 The student will analyze and evaluate file organization schemes and
file management by:

Examining the basic concepts of files and file systems.


Assessing the principal techniques for file organization and access.
Examining file directories.
Examining FAT file system and the data structures used in it

Course Textbook
1. Operating System Concepts (Ninth Edition) By Silberschatz, Galvin, and Gagne
2. The Little Book of Semaphores (Second Edition) By Allen B. Downey
Additional references and books related to the course:
1. Operating Systems (Third Edition) By Gary Nutt
2. William Stallings, "Operating Systems: Internals and design Principles 7th edition", Pearson,
2012

Tentative Weekly Schedule


Week Topics to be Readings Assignments
covered
1 Introduction and 1,2
Background

2 Services and 1,2


interfaces of
Operating Systems,
System call and
interrupt
mechanism, Fetch
Execute Cycle

3 Life of a process 3,5 HW -1


and Inter-process
communication,
Process Scheduling

5 Multithreading 4
6 Process 3,5
Synchronization:
Critical Section
Problem and its
Solutions

7 Process Book-2 HW-2


synchronization:
Basic problems

8 Process Book-2
synchronization:
Classical problems

9 Memory 8,9
Management
overview

10 Memory 8,9
Management:
Challenges

11 Paging 8,9 HW-3

12 Virtual Memory 8,9


Demand Paging

13 Page Replacement 8,9


Algorithms

14 File System – 11,12


Introduction

15 Allocation 11,12
Methods,
Free-Space
Management
Implementation

(Tentative) Grading Criteria


1. 3-5 Assignments (15%)
2. 3-5 Quizzes all announced (15%)
3. 2 Midterm Exams (30% - 15+15)
4. Final Exam (40%)

Grading scheme
The grading scheme followed will be absolute in accordance with the university standards.
Examination
Course is taught using slides. The topics in slides only serve as reference points. They show which
topics were discussed in the lectures. Exam can be designed out of all these topics. Some exam
questions will pertain to the discussion in the book, which is not part of the lectures as it is. So in
order to get good marks in the exam, students MUST READ THE BOOK. All topics mentioned in the
slides are discussed in greater detail inside the book, which is also part of the course and hence
examination.

Passing Criteria
Students need to score a minimum of 50% to pass the course.

Course Policies
1. Quizzes may be announced/un-announced.
2. No makeup for missed quizzes.
3. Students are expected to attend all sessions. However, they might avail 20% leaves in
emergency situations. Beyond this the student will not be allowed to appear in the final
exam.
4. Plagiarism is not tolerable in any of its form. Minimum penalty would be an ‘F’ grade in the
course. Automated tools may be deployed to detect pirated copies. Students bear all the
responsibility for protecting their assignments. In case of cheating, both parties will be
considered equally responsible.
5. Assignments must be submitted in time. No late submissions will be accepted and/or
awarded. REMEMBER that the overall submission time allowed includes the extra time given
during which SLATE doesn’t work. Therefore, deadlines are firm.
6. Rechecking of quizzes/assignments must be done within one week of it being uploaded on
Flex. In case they are shown to you during the class, the week starts thereon. 7. If you have
some problems regarding your attendance, quizzes, assignments or mids score, you may follow
this link to report it and avoid sending me emails. https://goo.gl/JasES3 8. If you need to
schedule an appointment via email, please use the following link to check my routine:
https://goo.gl/WK56WE

You might also like