CS 350 - Operating Systems
Fall 2013 Course Outline
Web Page for Current Term :
University of Waterloo :
Faculty of Mathematics :
School of Computer Science
Lectures
YOU MUST ATTEND THE LECTURE YOU ARE ENROLLED IN.
PLEASE NOTE THAT THE 8:30 LECTURE IS SECTION 001,
THE 2:30 LECTURE IS SECTION 003 AND THE 4:00 LECTURE IS SECTION 002.
STUDENTS NOT ATTENDING THE SECTION THEY ARE ENROLLED WILL BE ASKED TO LEAVE THE CLASSROOM!
Online Discussion Forum (Piazza)
- We will be using a system for class-related discussions
and announcements called Piazza.
- The Piazza link for this course is:
https://piazza.com/uwaterloo.ca/fall2013/cs350/home
- You will need to get added as a student to this course in
Piazza before being able to access the above link.
I believe that students who are enrolled in the course when classes
start may 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.
- You will be expected to follow the course related
postings and messages on Piazza.
- One of the first things you may want to do after
logging into Piazza is to adjust
your account settings. For example, do you want
email from Piazza about every post
(in the first term Piazza was used there were 1350 posting).
- Please post questions and comments about the course
and assignments there.
- Do not post code or partial solutions to assignments.
- If you wish you can post questions that are private to the course staff
and you can also post questions and comments that are anonymous
to the rest of the class and/or to the course staff
(i.e., the rest of the class doesn't see them).
- There are also Piazza apps available for iOS and Android.
Course Personnel and Office Hours
- Watch Piazza for locations and times of office hours.
Name |
Email |
Office Hours |
Tim Brecht (Instructor) |
brecht@cs.uwaterloo.ca
(Include CS350 in subject line)
Please use Piazza for general questions and comments.
It is possible to post messages that are private for the course staff.
|
Mon 10:30-11:30 [DC 3508] |
Ken Salem (Instructor) |
kmsalem@uwaterloo.ca
(Include CS350 in subject line)
Please use Piazza for general questions and comments.
It is possible to post messages that are private for the course staff.
|
Tue 1:00-2:30 [DC 3512] |
Tyler Szepesi (Instructional Apprentice) |
Please communicate through the Piazza web site or office hours.
It is possible to post messages that are private for the course staff.
|
Fri 11:00-12:00 [DC 3549] |
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 |
Olga Zorin | DC 3119 | ozorin@uwaterloo.ca, x33005 |
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,
Silberschatz, Galvin, and Gagne. John Wiley and Sons,
9th or 8th Edition are most likely available.
(6th and 7th 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 and to take notes during class.
The course notes are not intended to be stand alone.
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.
Additional restrictions/clarifications
involving academic honesty for this course:
In completing assignments this term, you may not use code you wrote
when taking CS 350 in a previous term, unless you obtain the intstructors
permission to do so.
This is especially a problem because of working in groups,
which makes identifying the authorship of code difficult.
If you do
wish to reuse code you wrote when previously registered in CS 350,
you must contact the instructor and obtain approval at
the beginning of the term.
FAILING TO
OBTAIN SUCH ADVANCED APPROVAL MAY RESULT IN ACADEMIC-DISCIPLINE
PENALTIES.
Avoiding Academic Offenses: Most students are unaware of the line
between acceptable and unacceptable academic behaviour, especially
when discussing assignments with classmates and using the work of
other students. For information on commonly misunderstood academic
offenses and how to avoid them, students should refer to the Faculty
of Mathematics Cheating and Student Academic Discipline Policy,
http://www.math.uwaterloo.ca/navigation/Current/cheating_policy.shtml
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.
Last updated:
Sun Sep 8 14:09:42 EDT 2013