Course Syllabus
Spring 2016
This course provides a hands-on introduction to operating systems. Topics covered include processes and threads, CPU scheduling, memory management, I/O systems, distributed file systems, multiprocessor operating systems. Prerequisite: CS 300 with a grade of "C" or better. 4 hours.
Knowledge
Topics |
Learning Outcomes |
OS/Overview of Operating Systems | Explain the objectives and functions of
modern operating systems. |
OS/Operating Systems Principles | Describe how
computing resources are used by application software and managed by
system software. Contrast kernel and user mode in an operating system. |
OS/Concurrency | Explain the
different states that a task may pass through and the data
structures needed to support the management of many tasks. |
OS/Scheduling and Dispatch | Compare and contrast the common algorithms used for both
preemptive and non-preemptive scheduling of tasks in operating
systems, such as priority, performance comparison, and fair-share
schemes. Describe the difference between processes and threads. |
OS/Memory Management | Explain memory hierarchy and cost-performance trade-offs. Discuss the concept of thrashing, both in terms of the reasons it occurs and the techniques used to recognize and manage the problem. |
Purpose of the Operating System |
History of the Operating System |
|
Structure (monolithic/modular/micro kernel) |
Process/Threads |
Devices |
User vs System mode |
|
Scheduling/Dispatching/Context Switch |
Concurrency/Deadlock |
MultiProcess/MultiCore Systems |
Memory Management |
Grade Breakdown |
Percent Breakdown
|
||||||||||||||||||||||||||||||
|
The cheating policy is defined in Pacific Stuff & the Pacific Catalog as well as the Academic Policy that each of you signed upon entering Pacific University. Be sure you read or reread this policy carefully. All code written for our course is to be an original design and an original implementation. The Web, textbooks, and any other references are simply references for you. Copying source code from any source is prohibited.
Further, source code is not to exchange hands in any form or by any medium (this includes posting your code on public forums such as GitHub) except when sending your solutions to the instructor. It is OK to share high level ideas during the design phase, share information dealing with OS issues, debugger issues, in general, development issues that do not involve code writing.
Specific solutions to homework problems should not be discussed with any other students. The solutions should be an individual effort unless otherwise specified on the assignment. As with coding, high level concepts can be discussed. However, do not discuss specific homework problems or solutions.
If you have any question as to whether or not what you are about to do constitutes cheating, ask the instructor.
Assignments are to be submitted, electronically and as a hard copy, by 11:59pm on the day in which they are due (unless otherwise specified). Late assignments will not be accepted. Start your assignments early.
Grade Complaints: If you have a complaint regarding a grade on an assignment, exam, or homework, write a one paragraph description of why you feel the grade is incorrect and deliver it to the instructor. The paragraph must be delivered to the instructor within one calendar week of when the graded material is returned to the student.
Quizzes: A number of unannounced, open-notes quizzes will be given during the semester.
No early or late exams/finals will be given.
No incompletes will be given.
Neither computer failure, software failure, nor lack of computer access are accepted as excuses for late programs; therefore, start work on the programs as soon as they are assigned, don't put them off until the last minute. Further, corruption of programs due to bad disk media is also not accepted as an excuse for late programs; therefore, always keep a current backup of all programs on a separate disk. You must use revision control for this course; I recommend Subversion.
Participation: The instructor reserves the right to raise or lower a student's grade based on class participation and attendance. Students who have shown up for office hours with good questions will be looked upon favorably.
Class will be held the day before and the day after Spring Break.
I do not want to hear any electronic devices go off during lecture; therefore, make sure you silence these devices before lecture starts.
Class starts promptly at 4:45pm. Your attendance is expected at each class meeting. It is in your own best interest to attend class, as your grade will almost certainly suffer indirectly if you choose not to attend. In addition, I reserve the right to consider attendance in instances of borderline grade assignments. Of course, excused absences (sickness, family emergencies, varsity athletic participation) will not be held against you. Scheduled absences should be communicated to me well in advance. If you must miss a class, be sure to check with me or another student to get what you missed. Exams will be given in class on the day scheduled and may not be made up. The material in the course is, by necessity, cumulative. Be warned that if you fall behind, you will not be able to catch up easily.
LSS: If you have documented
challenges that will impede your learning in any way, please contact
our LSS office in Clark Hall (ext.2107). The Director or Assistant
Director will meet with students, review the documentation of their
disabilities, and discuss the services that Pacific offers and any
appropriate ADA accommodations for specific courses.
Operating System Concepts (8th Edition), Silberschatz, et al Errata!
Virtual Box: http://www.virtualbox.org/
Instructor Details |
|
Course Basics |
|
Professor |
Chadd Williams |
Course Title |
CS460 Operating Systems |
|
chadd@pacificu.edu |
Meeting Times |
MWF 4:45-5:50 |
Office |
Strain 202 |
Location |
Marsh LL15 |
Phone |
(503) 352-3041 |
Textbook |
Operating
System Concepts (8th Edition), |
Office Hours |
Tuesday 1-3 |
Website |
|
|
Thursday 1-3 |
Official Clock |
|
|
|
Final Exam |
Friday, May 13 3:00 PM to 5:30 PM |
|
and by appointment |
|
|
Midterm |
Mar 02 |
Midterm |
Apr 20 |
Final |
May 13 |