|Text:||Modern Operating Systems, 4th ed., by Tanenbaum & Bos|
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.
|Regular exams (3 @ 100)||300|
|Comprehensive Final Exam||200|
|Graduate (+100 pts)|
The semester point total may vary due to unforeseen circumstances. Any variance should be small. Final grades will be based on these same percentages of the actual total. The final exam will be at noon on Wednesday, November 18.
The last day to drop this course is Friday, October 9, 2020.
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.
The college is taking a number of precautions due to the Coronavirus 19 outbreak. You must comply with the various MC policies, including masking and staying off campus if you are not healthy. Lectures will be recorded and posted online for students unable to attend. Classes will use assigned to seating to insure distancing and aid contact tracing if needed.
Because of the need to sit separately, the classroom cannot accommodate the entire class at once. The class will be divided into multiple groups who will attend lecture on different days. You will be assigned to a group and instructed which days you should attend.
I like you all fine, but don't just drop by my office. If you need help, call or send email. Perhaps I can answer you the same way, or we can teleconference, or arrange something else. I am happy to talk to you, it's just complicated these days.
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.
Mississippi College regulations regarding the integrity of academic work 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.