COMP450 Operating Systems

Computer Science Department of North Carolina A&T State University


Instructor: Dr. Kenneth A. Williams

            email:     web page:

            office: 108A Graham Hall

            office phone: 334-7245 x 450               home phone: 674-0535

            office hours:      MTWRF 11:00 to 12:00,  T 8:00 to 12:00, T 3:00 to 5:00

    other times by appointment

Prerequisites: COMP375 or ELEN327

Text:  “Operating Systems: Internals & Design Principles, 4th edition” by William Stallings, Prentice Hall, 2001, ISBN: 0130319996


This is an introduction to the theory and practice of operating system design and implementation. Algorithmic techniques are presented for implementing process management, storage management, processor management, file systems, security, distributed systems, performance evaluation, and real time systems.

Topics include:


·        Process control

·        Deadlock

·        Concurrent Programming

·        Queuing theory

·        Processor scheduling

·        Memory management and virtual memory

·        Security

·        I/O management

·        File systems


Upon completion of this course, the student should be able to:

·        Understand how a modern operating system accomplishes its magic.

·        Design a concurrent system that will be free of deadlock.

·        Write concurrent programs using multiple threads and processes.

·        Describe (simulate) process execution using various types of CPU scheduling algorithms.

·        Describe how virtual memory is addressed and managed.

·        Calculate the delay involved in a disk read or write.

·        Use cryptography to secure data and programs.



Grading:  A student’s grade in the class will be based on their performance on the exams, quizzes, programs and homework assignments.  All work will be graded on a numerical scale from 0 to 100.  The final grade will be the weighted sum of all work using the following weights:

assignments and programs

10% combined

3 exams

20% each

final exam

30% May 5, 2003 8:00am

The lowest homework grade will be discarded.  Homework must be turned in at the beginning of class on the assigned day for full credit, unless accompanied by a valid excuse.  Homework turned in within one day of the assigned time will be penalized 10%.  Homework turned in within two days of the assigned time will be penalized 25%.  No homework will be accepted after two days.  Students who are absent during a class period when a test is given, will receive a score of zero unless previous arrangements are made or a valid written excuse is presented.

Final letter grades will be based on the following scale:

A: 80 to 100   B: 70 to 80     C: 60 to 70     D: 50 to 60     F: less than 50

In addition to the normal assignments that contribute to the final grade, there will be several optional “Challenge Problems”.  The “grade” for the challenge problems is not included in determining the final total score.  If a student’s final total score is close to a higher letter grade (e.g. a student has a final total score of 79.6), the student may be given the higher grade if they have properly completed a sufficient number of the challenge problems.

Students will be allowed one and only one 8˝ by 11 inch page of notes during the exams.  Both sides of the note page can contain information as small as the student desires.  You are not allowed to use more than 187 square inches of paper surface to hold your notes.  Any additional pages, fold outs, flaps or other means of extending the page of notes will be considered cheating.

Attendance: The lectures introduce the class material.  Some material presented in the lectures is not covered in the text.  Students are responsible for all class material covered or assigned in lectures.  While attendance at lectures is not absolutely mandatory, students are expected to attend all lectures.

Cheating: Instances of cheating will be handled according to departmental policy.  Cheating covers any case in which a student has received unauthorized aid in his/her performance that contributes to a course grade or submits material contributing to a course grade with the intent to deceive the instructor or grader.  If the unauthorized aid includes help from another student, then that student is considered to have cheated as well.  Students are expected to submit assignments that are entirely their own work.  A common example of cheating is to copy another person’s program or homework assignment.

If a student cheats on a homework assignment, then he/she will receive a grade of zero (a grade of F) for that item as will anyone assisting him/her in an unauthorized way.  If a student cheats on an exam or the final, he/she will receive a failing grade for the class.  All cases of cheating will be reported to the Director of Undergraduate Studies.  When a student cheats for the second or more time in any Computer Science class, he/she will receive an F in the class in which the most recent case occurred and will be referred to the University authorities for disciplinary action.

Students with special needs (e.g. hearing or vision difficulties) should inform the instructor at the beginning of the semester.

Class Schedule

Monday, January 6


read section 2.1

Wednesday, January 8

Review of Hardware

read chapter 1

Friday, January 10

History of OS

read chapter 2

Monday, January 13


read chapter 3

Wednesday, January 15



Friday, January 17


read sections 4.1 & 4.6

Monday, January 20

Martin Luther King Holiday

(no class)

Wednesday, January 22

Concurrent Programming

read chapter 5

Friday, January 24

Concurrent Programming


Monday, January 27

Concurrent Programming


Wednesday, January 29

Concurrent Programming


Friday, January 31

Concurrent Programming

Monday, February 3


Wednesday, February 5

Exam 1


Friday, February 7


read chapter 6

Monday, February 10

Process Scheduling

read chapter 9

Wednesday, February 12

Process Scheduling


Friday, February 14

SMP Scheduling

read 4.2 & 10

Monday, February 17

Memory Management

read 7.1 & 7.2

Wednesday, February 19

Memory Management

read 7.3 – 7.6

Friday, February 21

Memory Management


Monday, February 24

Virtual Memory

read chapter 8

Wednesday, February 26

Virtual Memory


Friday, February 28

Virtual Memory


Monday, March 3

Virtual Memory


Wednesday, March 5



Friday, March 7

Exam 2


Monday, March 10

Spring Break

Wednesday, March 12

Spring Break

Friday, March 14

Spring Break

Monday, March 17

Queuing Theory


Wednesday, March 19

Queuing Theory


Friday, March 21

Queuing Theory


Monday, March 24

I/O Management

read 11

Wednesday, March 26

I/O Management


Friday, March 28

File Management

read 12

Monday, March 31

File Management


Wednesday, April 2

Distributed Systems

read 13

Friday, April 4

Distributed Systems


Monday, April 7

Distributed Systems

read 14

Wednesday, April 9



Friday, April 11

Exam 3

read 18

Monday, April 14


read 15

Wednesday, April 16



Friday, April 18

Good Friday

(no class)

Monday, April 21



Wednesday, April 23



Friday, April 25



Monday, April 28



Wednesday, April 30

Reading Day

(no class)


Monday, May 5  8:00am – 10:00am

Final Exam