MC logo
CSc 422 Syllabus
[^] CSc 422 Home
CSc 422
Fall, 2017
3 Credits
Operating Systems
Instructor: Tom Bennet
Office: 302 MCC
Phone: 601-925-3815
Email: bennet@mc.edu
Text: Modern Operating Systems, 4th ed., by Tanenbaum & Bos
Web Page: http://sandbox.mc.edu/~bennet/cs422

Three hours of lecture per week. An introduction to the various data and control structures necessary for the design and implementation of modern computer operating systems. Process creation and control, interprocess communication, synchronization and concurrency, memory management, and file systems concepts are explored in the context of the Unix operating system. A working knowledge of the C programming language is assumed.

Prerequisites: CSc 220, CSc 314.

Computer hardware can perform no function without software, and the foundational piece of software in any computer system is the operating system. All other software depends on services provided by the OS, and cannot function without these services. Students who will write application programs of any sophistication must understand what an OS does, how it works and how a program communicates with it. Furthermore, many interesting problems have been solved by the designers of operating systems as these have evolved over the last fifty years. A study of operating systems gives students an important window into this problem-solving history.

Instruction in this course is through lecture and class discussion, problems solved on paper, and programming problems solved in the computer lab.

After completing this course with a passing grade, students will be able to discuss operating systems from the viewpoint of an operating systems designer. Students will be conversant in the major theoretical topics relating to operating system design and implementation as described in the course description above. Students will know the principles of communication between an application program and an operating system.


This class is a mixed undergraduate/graduate section. For graduate students, an additional 100-point graduate project is required. For both classes, grades are assigned based on the percentage of points earned.
Points Undergrad Graduate (+100 pts)
Activity Points
Projects 260
Regular exams (3 @ 100) 300
Comprehensive Final Exam 200

Points Percent Grade
684 - 760 90%- 100% A
608 - 683 80%- 89% B
532 - 607 70%- 79% C
456 - 531 60%- 69% D
0 - 455 0%- 59% F
Points Percent Grade
774 - 860 90%- 100% A
688 - 773 80%- 89% B
602 - 687 70%- 79% C
516 - 601 60%- 69% D
0 - 515 0%- 59% F
The graduate report may be a library research paper, or present the results of the student's own work. The topic must be approved by the instructor. A research paper must be at least 4 pages single-spaced, using reasonable fonts and margins. It must have at least 8 references. A programming project should be accompanied by a short paper (one page is usually sufficient) describing what it does and how to run it.

The semester point total may vary due to unforeseen circumstances. Any variance will be small. Final grades will be based on these same percentages of the actual total.

Expect the regular exams around the ends of September, October and November. The final exam will be on Tuesday, December 12 at 12:00 noon. The last day to drop this course is Friday, Oct. 27, 2017.

Projects should be handed in on time, and late projects are charged 10 points for each day late. However, each student has five free late days which may be spent on any programming project in any combination. Free late days are not transferable, and expire at start of the final exam.


Mississippi College class attendance policies as described on pp. 46 and 47 of the college catalog will be enforced. Absences may be excused for illness or other appropriate cause. Exams missed due to circumstances beyond the student's control may be made up at a mutually agreeable time and place. Adequate documentation of the cause of an absence may be required.

Academic Honesty

Mississippi College regulations regarding the integrity of academic work, policy 2.19 will be enforced. The computer science group has established the following addendum:

In a computer science class individual effort is expected. Student misconduct not only includes cheating on tests, but also extends to copying or collaborating on programming assignments, projects, lab work or research unless otherwise specified by the instructor. Using other people's accounts to do your work or having others do your work is prohibited. Close proximity in lab does not mean collaboration is permitted. NOTE: Discussing logical solutions to problems is acceptable, exchange of code, pseudocode, designs, or procuring solutions from the Web, other texts, the Internet or other resources on or off campus is not acceptable.

First offense: grade of 0 for all parties involved unless the guilty party can be determined. Second offense: grade of F in the course.