CS 350 - Operating Systems
Fall 2011 Course Outline
University of Waterloo :
Faculty of Mathematics :
School of Computer Science
Lectures
Online Discussion Forum
- We will be using a system for class-related discussions called Piazza.
- The Piazza link for this course is: http://piazza.com/class#fall2011/cs350
- You will need to get addded as a student to this course in Piazza before being able to access the above link.
Students who are enrolled in the course when classes start will receive an e-mail inviting them to Piazza.
If you do not receive this e-mail, or if you enroll after classes start, you can add yourself as a student to the course
using your Waterloo e-mail.
Course Personnel and Office Hours
- Office hours will be held in the MC 2061 lab.
- Watch Piazza for changes to office hours.
Name |
Email |
Office Hours |
Ashraf Aboulnaga (Instructor) |
ashraf@cs.uwaterloo.ca (Include CS350 in subject line) |
Tue 2:00-3:00 |
Borzoo Bonakdarpour (Instructor) |
borzoo@cs.uwaterloo.ca (Include CS350 in subject line) |
Thu 3:00-4:00 |
James Summers (Instructional Apprentice) |
cs350@student.cs.uwaterloo.ca |
Wed 3:00-4:00 |
Grading Scheme
First, component marks will be determined as follows:
Component | Description
|
---|
A0, A1, A2, A3 | Your grades on assignments 0-3, expressed as percentages
|
M | Your midterm exam grade, expressed as a percentage
|
F | Your final exam grade, expressed as a percentage
|
Then, we will apply the following algorithm to determine your final course grade:
Normal = (0.02*A0 + 0.08*A1 + 0.125*A2 + 0.125*A3) + 0.20*M + 0.45*F
Exam = (0.20*M + 0.45*F ) / 0.65
if ( Exam < 50% ) {
Course Grade = min (Normal, Exam)
} else {
Course Grade = Normal
}
Note in particular that you must pass the exams in order to
pass the course.
Instructional Support Coordinator
Name | Office Location | Contact |
Fenglian Qiu | DC 3109 | f2qiu@uwaterloo.ca, x32753 |
Course Description
An introduction to the fundamentals of operating system function, design, and implementation. Topics include concurrency, synchronization, processes, threads, scheduling, memory management, file systems, device management, and security.
Course Objectives:
Provides an introduction to operating systems: what they do, how they are used, and how they are implemented.
Course Overview:
- Operating System Introduction (2 hours)
The roles of an operating system. Historical overview of operating system development. Operating system architectures.
- Multi-Programming (5 hours)
Processes and threads, system calls, context switching. Managing processor time. Types of scheduling, scheduling algorithm.
- Concurrency (6 hours)
Principles of concurrency. Mutual exclusion and semaphores. Deadlock detection and prevention.
- Memory Management (8 hours)
Simple memory management techniques: partitioning, dynamic loading, simple segmentation. Virtual addressing and address translation. Virtual memory management: segmentation, paging, caching strategies. Load control, swapping, and thrashing.
- Device Management (3 hours)
Physical structure and properties of devices, device control and interaction, blocking, buffering, disk scheduling, DMA.
- File Systems (5 hours)
File naming, types and logical organization. Space allocation and management. File system interfaces. Implementation strategies. Case studies.
- Interprocess Communication (5 hours)
Terminology and issues, message passing functionality, pipes, sockets, signals, shared memory, and other communication mechanisms.
Required text:
Operating System Concepts, 8th Edition (Updated). Silberschatz, Galvin, and Gagne. John Wiley and Sons, 2012 (6th, 7th, and 8th editions are also acceptable).
Required Course Notes:
You are required to either buy or print the course notes and to bring them
with you to class. Class attendance is required.
Assignments
All the assignments should be submitted electronically. Submission instructions are found in the assignment specifications.
Marked assignments can be picked up during the IA's office hours, during
the first two weeks after they have been marked. After two weeks they
can be picked up from the instructor's office until the end of the term. Unclaimed assignments will be shredded at the end of the term.
Assignment marking reappraisal requests:
If there is a problem with the marking your assignment, you may request
that your assignment be reappraised. To do this:
- Print and fill out a reappraisal form,
on which you should describe (briefly) what the problem is.
- Drop your form off with the course instructor after lecture
or during office hours.
For each assignment there will be a deadline for reappraisal requests.
Slip Days Policies
Each assignment has a due date and a due time, which will be posted
on the course web page.
For some assignments we will use a system of "slip days" to give you
some flexibility with the assignment deadlines. Each
person starts the term with
five slip days, which can be
used to push back assignment deadlines. Slip days
work as follows:
- Pushing an assignment deadline back by one day (24 hours) costs each person
in a group one of their slip days. If one or more group members don't have enough slip days
left, then the group can't slip.
- An assignment deadline can be pushed back at most 3 days.
- Partial slip days are not allowed, e.g., it is not possible to use part
of a slip day to push a deadline back by 6 hours.
- Slip days are not transferable from one student to another.
Assignments that are submitted late (with no slip days to cover them) will not be accepted
and will
receive a mark of 0%.
Group Policies
The following policies pertain to CS350 groups:
- After a group is formed, only one break-up is allowed during the term.
- After a break-up, new groups cannot be formed.
- After a break-up, each individual gets a copy of the original group's project work. This includes any source code and documentation.
- The one break-up that is allowed can only occur after the deadline of the current assignment
( within 1 week of the actual deadline of the assignment, without including any slip days ).
- All requests for break-ups should be in written form and should occur on the request for reappraisal form.
Academic Integrity
Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility.
[Check www.uwaterloo.ca/academicintegrity/ for more information.]
Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4, www.adm.uwaterloo.ca/infosec/Policies/policy70.htm. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.
Discipline: A student is expected to know what constitutes academic integrity [check www.uwaterloo.ca/academicintegrity/] to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about 'rules' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline, www.adm.uwaterloo.ca/infosec/Policies/policy71.htm. For typical penalties check Guidelines for the Assessment of Penalties, www.adm.uwaterloo.ca/infosec/guidelines/penaltyguidelines.htm.
Appeals: A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals) www.adm.uwaterloo.ca/infosec/Policies/policy72.htm.
Note for Students with Disabilities: The Office for persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginning of each academic term.