Tuesday 16 October 2018

OS


 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



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






Back