Operating Systems
|
Operating System (OS) is one of the fundamental courses in computer science. The OS course can be taught at the administration level for everyone to help in managing the computers and doing different tasks. This course introduces the basic and deep understanding of different subjects related to OS. Among these subjects are process, secluding and memory management. Upon completion of the course, the students will gain the essential concepts related to OS in general. The course gives some essential information of the available operating systems today.
|
Course
code: CS 205
Course
name: Operating System
Course Description
The
course will start with a brief historical perspective of the evolution of
operating systems over the last fifty years and then cover the major components
of most operating systems. This discussion will cover the tradeoffs that can be
made between performance and functionality during the design and implementation
of an operating system. Particular emphasis will be given to three major OS
subsystems: process management (processes, threads, CPU scheduling,
synchronization, and deadlock), memory management (segmentation, paging,
swapping), and file systems; and on operating system support for distributed
systems.
Back
Course Objective
By
the completion of the course the students should be able
to
1.
Understand relationship between subsystems of a modern operating
system
2.
Develop multi-process and multi-threaded applications
3.
Evaluate the efficiency aspect of using system resources (processor, memory, and
disk).
4.
Cite the various approaches to solving the problem of mutual exclusion in an
operating system.
5.
Cite the features and limitations of an operating system used to provide
protection and security.
6.
Understand the Concept of different OS i.e., Window, Mac, iOS & Android OS (Understand OS for PC & Smart
Phone)
Back
References
Required:
1.
W. Stallings, Operating
Systems Internals and Design Principles, 6th edition, 2009.
2.
Silberschatz, Galvin, and Greg Gagne. Operating System
Concepts with Java (8th
edition).
WILEY
Recommended:
1-
Tanenbaum and Woodhull. Operating Systems: Design and
Implementation (3th
edition).
Prentice Hall.
2-
Tanenbaum . Modern Operating Systems (3th
edition).
Prentice Hall.
Prerequisite:
Computer
Organization and Architecture 302 تقن ( )
Back
Evaluation Method:
Method
|
Percentage
|
Quizzes
& Assignments
|
10%
|
Lab
and Projects
|
20%
|
Test
1 & Test 2
|
30%
|
Final
Examination
|
40%
|
Back
Teaching plan:
W
|
Topic
Name
|
Sub
Topic
|
Reading
Chapter
|
1
|
Introduction
|
·
Different
OSs (Mainframe, Desktop,
Multiprocessor,
Distributed, Clustered, Real-Time, Handheld).
·
Computer-System
Structures
(I/O,
Storage, Storage Hierarchy, Hardware Protection, Network).
|
Chapter
1
|
2
|
OS-Structures
|
·
Components,
Services, System Calls,
System
structure, Virtual Machines, System Design &
Implementation.
|
Chapter
2
|
3
|
Processes
|
·
Process
Concept
·
Process
Scheduling
·
Operations
on Processes
·
Cooperating
Processes
·
Inter-process
Communication
|
Chapter
3
|
4
|
Threads
|
·
Multithreading
models
·
Threading
Issues
·
Pthreads,
Solaris 2 threads, Windows 2000 threads, Linux Threads, Java
Threads
|
Chapter
4
|
5
|
Scheduling
|
·
CPU
Scheduling
·
Scheduling
Criteria
·
Scheduling
Algorithms,
·
Algorithm
Evaluation
·
Process
Scheduling Models
|
Chapter
5
|
6
|
Test
1
|
||
7
|
Synchronization
|
·
Process
Synchronization
·
Critical-Section
Problem
·
Synchronization
Hardware
·
Semaphores
·
Critical
Regions
·
Monitors
|
Chapter
6
|
8&9
|
Memory
Management
|
·
Swapping
·
Contiguous
Memory Allocation
·
Paging
·
Segmentation
with Paging
·
Page
Replacement
·
Virtual
Memory
·
Allocation
of frames
·
Thrashing
|
Chapters
8&9
|
10
|
File
System
|
·
File-System
Interface
·
File-System
Structure
·
File-System
Implementation
|
Chapters
10&11
|
11
|
Mass-Storage
Structure
|
·
Disk
Structure
·
Disk
Scheduling
·
Disk
Management
·
Swap-Space
Management
·
RAID
Structure
|
Chapter
12
|
12
|
Test
2
|
||
13
|
I/O
Systems
|
·
Kernel
I/O Subsystem
·
Transforming
I/O to Hardware
·
Protection
& Security
|
Chapters
13,14&15
|
14
|
Overview
of Window, Mac, iOS & Andriod
|
Chapters
22&23
| |
15
|
Final
Examination
|
Back
The following
table introduces the handouts to the students. Some of the materials are adopted
from other sites with slight modification. All feedbacks for improvement are
welcomed.
Course contents:
Week
|
Subject
|
Handouts
|
Assignment
|
Remarks
| |
1
|
OS
Concepts
|
Introduction
Part1
|
|||
2
|
OS
Evolution
|
Introduction
Part2
|
|||
3
|
National
Day
|
||||
4
|
Process
|
Process
|
|||
5
|
Thread
|
Thread
|
|||
6
|
Midterm
Outlines
|
Review
for the mid term1
|
Solution
for sheet1
|
||
7
|
Midterm
1
|
||||
8
|
Scheduling
|
||||
9
|
Synchronization
|
||||
10
|
Memory
Management
|
||||
11
|
File
System
|
||||
12
|
Mass-Storage
Structure
|
||||
13
|
I/O
Systems
|
||||
14
|
Midterm
2
|
||||
15
|
Final
Examination
|
No comments:
Post a Comment