King Fahd University of Petroleum & Minerals

College of Computer Sciences and Engineering

Information and Computer Science Department

 

ICS 431:  Operating SystemsC (3-3-4)

 

Syllabus – First Semester 2009-2010 (092)

 

Website:  http://faculty.kfupm.edu.sa/ics/salah/092/ics431

 

Class Time, Venue and Instructor Information:

 

Sec.

Time

Type

Venue

Instructor

Office Hours

01

SMW

08:00-08:50am

Lecture

24-137

Dr. Khaled Salah

Office: 22-312

Phone: 03-860-4493,

E-mail: salah@kfupm.edu.sa,

http:faculty.kfupm.edu.sa/ics/salah

 SMW: 8am-11pm

02

SMW

10:00-10:50am

Lecture

24-108

Dr. Farag Azzedin (Course Coordinator)

Office: 22-107

Phone: 03-860-3431,

E-mail: fazzedin@kfupm.edu.sa,

http:faculty.kfupm.edu.sa/ics/fazzedin

SMW 11:00am-12:00

03

 

Lecture

24-108

Dr. Salahadin Mohammed

Office: 22-102

Phone: 03-860-1721

E-mail: adam@kfupm.edu.sa

 

51

S

14:00-17:10

Lab

22-413

Mr. Yahya Garout

Office: 22-324-1        

Phone: 860-4296

E-mail: garout@kfupm.edu.sa

 

 

52

U

14:00-17:10

Lab

22-413

Mr. Yahya Garout

Office: 22-324-1        

Phone: 860-4296

E-mail: garout@kfupm.edu.sa

 

53

T

14:00-17:10

Lab

22-413

Mr. Yahya Garout

Office: 22-324-1        

Phone: 860-4296

E-mail: garout@kfupm.edu.sa

 

 

Course Catalog Description

This course introduces the fundamentals of operating systems design and implementation. Topics include history and evolution of operating systems; Types of operating systems; Operating system structures; Process management: processes, threads, CPU scheduling, process synchronization; Memory management and virtual memory; File systems; I/O systems; Security and protection; Distributed systems; Case studies.

 

Prerequisites:  

            ICS 233: Computer Architecture & Assembly Language

 

 

Course Objectives

1.      Introduce numerous fundamental concepts and principles of operating systems 

2.      Expose students to the popular operating system of Linux including hands-on experience.

 

 

Course Outcomes and Their Relationship to Program Outcomes  

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

1.      Describe OS structures and OS support for processes and threads

2.      Evaluate the different algorithms for CPU Scheduling, synchronization, and deadlock. [Program Outcome (c)]

3.      Analyze algorithms for handling synchronization, deadlock, and failure related to distributed systems.  [Program Outcome (b)]

4.      Explain OS support for virtual memory, disk scheduling, I/O, and file systems. 

5.      Identify security and protection issues in computer systems. 

6.      Use C and Unix commands, examine behavior and performance of Linux, and develop various system programs under Linux. [Program Outcome (i)]

7.      Apply OS concepts related to process synchronization, shared memory, mailboxes, file systems, etc. [Program Outcome (j)]

 

 

Lab Learning Outcomes

Upon completion of the lab, you should be able to:

  1. Describe OS support for processes and threads.

  2. Recognize CPU Scheduling, synchronization, and deadlock.

  3. Use C and UNIX commands, and develop various system programs under Linux to make use of OS concepts related to process synchronization, shared memory, mailboxes, file systems, etc.

 

Required Material

 

      Operating System Concepts by Siblerschatz and Galvin. 8th Ed. Wesley, Inc.

      Lecture and Lab Handouts

 

Other Recommended References

 

       Modern Operating Systems by Andrew S. Tanenbaum; 2nd Ed, 2003, Prentice Hall, Inc.

        Operating Systems by William Stallings. 3rd Ed. 1998. Prentice-Hall, Inc.

 

 

Assessment Plan

 

 

Lab: Weekly lab work (5%), 2 Lab quizzes (10%), Lab project (10%)

25 %

Homework Assignments 

0 %

Participation & Minute Papers

5 %

Major Exam I             (March 20, Sat, in 24-137, at 6:30-8pm)

15 %

Major Exam II          (May 8, Sat, in 24-137, at 8-9:30pm)

25 %

Final Exam (20% material of Exam I and II, 80% material after Exam II)

30 %

 

Tentative Schedule

 

Wk#

Lecture

 

