Class Webpage: CIS343

                          Operating Systems

Computer Science Dept

Spelman College

Atlanta, GA 30314

 

Course NEWS: Assignment due date is postponed to Fri, 8am, Apr. 16 2004. Office hours are cancelled tomorrow because the building is closed, and will resume on Monday.

 

 

Course Overview

 

Syllabus

Instructor Information

 

TA Information

Lectures

Programming Assignments

Labs

Homework

 

Supplements

Course Overview

Welcome to the operating systems(OS) course at Spelman College. This is a Junior level course for computer science majors. The prequisites of this course are CIS213 (Foundations of Computer Science).

 

In many ways this course is like a capstone for the first few years of CS undergraduate study. An operating system is perhaps the most complex  collection of software that exist. In this course you will learn the concepts needed for designing modern operating systems. We will be discussing how the OS interfaces with the application software and the hardware of the computer system. We will investigate all of the key features of a modern operating system including process/thread scheduling and management, memory management, deadlock detection and avoidance, file

management, disk scheduling and management, and some collection of advanced topics including

security and networking.

 

My philosophy behind the way the class is structured is that "you learn by doing". This reinforces the lecture material, and allows you to experience the subtle differences between ideas/concepts and implementation. For this reason, this class has a significant implementation component with a decreased amount of "questions and answers" required homework assignments. The implementation component is based on a series of projects that have been nicely integrated with the laboratory component of the course. The projects are stand-alone systems programming assignments that will be introduced in lab. You are given a week or more for each project. Projects are considered individual work, but you may consult with others on ideas.

Instructor

Prof. Charles R. Hardnett

Room 219 Tapley

hardnett@spelman.edu

404-270-5880

Office Hours: M  2p-4p,

                         W 1p-3p, and by appt.

 

Back to TOP

TAs

Shelley Robinson

Room 227 or 223 Science Bldg

srobinson@spelman.edu

Office Hours:  Sun 6-8p, Thu 6-8pm, Mon 8-9p

 

Back to TOP

Lecture Links

The lecture notes are provided as PDF files where 2 slides are printed per page to save trees J. The lectures are listed in order by chapter, but not necessarily the order in which they will  be covered.

 

Chapter 1

Chapter 2

Chapter 3

Chapter 4

Chapter 5

Chapter 6

Chapter 7

Chapter 8

Chapter 9

Chapter 10

Chapter 11

Chapter 12

Chapter 13

Chapter 14

Chapter 15

Chapter 16

Chapter 17

Chapter 18

Chapter 19

Chapter  20

Chapter  21

 

Back to TOP

 

 

Project Assignments

The project assignments are extensions of the lab work.

 

Programming Assignment #1

Programming Assignment #2

Programming Assignment #3

Programming Assignment #4

 

Back to TOP

Lab Links

This course is accompanied by a 1 hour lab that has required attendance. The labs will serve as the means to reinforce lecture material and provide introductions to the programming assignments. The lab materials are located at the ends of the selected chapters. Below is the lab schedule for the semester including the content.

 

Lab #1

Lab #2 Notes

Lab #3

Lab #4

Lab #5

Lab #6

Lab #7

Lab #8

 

Back to TOP

Self-Study Questions (Homework)

Self-Study assignments are not graded in this course. The solutions are available in my office. Homework should be completed to keep up with the concepts in class as well as prepare you to take quizzes and exams.  In general, the higher numbered questions are the more difficult questions.

 

Chapter 1

1, 3, 5, 6, 7, 8, 9, 10, 16, and 17

 

Chapter 2

1, 3, 5, 7, and 11 (most of these will require you to write some code. The code is minimal. If you have trouble, consult the solutions. This practice will help you with your lab work)

 

Chapter 3

1, 2, 3, and 4. (if you desire to do #5 or #6, please see me)

 

Chapter 4

1, 2, 3, 4, 6, 7, 8, 10, 15, and 17

 

Chapter 5

1, 2, 3, 5, 6, 7, 9, 11, 12, and 14

 

Chapter 6

1, 2, 3, 4, 5, 6, and 7 (#8 is an interesting programming problem)

 

Chapter 7

1, 3, 4, 5, 6, 7, 8, 9, and 10

 

Chapter 8

1, 3, 4, 5, 7, and 10

 

Chapter 9

1, 2, 3, 7, 8, and 9

 

Chapter 10

1, 2, 3, 4, 7, and 11

 

Chapter 11

1, 2, 4, 5, 6, 7, 8, 9, and 12

 

Chapter 12

1, 2, 4, 5, 9, 10, 11, 12, and 17

 

Chapter 13

6, 7, 8, 9, 11, and 16 (download this mail file)

 

Chapter 14

1, 2, 3, 4, 5, 6, 7, 14, and 15

 

Chapter 15

1, 2, 4, 5, 6, 7, and 8

 

Back to TOP

Supplemental Material

This material is to be used by the students as a supplement to the other materials in the class.

 

C++ Reference (C libraries also)

Solaris Software Developer Page (General Page)

        Programming API (Interesting for this class)

        Device Drivers

The Spelman College CS Dept Standard Coding Style

Compiler Errors: What to do?

 

Back to TOP