Uploaded by David Ukeje

20219 CSC369H5F LEC9101 syllabus

advertisement
DEPARTMENT OF MATHEMATICAL AND COMPUTATIONAL SCIENCES
UNIVERSITY OF TORONTO MISSISSAUGA
CSC369H5F LEC9101
Operating Systems
Course Outline - Fall 2021
Class Location & Time
Instructor
Office Location
Office Hours
E-mail Address
Course Web Site
Tue, 11:00 AM - 01:00 PM
Bogdan Simion
Virtual
Mondays and Thursdays 1-3pm
bogdan@cs.toronto.edu
Quercus page + https://mcs.utm.utoronto.ca/~369
Course Description
Principles of operating systems. The operating system as a control program and as a resource allocator. Core topics: processes and
threads, concurrency (synchronization, mutual exclusion, deadlock), processor, scheduling, memory management, file systems, and
protection.
Prerequisite: CSC258H5 and CSC209H5
Exclusion: CSC369H1 or CSCC69H3 (SCI)
Distribution Requirement: SCI
Students who lack a pre/co-requisite can be removed at any time unless they have received an explicit waiver from the department.
The waiver form can be downloaded from here.
Detailed Course Description
Welcome to CSC369H5: Operating Systems. The course covers principles of operating systems with a focus on systems
programming in C. In this course, you will gain:
- Experience working with systems code written in C.
- Theoretical knowledge of and practical experience with:
* Processes and Threads (address spaces, system calls, scheduling, etc.)
* Synchronization (mechanisms and structures like locks, semaphores, condition variables, monitors, etc.)
* Virtual Memory (paging, page tables, address translation, eviction mechanisms, etc.)
* File Systems (the file abstraction, directory structures, index-based file systems, disk I/O, recoverability and reliability, etc.)
This material is "core" CS. Past students have indicated that the assignments in this course provided them with examples for
interviews and that OS concepts featured prominently in interview problems.
CSC369 is structured around a series of programming assignments covering key topics: system calls, synchronization, virtual
memory, and file systems.
The "lectures" provide a historical and theoretical context for the assignments. However, they are not traditional lectures; while
some material will be presented, some class time will also be spent in small group activities.
The lab time will be used to reinforce the theoretical content through exercise, but will frequently be used to help you work on
components of the assignments. I and your classmates will expect you to be an active participant; to do so, you must keep up with
the readings.
You must begin the assignments promptly. There is solid evidence that starting early on assignments is correlated with success in
the course, and higher than average grades. None of the assignments can be completed if you start at less than 3-4 days before
the deadline.
CSC369H5F - Simion, Bogdan
2021-08-29 16:56:17
Page 1 of 5
Learning Outcomes
By the end of this course, students should be able to:
operate with the concepts taught and be able to explain the operation of each major OS aspect or component taught
(processes, system calls, synchronization, scheduling, virtual memory, and file systems)
explain the behaviour of various OS subsystems (concurrency, scheduling, virtual memory translation, file system
organization and recovery, etc.)
recognize a design trade-off in an OS component and argument the benefits and downsides
operate with OS concepts in new situations, reason about alternative solutions and analyze tradeoffs
operate with scheduling algorithms in specific scenarios
perform virtual memory address translations and use page replacement algorithms
implement system-level code to assess process interactions and system calls
implement code using correct and efficient synchronization
implement code to simulate virtual memory operation
implement code to display information about a file system and manipulate file system structures in a correct and efficient
manner
implement code that demonstrates a solid and practical command of all other theoretical concepts
operate with aspects of efficiency, performance, reliability, and security in the context of various OS components
Textbooks and Other Materials
Required (free online book):
1. Operating Systems: Three Easy Pieces, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
Optional (for further reading):
2. Modern Operating Systems, by Andrew Tanenbaum (optional)
Assessment and Deadlines
Type
Description
Due Date
Weight
Assignment
A1 - System calls
2021-10-06
9%
Assignment
A2 - Synchronization
2021-10-20
11%
Assignment
A3 - Paged Memory Management
2021-11-13
12%
Assignment
A4 - File Systems
2021-12-05
13%
Quiz
Quiz1 - Processes, threads, system calls
2021-09-26
4%
Quiz
Quiz2 - Synchronization and Scheduling
2021-10-24
6%
Lab
Lab exercises
On-going
12%
Other
Lecture exercises
On-going
5%
Final Exam
Comprehensive. Must obtain >= 40% to pass the course.
TBA
28%
Total
100%
More Details for Assessment and Deadlines
Lab Exercises 12%: For each lab, you will be asked to turn in a small piece of work or to work on an activity during the
lab, usually in a group of 2 or 3. All of the labs are geared towards the course learning objectives and many of the labs will
be directly related to the assignments.
Lab3 is worth 4% as it will be a 2-hour lab, held on September 30, 4-6pm (PRA9101 and PRA9102 are both
expected to attend this session for the whole 2 hours, just on this date), and October 1, 4-6pm (PRA9103 and
PRA9104 are both expected to attend this session for the whole 2 hours, just on this date).
The remaining 10 labs are worth 1% each, for a total of 8%, as we will take the best 8 out of 10 scores to give you a chance
to get full marks if you happen to miss a lab or two. However, you are encouraged to still do any lab you miss and come to
office hours if you need help catching up.
No grace periods may be used for the lab exercises.
CSC369H5F - Simion, Bogdan
2021-08-29 16:56:17
Page 2 of 5
In-Class Exercises 5%: There will be in-class exercises almost each week, predominantly in the first half of the term.
These will be graded on participation. As with lab exercises, we will take the best 10 out of 12 scores (for a 0.5% each) in
case you miss a couple of exercises. Please be aware though that we might have multiple exercises in some of the lectures .
We strongly encourage you to do these exercises in class, to get a clearer understanding of the material, and welcome
questions during these activities.
Assignments 45%: Over the term, you will complete 4 assignments. For all four assignments, you may work individually
or in pairs of two. To submit your assignment, check your work into your repository. Both partners MUST understand
ALL parts of the assignments. We may schedule and conduct interviews for some or all assignments, after the due date,
to determine if both partners have a good understanding of the entire assignment. Those who do NOT, will receive a ZERO
on it.
Quizzes (10%): The quizzes are a means to test the learning objectives which complement the labs and assignments. While
labs and assignments are highly practical and you have to apply the concepts taught, the quizzes test the conceptual
understanding and ability to reason with the course concepts. There will be 2 quizzes, covering the first parts of the course,
each much lighter than a midterm. These small quizzes are intended as low-stakes check-ins to make sure you're on track
with your command of the concepts taught in the course.
Each quiz will be administered via a Quercus quiz and must be done individually. The quizzes are worth 4% and 6%,
respectively, where your highest quiz mark will get 6% and your lowest mark will get 4%.
Final Exam (28%): The final exam is comprehensive, 3 hours, and held during the exam period.You must obtain a 40%
to pass the course; otherwise, your final mark will be set no higher than 47%.
Bonus (2%): As part of lab in week3 on September 30 / October 1, you will be asked to fill out a survey at the start,
middle, and end of the 2-hour lab. A bonus of 2% will be given for filling out all surveys. This survey is not part of the
grade, but this bonus can make up for marks lost on other deliverables or tests. Filling the surveys is important for our study
on how students learn, which means you would be helping improve the experience of others in future courses.
Penalties for Lateness
Late Work: All assignments are submitted electronically and are due at 10 p.m. sharp on the due date. Each student is granted ten
2-hour grace tokens for the entire semester, to be used on any of the assignments as you see fit. Submitting an assignment up to 2
hours late uses one token. Once your tokens have been used late assignments will not be accepted, except in extremely special
circumstances. Grace days may not be used for exercises. Additionally, if you partner for assignments, for each extra 2 hours, a
grace token will be deducted from both partners (which means that in effect, you can use up to at most the minimum number of
grace tokens between the team members). This is such that those who prefer to work individually are not at a disadvantage. Please
note that 10:00:01 p.m. will be considered late, and ensure that your work is not submitted at the very last second. Because you will
be using version control, it is very easy to commit regularly to avoid running into the deadline.
Religious Holidays: If a religious holiday will keep you from completing any assigned work, please let the instructor know as soon
as possible (but no later than two weeks before the due date), and we will work out a mutually agreeable accommodation.
Procedures and Rules
Missed Term Work
If you are unable to complete an assignment or if you miss a test due to major illness or other circumstances completely outside of
your control, please contact your instructor immediately. It is always easier to make alternate arrangements before a due date, so
please inform me as soon
as you know that you will need accommodation.
Exact accommodations will be determined on a case-by-case basis and will not be given automatically. In other words, you risk
getting a mark of zero for missed work unless you contact your instructor promptly.
Missed quizzes:
For any missed quizzes, either an online interview as a make-up quiz will be scheduled with the instructor or in rare
circumstances, the weight may be shifted to the final exam, if suitable. If you miss more than 1 quiz though, you must schedule
oral interviews with the instructor over Zoom or MS Teams. All interviews will be recorded for grading purposes and as evidence
of your answers on the respective interview questions.
Missed Final Exam
Students who cannot complete their final examination due to illness or other serious causes must file an online petition within 72
hours of the missed examination. Late petitions will NOT be considered. Students must also record their absence on ACORN on
CSC369H5F - Simion, Bogdan
2021-08-29 16:56:17
Page 3 of 5
the day of the missed exam or by the day after at the latest. Upon approval of a deferred exam request, a non-refundable fee of $70
is required for each examination approved.
Academic Integrity
Honesty and fairness are fundamental to the University of Toronto’s mission. Plagiarism is a form of academic fraud and is treated
very seriously. The work that you submit must be your own and cannot contain anyone elses work or ideas without proper
attribution. You are expected to read the handout How not to plagiarize (http://www.writing.utoronto.ca/advice/using-sources/hownot-to-plagiarize) and to be familiar with the Code of behaviour on academic matters, which is linked from the UTM calendar under
the link Codes and policies.
All of the work you submit must be done by you (and your partner, where applicable) and your work must not be submitted by
someone else. Plagiarism is academic fraud and is taken very seriously. The department uses software that compares programs for
evidence of similar code. Please read the Rules and Regulations from the U of T Code of Behaviour on Academic Matters.
Here are a few guidelines to help you avoid plagiarism:
Never look at another student's or group's assignment solution or idea for a solution, whether it is on paper or on the
computer screen, and don't allow your solution to be viewed by or come into the possession of another student. Maintain
absolute control of your work - including notes and partial solutions - at all times.
We encourage you to discuss course concepts and to study for exams with other students, but any work that is submitted
should be your own. The easiest way to avoid plagiarism is to only discuss submitted work with the TA or instructor.
Similarly, Google (and Wikipedia) may help you with course material, but do not use the internet to look for solutions to
the assignment problems.
Plagiarized assignments may result in a 0 in the course, plus one or several terms academic suspension!
Important: Never look for assignment solutions online. Places like public Github repositories may contain code that may
be applicable in solving parts of your assignments. Using someone else's code and ideas, even if making some changes, is
considered plagiarism. Keep in mind that our plagiarism detection software will definitely detect such cases.
Important: You must discuss the assignment with your partner, not just to understand the content, but also to avoid
the unfortunate situation where your partner might be committing plagiarism. If you suspect that your partner does
not understand their own code, it may be a sign that your partner has plagiarized the code from other sources. Keep in mind
that you are responsible for all the work submitted and plagiarism cases will be prosecuted for both assignment partners, so
you must be vigilant and involved in all parts of the assignment.
For quizzes and the final exam, students will have to sign an Honour Pledge declaration at the end of each test, which conforms
to the Academic Integrity Unit guidelines. This is an additional reminder for students to abide by the academic code of conduct.
Final Exam Information
Duration:
Aids Permitted:
3 hours
Open book (Textbook) - All course materials allowed
Additional Information
Online Requirements: This course will be held exclusively online. Youmust register for a UofT Zoom account here:
https://utoronto.zoom.us. You will need to upgrade your Zoom to the latest version available for your operating system!
Lectures and labs will be held synchronously at the assigned times in the timetable, so you must be present during those
timeslots. This means that you need to have a stable internet connection, a microphone and a webcam. While the webcam is
entirely optional during lectures and labs, it may be required for interviews (see Missed Term Work instructions, and Assignment
policy on the possibility of conducting interviews). Please refer to the recommended technology requirements on the Office of the
Provost's website.
Website and Discussion Board: The course website contains lecture notes, assignment handouts, lab handouts, etc., as well as a
link to a discussion board. The discussion board can get you fast, accurate response to your questions - but it only works if everyone
participates! The discussion board is recommended daily reading, in order to encourage a fruitful discussion forum. If you are not
comfortable with using the discussion board for whatever reason, we can make alternate arrangements for you to at least view the
discussions. Please have a look over the the course website, and come talk to me if you would like to discuss this matter further.
Email: Please use email for personal issues and the discussion board for all other course-related questions.You must include in the
email subject the course code and use your utoronto email address to guarantee your email does not end up filtered. I try to
respond to email within 48 hours, by the end of the next day. However, due to volume, it may take longer, especially on weekends.
Anonymous Feedback: If you have feedback about the course, the web page includes a link to an anonymous email form. (You
also have the option of including your name, if you wish.) Since the sender is completely anonymous, I will not be able to respond
to you unless you include your email. However, if an issue raised anonymously is of general interest to the entire class, I will
CSC369H5F - Simion, Bogdan
2021-08-29 16:56:17
Page 4 of 5
consider addressing it at the beginning of class or on the discussion board.
Minimum Standards for Submitted Work: For your assignment to be graded, it must meet the minimum standards of a
professional computer scientist. All files required to build the program must be submitted, and the program must compile cleanly,
without errors or warnings on the lab machines. Last minute difficulties with version control can easily be avoided by ensuring all
files are added to the repository well before the deadline, and that you know how to commit and push them. Compiling and testing
your work on the teaching lab machines at intermediate stages will avoid last minute problems as well. Submissions that are
missing files or do not compile will receive a grade of 0.
Re-mark Requests: If you consider that a piece of work has been mis-marked, you may request a re-mark. For a re-mark to
succeed, you must clearly and concisely express what you believe was mis-marked. To request a re-mark, use the form for the
respective assignment on MarkUs. Requests must be submitted within 1 week of the marks being returned. An exception is the last
assignment when you will need to submit remark requests within 3 days of getting back the results, to allow timely remarks before
the end of term. Be prepared for your entire work to be reevaluated. Remarking may increase the original grade, leave it as is, or
potentially decrease the original grade.
Accessibility Needs: Students with diverse learning styles and needs are welcome in this course. In particular, if you have a
disability/health consideration that may require accommodations, please feel free to approach me and/or Accessibility Services as
soon as possible.
Accessibility staff (located in Room 2037, Davis Building) are available by appointment to assess specific needs, provide referrals
and arrange appropriate accommodations. Please call 905-569-4699 or email access.utm@utoronto.ca. The sooner you let us know
your needs the quicker we can assist you in achieving your learning goals in this course.
Last Date to drop course from Academic Record and GPA is November 10, 2021.
CSC369H5F - Simion, Bogdan
2021-08-29 16:56:17
Page 5 of 5
Download