CS 460: Operating Systems

Course Syllabus
Spring 2016

Introduction

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.


ACM Knowledge Topics 
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.


Topics

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

Midterm 1

15%

Midterm 2

15%

Final Exam

15%

Homework/Quizzes/Labs

15%

Programming Projects

40%

 

 

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

 

 


 

Academic Dishonesty

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.

Course Policies

Resources

Operating System Concepts (8th Edition), Silberschatz, et al       Errata!

Virtual Box: http://www.virtualbox.org/

Linux Programming Guides

Instructor Details

 

Course Basics

 

Professor

Chadd Williams

Course Title

CS460 Operating Systems

Email

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),
Silberschatz, et al Silberschatz, Galvin, Gagne
ISBN 978-0-470-12872-5

Office Hours

Tuesday 1-3

Website

http://zeus.cs.pacificu.edu/chadd/cs460s16

 

Thursday 1-3

Official Clock

http://time.gov/timezone.cgi?Pacific/d/-8/java

 


Final Exam

Friday, May 13 3:00 PM to 5:30 PM

 

and by appointment

 

 

Planned Exam Dates

Midterm

Mar 02    

Midterm

Apr 20   

Final

May 13