COMP350 Operating Systems

Instructor: Dr. John F. Santore
Phone: 508-531-2226
Office: Conant 330

Instructor Web Page:
Course Web Page:

Office Hours:

Mon 10:00-11:00am
Wed: 5-5:50pm
Thurs: 2-3pm
Fri: 10-11am
or by appointment


I also will take appointments if you cannot make my other office hours, however, I generally have meetings and work prepared for a day or two ahead so plan on about 48 hours from the time I get your request to us being able to meet.

Course Description:

This is BSUs operating systems course. It is one of the most useful, challenging and rewarding courses in any computer science program. We will study such vital and basic computer science concepts as scheduling, resource management, memory management, paging, disk management, the policy vs implementation distinction, deadlock resolution and more. The course will have both hands on projects and  significant theoretical material.


After taking this course the student should be able to:


Modern Operating Systems (4th edition) by Andrew S. Tanenbaum and Herbert Bos

Class Requirements and grading:

In this class, your grade will be based on your performance in three areas, exams, programming projects (labs) and your day to day in class performance. The weights on each of these areas will be assigned as follows:

Labs: 45%

Exams: 45%

Class(homework/quizzes/participation): 10%



There will be 3 or 4 projects in this course. Each project is to be completed individually unless otherwise specified in the assignment. The instructor may also set up interviews for all students as part of the grading of some of the projects. You must get a passing grade in the project portion of the class in order to pass this class. Labs are to be turned in on time. Late labs will be penalized 50% for each day that they are late (i.e if you turn it in the day after it is due, your best possible score is 50%, a second day late will receive 25% credit for a perfect lab. It is therefore almost always best to submit whatever you have on time.


There will be two exams, a midterm and a final exam. The midterm be worth 20% of your final grade. The final will be work 25% of your final grade. Exams will be given on at their assigned times. If you have a legitimate reason for missing an exam, see your instructor before the scheduled exam time to arrange for reasonable accommodation. If you miss the exam without prior approval, you will forfeit the exam. (emergency room visits and the like excepted of course)

The midterm exam is scheduled for Wednesday Oct 22nd Thursday Oct  23rd. It will only move in the case of some unexpected disruptions of classes. (like last semester when we lost several days of class to weather)

The final exam will be scheduled by the college.

Students with special needs:

Anyone who has special needs should contact me in the first week of classes so that reasonable accommodations can be agreed on.

Academic Integrity:

See for a complete description of the academic integrity procedure at Bridgewater.

Academic integrity will be taken very seriously in this class. All individual work must be your own. If you cheat or otherwise represent the work of others as your own. You will receive an F for the course.

Guidelines for proper academic integrity:

Discussing problems with your classmates can help you understand the problems and kinds of solutions to those problems that you will learn about in this class. In an effort to make in clear what sort of discussions are appropriate and encouraged in this class and which cross the line to academic dishonesty I use the following guidelines: You may discuss any out of class problem I assign in this class with your classmates or other so long as no one is using any sort of recording implement including, but not limited to, computers, tablets, pens, pencils, phones etc. This lets you talk about theoretical solutions without sharing the actual implementations. As soon as anyone in the group is typing, writing etc, all conversations must stop. You may look at someone else's program code only very briefly in order to spot a simple syntax error. As a rule of thumb, if you find yourself looking at someone else's code for more than about 30-45 seconds it is probably time to stop. If you are having trouble with your program, come to the instructors office hours for more help.

All in class exams and quizzes are closed book and closed neighbor. If you are found using a data storage device of any kind during one of these evaluations, you will be failed for the course.

Standards for in class behavior:

You are all adults and are expected to act as adults in this class. While questions are encouraged in this class, if a particular line of questioning is taking us too far afield, I will ask the student to come by my office hours or to see me after class.

Cell phones, pagers, electronic organizers and other devises should be silenced while in class. If you work of EMS or something similar, please turn your cell phones/ pagers etc to vibrate mode so that you are not disrupting others in the class.

In the unlikely case of trouble makers in the class, those who are simply attempting to disrupt the class will be asked to stop; those who will not, will be referred to the college for appropriate action.

Tentative Schedule

Week 1
Introduction to class
Week 2
Intro to operating systems and concepts
Week 3
processes and threads
Week 4
inter-process communication and scheduling
Week 5
Week 6
memory management: virtual memory
Week 7 midterm exam.
Week 8 memory management: swapping and paging
Week 9
Input output (possibly two weeks)
Week 10
File systems
Week 11
file systems
Week 12
Multiprocessor systems
Week 13
Multiprocessor systems
Week 14
Week 15
review for final