Lab

Topics covered

Chapters

Topics covered

Other activities

1

Introduction (2 hours).

1

Introduction to the Lab & Syllabus Discussion

 

2

 Operating System Structure (3 hours).

2

Introduction to UNIX

 

3

Processes (3 hours)

3

Introduction to C language

 

4

Threads (3 hours)

4

More about C language

 

5

CPU Scheduling (3 hours)

5

Process Creation and Execution.

 

6

Process Synchronization (4 hours)

6

Thread Creation and Execution

Lab quiz 1

7

Deadlocks (4 hours)

7

Thread synch. using mutex and condition variables

project

8

Distributed Systems (3 hours)

16, 17, 18

Semaphores

 

9

Memory Management (3 hours)

8

IPC : Signals

 

10

Virtual Memory (3 hours)

9

IPC : Pipes

 

11

 File System Interface and Implementation (3 hours).

10, 11

IPC: Shared Memory

 

12

 I/O Systems and Mass Storage Structure (5 hours).

12

Project

Lab quiz 2

13

 I/O Systems and Mass Storage Structure (5 hours).

13

 

 

14

Security and Protection (3 hours)

14

Project

 

15

Security and Protection (3 hours)

15

 

 

 

 

COURSE POLICY

No make up quizzes or examinations will be given.  Homework assignments are given for you for practice.  You will not do well in the quizzes and examination if you do not do the homework assignments.

Plagiarism, copying and other anti-intellectual behavior are prohibited by the university regulations. Violators may have to face serious consequences. 

 

 

COURSE WEBSITE

Students are required to periodically check the course website and download course materials as needed.  Lecture notes will be made available ahead of time for students to read, print out, and bring to class. It is much easier to take additional notes this way, and gain the most out of class.  The Updates section will contain information regarding important announcements. Keys to quizzes, and exams are generally discussed during class, time permitting. Sample copies will be posted online under Assignments section. The Resources section will contain additional handouts and links.  Also a Calendar will be posted online.

 

USING EMAIL 

Please use email whenever possible, avoiding using phone calls and hand written notes.

ATTENDANCE & PARTICIPATION

Any student in position of an excuse for officially authorized absence must present this excuse to the instructor no later than one-week following his resumption of class attendance. 

·         No warnings will be given prior to assigning a DN grade.

·         For this course the maximum permitted absences are 9 lecture hours.  You hit 9, you get a DN.

·         Penalty for absences.  There is no penalty for the first two absences, after that you lose one full percentage per absence..

·         For the participation, it is up to the instructor to decide.

RE-GRADING

·         First Rule, "If you give people something for nothing, you make them good for nothing"!!

·         Your grade on the exam and quiz is not subject to discussion or debate.  Your instructor, and not you, is the judge of how much your answer is worth.

·         I give a lot of partial credits and I grade each answer very carefully.  To be fair to all students, I grade all answers of all students for one question at a time, before I move to the second question.  This way everybody is graded fairly and equally.

·         If you have a legitimate concern on grading, come see me.  An example of legitimate concern is an addition mistake. However, if I recognize that you are debating or asking for more points, I will not re-grade individual questions, but rather all questions on the exam.  The re-grading will be done while you are not present, and will be final.

·         Raising your individual grade will hurt all other students.  If I decide to raise a student's grade, I have to do it for all students, since all students were initially graded equally.

·         FINAL NOTE: EXAM WILL BE RETURNED TO YOU AND ANSWERS WILL BE DISCUSSED IN THE CLASS.  IF YOU MISS THIS CLASS, INSTRUCTOR WILL NOT DISCUSS THE ANSWERS WITH YOU IN OFFICE HOURS.  THIS IS NECESSARY IN ORDER TO ELIMINATE TOO MANY ABSENTEES AFTER THE EXAM.

COURTESY 
I will expect students to be courteous toward the instructor and their classmates throughout the duration of this course. Talking while someone else is speaking will not be tolerated. Furthermore, all cell phones must be turned off during class.  In addition, students are expected to be in class on time. Late arrivals will disrupt the class session. If you are 15 minutes late, you will be marked as absent and will not be permitted to enter the class.
More importantly, you are not allowed to leave the class unless it is of an urgent matter.

WORKLOAD
Students are expected to read the assigned materials and lecture notes before each class.  The workload is heavy, so please keep up with the materials and assignments.  Class participation is strongly encouraged. 

HOW TO DO WELL