CSCI 330:  Operating Systems

 

Instructor:  Ken Johnson


Prerequisite:  CSCI 263


 

Material and skills covered:

This course starts with the knowledge acquired in CSCI 263 about the Instruction Set Architecture level, and moves upward into the major functions of an operating system. Since no two operating systems are alike, the functions are learned at a conceptual level and reinforced by studying the example of a popular multiprogramming operating system.

 

Topics include operating system structures, processes and threads, CPU scheduling, memory management, file systems, I/O and device management, distributed systems, and security. After completing the course, the student should have the skill to quickly identify the parts of any operating system with which he or she is working, and speculate intelligently about how it works inside.

 

Methods used:

Individual study of the course textbook is supplemented by both the professor’s lectures and class discussion. There are also team-based and individual projects, which probe beneath the conceptual level. Opportunity is provided to share this more specialized knowledge with the other students.

 

Grade determined by:

Grades are assigned to topical tests, occasional quizzes, and a final exam. Written assignments and projects are expected to be completed on time and demonstrate increasing mastery of the material. A portion of the final grade is allocated to the professor’s evaluation of class participation.

 

Attendance policy:

Knowledge of operating system concepts cannot be mastered without regular class attendance. Tests cover some classroom material that is not included in the textbook. Students are expected to attend class regularly unless an excused absence is arranged with the professor. Class starts every day on time. Habitual absence and/or tardiness will detract from the class participation part of the final grade as well as performance on tests and projects.

 

Comments:

The major part of the professor’s professional career was spent designing, implementing, or managing the development of major operating systems. He is very enthusiastic about this subject.