Aims and Objectives:
This course focuses on resource management by operating systems. Topics include processes and threads, CPU scheduling, memory management, I/O systems, distributed file systems, multiprocessor operating systems, and case studies.
Topics:
- Role and purpose of the operating system
- History of operating system development
- Functionality of a typical operating system
- Mechanisms to support client-server models, hand-held devices
- Design issues (efficiency, robustness, flexibility, portability, security, compatibility)
- Influences of security, networking, multimedia, windows
- Structuring methods (monolithic, layered, modular, micro-kernel models)
- Abstractions, processes, and resources
- Concepts of application program interfaces (APIs)
- Application needs and the evolution of hardware/software techniques
- Device organization
- Interrupts: methods and implementations
- Concept of user/system state and protection, transition to kernel mode
- States and state diagrams
- Structures (ready list, process control blocks, and so forth)
- Dispatching and context switching
- The role of interrupts
- Concurrent execution: advantages and disadvantages
- The "mutual exclusion" problem and some solutions
- Deadlock: causes, conditions, prevention
- Models and mechanisms (semaphores, monitors, condition variables, rendezvous)
- Producer-consumer problems and synchronization
- Multiprocessor issues (spin-locks, reentrancy)
- Preemptive and nonpreemptive scheduling
- Schedulers and policies
- Processes and threads
- Deadlines and real-time issues
- Review of physical memory and memory management hardware
- Overlays, swapping, and partitions
- Paging and segmentation
- Placement and replacement policies
- Working sets and thrashing
- Caching
- Files: data, metadata, operations, organization, buffering, sequential, nonsequential
- Directories: contents and structure
- File systems: partitioning, mount/unmount, virtual file systems
- Standard implementation techniques
- Memory-mapped files
- Special-purpose file systems
- Naming, searching, access, backups
The above topics and learning objectives were copied with permission from the Computing Curricula 2001 recommendations found at: http://www.sigcse.org/cc2001/.
Instructor Details:
Professor: |
Douglas J. Ryan |
Email: |
ryandj@pacificu.edu |
Office: |
Strain 201 |
Phone: |
(503) 352-2135 |
Office Hours: |
MW 11:00-12:00
T 2:30-4:00
or by appt |
Course Details:
Course Title: |
CS460 Operating Systems |
Prerequisite: |
CS 300 with a grade of C or better. |
Meeting Times: |
TTh 1:00pm - 2:15pm |
Location: |
Marsh 207 |
Textbooks
|
Operating System Concepts by Silberschatz Wiley
0-471-69466-5
None
|
Course Website:
Prerequisite For: |
http://zeus.cs.pacificu.edu/ryand/cs460/2006/cs460s06.html
None |
Course Assessment:
Grade Distribution:
Homework / Programs / Projects |
40% |
2 Exams |
30% |
Presentation |
10% |
Final |
20% |
Program Grading:
Successful execution and coding structure |
70% |
Strict adherence to C coding standards |
20% |
Efficiency of code |
10% |
Percent Breakdown:
|
|
92-100% |
A |
90-92% |
A- |
88-90% |
B+ |
82-88% |
B |
80-82% |
B- |
78-80% |
C+ |
72-78% |
C |
70-72% |
C- |
68-70% |
D+ |
60-68% |
D |
|
|
|
|
0-60% |
F |
|
|
Important Dates:
Tentative dates for Exams:
Exam 1: |
Tuesday, March 7, 2006 |
Week 6 |
Exam 2: |
Thursday, April 13, 2006 |
Week 10 |
No Classes on Senior Projects Day (April 19, 2006)
Date of Final:
Monday, May 15, 3:00pm – 5:30pm (Marsh 207)
Policies:
-
Attendance at every class is critical to your success in this course. I expect you to be on time and ready to go once it's 1:00pm and that you stay until the end of class. Any missed lecture is your responsibility to make up; just remember, if you fall behind, it will be very difficult to catch up.
- Programs are to be submitted by 1:00pm on the day in which the assignment is due.
-
Program solutions can be turned in up to 24 hours late with a penalty of 10% of the grade. If the program solution is between 24 and 48 hours late you will lose 20% of your grade. Anything later will NOT be accepted.
- There is no late grace period for any other assigned work in this course that is not a program. Written homework and presentations are examples that fall into the no late grace category.
- Make sure to test your program before you turn it in. You may turn in your program only once. A request to grade a program other than the first program submitted will result in a 10% penalty regardless of whether both programs are turned in on time or not.
- A program that does not successfully compile or produces no output loses 70% of the assignment grade.
-
No early or late exams/finals will be given.
-
No incompletes will be given.
-
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 this 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 unless described in a particular assignment and applies only to that single assignment. Further, source code is not to exchange hands between any students in this course in any form or by any medium. It is OK to share high level ideas during the design phase, help someone in the class fix a bug occasionally, share information dealing with OS issues, debugger issues, in general, development issues that do not involve code writing.
- It is NOT acceptable to turn in someone else's program. This would be a violation of policy 9.
-
All code in any form generated from this course becomes the intellectual property of Pacific University. You may not share this code with anyone without obtaining written permission from Pacific University.
-
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, and 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. Please note that the Computer Science departmental servers are not backed up.
-
The instructor reserves the right to raise or lower a student's grade based on class participation and attendance. Specifically, participation can raise or lower your final grade by 1/3 of a grade. Further, your final grade may be lowered by 1/3 of a grade for each day (or portion thereof) of class missed. Please notify me PRIOR to class if you must miss class for any reason. Just sending an email prior to missing class does not guarantee you will be cleared to miss. Only legitimate reasons will be accepted as excuses for missing class.
-
Any important issue pertaining to class such as the need to miss an exam or grade issues will not be discussed via email. I will not even reply to your email if the issue is important; therefore, do not assume that no response means everything is OK.
-
If you are unhappy with something related to the class, then schedule an appointment to see me so that we can discuss it in my office. Complaining in class or out of class to other students gets us nowhere.
-
You may be asked to leave the classroom if you are causing a distraction e.g. cell phone ringing, talking, etc
Important Dates:
http://www.pacificu.edu/calendar/academic/index.cfm