Operating Systems (Fall 2026) Course Outline: Difference between revisions

From Soma-notes
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''This course outline is in development.'''
==Course Information==
==Course Information==


Line 7: Line 5:
*'''Title:''' Operating Systems
*'''Title:''' Operating Systems
*'''Institution:''' Carleton University, School of Computer Science
*'''Institution:''' Carleton University, School of Computer Science
*'''Instructor:''' [https://people.scs.carleton.ca/~soma Anil Somayaji] (anil.somayaji at carleton.ca): by appointment in 5137 HP and online
*'''Instructor:''' [https://people.scs.carleton.ca/~soma Anil Somayaji] (he/him, anilsomayaji at cunet.carleton.ca): by appointment in 5137 HP and online
*'''Teaching Assistants:'''
*'''Teaching Assistants:'''
** TAs will be announced in the first class
** TAs will be announced in the first class
Line 21: Line 19:
** B3: Thu. 16:05-17:25
** B3: Thu. 16:05-17:25
*'''Course Website''': https://homeostasis.scs.carleton.ca/wiki/index.php/Operating_Systems_%28Fall_2026%29
*'''Course Website''': https://homeostasis.scs.carleton.ca/wiki/index.php/Operating_Systems_%28Fall_2026%29
For information about Carleton's academic year, including registration and withdrawal dates, see [https://calendar.carleton.ca/academicyear/ Carleton's The Academic Year].


==Course Calendar Description==
==Course Calendar Description==
Line 38: Line 38:
* understand the basic use and architecture of virtual machine-based cloud architectures.
* understand the basic use and architecture of virtual machine-based cloud architectures.


Note that in order to achieve these objectives students should have come into this course with a strong background in C programming and general application development.
Note that in order to achieve these objectives students should come into this course with a strong background in C programming and general application development.
 
==Topics==
 
Below is an approximate list of topics the course will cover. Because the concepts of operating systems are highly interconnected, many topics will be covered multiple times at increasing levels of detail. A more detailed list along with associated learning materials will be developed through the term on the [[Operating Systems (Fall 2026)|main course webpage]].
 
* Processes
* Computer architecture
* Filesystems
* Concurrency
* CPU Scheduling
* Virtual Memory
* Inter-Process Communication
* Networking
* High performance I/O
* Virtual Machines
* Containers
* Security
* Cloud Infrastructure


==Grading==
==Grading==
Line 44: Line 62:
The marking scheme for this course is:
The marking scheme for this course is:


4% for lecture participation
5% for lecture participation.
* 18% for tutorial participation
* 20% for tutorial participation.
* 18% for the assignments
* 20% for the assignments, if exam average is not too low (see below).
* 25% for the Midterm, Oct. 13th during class
* 20% for the Midterm Exam, Oct. 15th & 16th during class.
* 35% for the Final Exam (during the final exam period)
* 35% for the Final Exam (during the final exam period).
 
Note the following:
* The midterm and final exams are closed book: no notes, no collaboration, no online resources, no AI. Exams will be written in an exam book based on printed exams, except where accommodations require other forms.
* The lecture and tutorial participation are fundamentally graded on a credit/no credit basis. In other words, if you show up and try you should be able to get full credit. Depending upon class performance the requirements for what is required to get full credit may change over the course of the semester; however, the expectation is that everyone who tries should be able to get 100% of these marks.
* If your assignment average is more than 25% higher than your weighted exam average (midterm & final), assignment grades are dropped and the weight assigned to the exams. For example, if you get 100% on assignments but only 70% for the exams (weighted average), the assignments would no longer count towards your final grade. (Missed exams count as a zero for grade calculation purposes.)
* Late assignments are only accepted until solutions are posted, unless extenuating circumstances apply and have been discussed with the course instructor. You have to get your tutorial marked by a TA within 8 days of the tutorial being posted, again unless extenuating circumstances apply.


I also calculate grades using alternative marking schemes at the end of the semester, assigning the highest grade for each student from any of the marking schemes.  Thus your final grade may be higher than might be suggested by strict following of the above scheme.
I also calculate grades using alternative marking schemes at the end of the semester, assigning the highest grade for each student from any of the marking schemes.  Thus your final grade may be higher than might be suggested by strict following of the above scheme.


The midterm and final will not be proctored but I will conduct selected and randomized post-exam interviews.  See Collaboration, below.
==Communication, Lectures, and Assignments==


==Communication, Lectures, and Assignments==
[[Operating Systems (Fall 2026)|The course website page listed above]] is the canonical source of information on this course.  Please refer to it for updates.  When significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.


[[Operating Systems (Fall 2022)|The course website page listed above]] is the canonical source of information on this coursePlease refer to it for updatesWhen significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.
Online course announcements and discussions will be on [https://teams.microsoft.com Microsoft Teams].  While you may discuss assignments there, do not post outright answers to them (unless the solutions have been posted)You may discuss tutorials freely, as they are graded on a participation basis. Note that solutions are never posted for tutorials.


Course discussions will be on [https://teams.microsoft.com Microsoft Teams]. While you may discuss assignments there, do not post outright answers to them (unless the solutions have been posted).  You may discuss tutorials freely.
I am best contacted via Teams direct message. I will also respond to email, preferably to my CUNET address.  


Assignment and exam submissions will be through [https://brightspace.carleton.ca Brightspace].  Grades will also be posted there.
Assignment and exam submissions will be through [https://brightspace.carleton.ca Brightspace].  Grades will also be posted there.


All lectures will be conducted via Zoom. Lectures will be recorded and links posted to the course wiki. Lecture participation is based on interactions during lecture, such as questions asked and participation in online polls.  You do not need to participate in every lecture to get full marks for this; the grade is based on the quality and quantity of your interactions.  Note that grades will be calculated so that lecture participation can only improve your grade.
All lectures will be conducted in person except when announced otherwise, in which case they will take place over Zoom. Note that the Wednesday and Friday lectures will be repeat performances of the Tuesday and Thursday lectures, except for the first week of class when they are reversed.
 
Lecture recordings will be posted to the course webpage, generally within 48 hours of lecture. One or both of the lectures may be posted, depending on the week.
 
Lecture participation is based on interactions during lecture, such as questions asked and participation in online polls.  You do not need to participate in every lecture to get full marks for this; the grade is based on the quality and quantity of your interactions.  Note that grades will be calculated so that lecture participation can only improve your grade.


==Tutorials==
==Tutorials==
Line 68: Line 96:
Tutorials are graded based on participation and effort, not correctness.  They are marked out of four points.  The expectation is that if you make a reasonable attempt at all parts of the tutorial, you will get 4/4 points.  Thus for most students tutorials are an easy way to improve your overall grade.  However, if you don't do the tutorials, you can significantly harm your grade for the course.
Tutorials are graded based on participation and effort, not correctness.  They are marked out of four points.  The expectation is that if you make a reasonable attempt at all parts of the tutorial, you will get 4/4 points.  Thus for most students tutorials are an easy way to improve your overall grade.  However, if you don't do the tutorials, you can significantly harm your grade for the course.


To get credit for tutorials, you must demonstrate to your assigned TA that you have made a reasonable attempt at the questions.  This demonstration will typically be through a brief conversation where you show your TA your work, either in person or virtually.  If this is not feasible, at your TA's discretion you may submit written answers.
To get credit for tutorials, you must demonstrate to your assigned TA that you have made a reasonable attempt at the questions.  This demonstration will typically be through a brief conversation where you show your TA your work, either in person or virtually.  Normally this conversation should happen during your assigned tutorial time but may also take place during TA office hours. If this conversation is not feasible, at your TA's discretion you may submit written answers.


The scheduled tutorial time is a designated time when you can work with TAs and other students together, in person, on that week's tutorial.  TAs will generally also be available online during these times as well, so if you aren't on campus you can still get help and get credit.  The Teams tutorial channel is a forum for getting help with tutorials, potentially from other students.   
The scheduled tutorial time is a designated time when you can work with TAs and other students together, in person, on that week's tutorial.  TAs will generally also be available online during these times as well, so if you aren't on campus you can still get help and get credit.  You can only get credit for a tutorial within 8 days of the tutorial being made available. (Tutorials are posted generally on Sundays, so you have until the end of the following Monday to get credit.) Partial attempts may be given partial credit; however, you may improve your tutorial mark as long as it is still being acceptedExceptions will be made only if there are extenuating circumstances.


Plan to take a 2-5 hours each week to do the assigned tutorial. Tutorials, however, are accepted with no grade penalty up until the related assignment is due.  (For example, Tutorials 1 and 2 must be completed before Assignment 1 is submitted.)  Partial attempts will potentially be given partial credit; however, you may improve your tutorial mark as long as it is still being accepted.  Exceptions will be made only if there are extenuating circumstances.
Plan to take a 2-5 hours each week to do the assigned tutorial. The Teams tutorial channel is a forum for getting help with tutorials, potentially from other students. While you may collaborate with others and use outside resources (including AI), when asked you should indicate who helped you and and the sources you used.  When submitting written answers, collaborators and sources should be clearly listed.
 
While you may collaborate with others and use outside resources, when asked you should indicate who helped you and and the sources you used.  When submitting written answers, collaborators and sources should be clearly listed.


Your work should be your own.  Please don't represent the work of others as your own, because if you do, you are subject to being reported to the Dean for plagiarism.
Your work should be your own.  Please don't represent the work of others as your own, because if you do, you are subject to being reported to the Dean for plagiarism.
Line 82: Line 108:
Collaboration on all work is allowed except for the midterm and final. Collaboration, however, should be clearly acknowledged.  See below for further details.
Collaboration on all work is allowed except for the midterm and final. Collaboration, however, should be clearly acknowledged.  See below for further details.


The midterm and final exams will be open book, open note, open Internet, because they will not be actively proctored.  Those outside resources will not be of much use, however, if you have not prepared by completing the tutorials and assignments.  Your answers should be your own and you '''are not''' allowed to collaborate during the exams.
For assignments, while you may get help from others and even collaboratively solve technical problems, the code and answers submitted should all be your own work.  For example, you ''may not'' divide an assignment into parts, give a part to another student or anyone else to solve, and then submit that work as your own.  You have to have participated in the creation of every part of your submitted work.  An easy way to make sure this happens is never share files regarding coursework or copy and paste answers into email.  Instead, meet together to work on an assignment and then separate to write up your solutions.


Random and selected exams will be chosen for '''10-15 minute interviews'''.  You may also volunteer to be interviewed. These interviews are to verify grading quality and to make sure that the work is your own.  The Dean will be contacted if during an interview it becomes clear that a student is not the sole author of any exam.
AIs should be treated the same as human collaborators, in that you may use them, but the answers you submit should be your own work, whether it is code or text. Note that artificially boosting your assignment grades may not be helpful if there is too much of a discrepancy between them and your exam grades (see [[#Grading|Grading]] above).


For assignments, while you may get help from others and even collaboratively solve technical problems, the code and answers submitted should all be your own work.  For example, you ''may not'' divide an assignment into parts, give a part to another student or anyone else to solve, and then submit that work as your own.  You have to have participated in the creation of every part of your submitted work.  An easy way to make sure this happens is never share files regarding coursework or copy and paste answers into email.  Instead, meet together (virtually) to work on an assignment and then separate to write up your solutions.
Similarity between submitted assignments and projects that has not been appropriately documented will be treated as plagiarism - the same as copying on a midterm or a final - and will be submitted to the Dean for disciplinary action.


Similarity between submitted assignments and projects that has not been appropriately documented will be treated as plagiarism - the same as copying on a midterm or a final - and will be submitted to the Dean for disciplinary action.
All exams are expected to be completed individually, and without electronic aid; any communication or access of electronic devices (e.g. cellphones) during exams will be considered cheating. Use of Smart Glasses (or other similar assistive technologies) before or during a test is strictly prohibited and is considered an academic integrity violation. Even if you have prescription glasses with assistive technologies, you will not be allowed to use them during the test, so please make sure that you have acceptable prescription glasses. The proctor has the right to ask to inspect your glasses before or during the test. In addition, unless authorized with PMC accommodations, you are NOT allowed to use headphones nor ear buds during a test. Also, during a test, if you choose to wear a baseball cap, sunglasses or anything else that would prevent a proctor from monitoring where your eyes are focused during the test, you will likely be asked by a proctor to move to a different seat. Lastly, you must submit your exam before leaving the classroom or it won't be graded.


==Course Notes/Multimedia==
==Course Notes/Multimedia==


Video from lectures will be available via the [[Operating Systems (Fall 2022)|lecture pages on the main course website]] within a day after lectures are delivered.  These same pages will also contain code and notes given in class.
Video from lectures will be available via the [[Operating Systems (Fall 2026)|lecture pages on the main course website]] generally within two days after lectures are delivered.  These same pages will also contain code and notes given in class.


Do not rely upon the lectures and notes to cover all material related to this class.  Mastery of the tutorial material is essential for doing well on the assignments and exams.  Textbook and other outside readings should be used as supplements to help you understand concepts covered in lecture and tutorial.
Do not rely upon the lectures and notes to cover all material related to this class.  Mastery of the tutorial material is essential for doing well on the assignments and exams.  Textbook and other outside readings should be used as supplements to help you understand concepts covered in lecture and tutorial.
Line 98: Line 124:
==Required Textbooks==
==Required Textbooks==


The course will be using the textbook [http://pages.cs.wisc.edu/~remzi/OSTEP/ Operating Systems: Three Easy Pieces]. The chapters of this textbook are available for free online; you can also buy a full epub, PDF, or paper copy if you wish.
The course will be using the textbook [https://www.wiley.com/en-us/operating-system-concepts-10th-edition-p-9781119320913 Operating System Concepts, 10th Edition by Silberschatz, Galvin, & Gagne]. You should plan to read the assigned sections BEFORE class, at least briefly, so you are familiar with the context of the lecture; then, read the sections in more detail after lecture.


Individual chapters will be linked with the lectures associated with them.  You should plan on reading the assigned chapters '''before''' coming to class, as the material in lectures will be easier to understand then. The lectures are designed to supplement the textbook, not replace them.
You may also wish to consult the free online textbook [http://pages.cs.wisc.edu/~remzi/OSTEP/ Operating Systems: Three Easy Pieces]. I used this textbook in previous runs of this class.


This course focuses much more on reading code rather than writing code.  Thus, John Aycock's book, [http://pages.cpsc.ucalgary.ca/~aycock/reading-and-modifying-code.pdf Reading and Modifying Code], is worth reading to better understand how reading code differs from writing code.
This course focuses much more on reading code rather than writing code.  Thus, John Aycock's book, [http://pages.cpsc.ucalgary.ca/~aycock/reading-and-modifying-code.pdf Reading and Modifying Code], is worth reading to better understand how reading code differs from writing code.
Line 110: Line 136:
==Undergraduate Academic Advisor==
==Undergraduate Academic Advisor==


The Undergraduate Advisor for the School of Computer Science is available in Room 5302C HP; or by email at scs.ug.advisor@cunet.carleton.ca. The undergraduate advisors can assist with information about prerequisites and preclusions, course substitutions/equivalencies, understanding your academic audit and the remaining requirements for graduation. The undergraduate advisors will also refer students to appropriate resources such as the Science Student Success Centre, Learning Support Services and Writing Tutorial Services.
The Undergraduate Advisors for the School of Computer Science are available in Room 5302HP; or by email at (scs.ug.advisor at cunet.carleton.ca). The undergraduate advisors can assist with information about prerequisites and preclusions, course substitutions/equivalencies, understanding your academic audit and the remaining requirements for graduation. The undergraduate advisors will also refer students to appropriate resources such as the Science Student Success Centre, Learning Support Services and Writing Tutorial Services.


==SCS Computer Laboratory==
==SCS Computer Laboratory==


SCS students can access one of the designated labs for your course. The lab schedule can be found at: https://carleton.ca/scs/tech-support/computer-laboratories/. All SCS computer lab and technical support information can be found at: https://carleton.ca/scs/technical-support/. Technical support is available in room HP5161 Monday to Friday from 9:00 until 17:00 or by emailing SCS.Tech.Support@cunet.carleton.ca.  
Students taking a COMP course can access the SCS computer labs. The lab schedule and location can be found at: https://carleton.ca/scs/tech-support/computer-laboratories/. All SCS computer lab and technical support information can be found at: https://carleton.ca/scs/tech-support/. Technical support staff may be contacted in-person or virtually, see this page for details: https://carleton.ca/scs/tech-support/contact-it-support/.


==University Policies & Resources==
==Extenuating Circumstances==


For information about Carleton's academic year, including registration and withdrawal dates, see [https://calendar.carleton.ca/academicyear/ Carleton's The Academic Year].
While I expect you to take this course seriously, I do not expect it to be the most important thing in your life. Physical and mental health issues, family responsibilities, natural and personal disasters, and other factors may come up over the semester. I want you to succeed in this course, and to that end I will do what I reasonably can to help you succeed. If your request can be accommodated with not unreasonable effort by me or the TAs, and the accommodation is one that is reasonable to give to anyone in your circumstances, I will do what I can.


===Pregnancy, Religious, or other Obligation===
Having said this, the main thing I have to give is extra time, but there is only so much time in a semester. Sometimes you'll need to get extra time by trying again in another semester, and that is okay. Having said that, I will always respect you enough to not pressure you to make a specific choice; you must decide what is best for your circumstances.


For pregnancy, religious, or other equity-related obligations please contact your instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details, visit [https://carleton.ca/womensstudies/resources-and-links/equity-services/ Equity Services] and [https://carleton.ca/equity/focus/discrimination-harassment/religious-spiritual-observances/ Religious/Spiritual Observances].
Remember that sometimes we all need help. [https://wellness.carleton.ca/ The Carleton Wellness Website] is a good resource if you aren't sure what to do next.


===Academic Accommodations for Students with Disabilities===
==Academic Accommodations and Regulations==


Academic Accommodations for Students with Disabilities If you have a documented disability requiring academic accommodations in this course, please contact the Paul Menton Centre for Students with Disabilities (PMC) at 613-520-6608 or pmc@carleton.ca for a formal evaluation or contact your PMC coordinator to send your instructor your Letter of Accommodation at the beginning of the term. You must also contact the PMC no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with your instructor as soon as possible to ensure accommodation arrangements are made. For more details, visit the [http://carleton.ca/pmc Paul Menton Centre website].
===Academic Accommodation===


===Survivors of Sexual Violence===
Carleton is committed to providing academic accessibility for all individuals. You may need special arrangements to meet your academic obligations during the term. The accommodation request processes are outlined on the Academic Accommodations website (https://students.carleton.ca/course-outline/).


As a community, Carleton University is committed to maintaining a positive learning, working and living environment where sexual violence will not be tolerated, and is survivors are supported through academic accommodations as per Carleton's Sexual Violence Policy. For more information about the services available at the university and to obtain information about sexual violence and/or support, visit [https://carleton.ca/sexual-violence-support Sexual Assault Support Services].
===Generative AI Usage===


===Accommodation for Student Activities===
As our understanding of the uses of AI and its relationship to student work and academic Integrity continue to evolve, students are required to discuss their use of AI in any circumstance not described here with the course instructor to ensure it supports the learning goals for the course.
 
   
Accommodation for Student Activities. Carleton University recognizes the substantial benefits, both to the individual student and for the university, that result from a student participating in activities beyond the classroom experience. Reasonable accommodation must be provided to students who compete or perform at the national or international level. Please contact your instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details, see [https://carleton.ca/senate/wp-content/uploads/Accommodation-for-Student-Activities-1.pdf the policy].
===Academic Integrity===
 
===Student Academic Integrity Policy===
 
Student Academic Integrity Policy. Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Examples of punishable offences include: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found [https://carleton.ca/registrar/academic-integrity/ here].
 
====Plagiarism====
 
As defined by Senate, "plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one's own". Such reported offences will be reviewed by the office of the Dean of Science. Standard pentaly guidelines can be found [https://science.carleton.ca/academic-integrity/ here].
 
====Unauthorized Co-operation or Collaboration====
 
Senate policy states that "to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis".


Please see above for the specific collaboration policy for this course.
Students are expected to uphold the values of academic integrity, which include fairness, honesty, trust, and responsibility. Examples of actions that compromise these values include but are not limited to plagiarism, accessing unauthorized sites for assignments or tests, unauthorized collaboration on assignments or exams, and using artificial intelligence tools such as ChatGPT when your assessment instructions say it is not permitted.


===Special Information===
Misconduct in scholarly activity will not be tolerated and will result in consequences as outlined in [https://carleton.ca/secretariat/wp-content/uploads/Academic-Integrity-Policy-2021.pdf Carleton University’s Academic Integrity Policy]. A list of standard sanctions in the Faculty of Science can be found [https://science.carleton.ca/academic-integrity/ here].


It is important to remember that COVID is still present in Ottawa.  The situation can change at any time and the risks of new variants and outbreaks are very real. There are number of actions you can take to lower your risk and the risk you pose to those around you including being vaccinated, wearing a mask, staying home when you’re sick, washing your hands and maintaining proper respiratory and cough etiquette.
Additional details about this process can be found on the [https://science.carleton.ca/academic-integrity/ Faculty of Science Academic Integrity website].
 
'''Feeling sick?''' Remaining vigilant and not attending work or school when sick or with symptoms is critically important.  If you feel ill or exhibit COVID-19 symptoms do not come to class or campus.  If you feel ill or exhibit symptoms while on campus or in class, please leave campus immediately.  In all situations, you must follow Carleton’s symptom reporting protocols.
'''Masks:''' Carleton has paused the COVID-19 Mask policy, but continues to strongly recommend masking when indoors, particularly if physical distancing cannot be maintained.  It may become necessary to quickly reinstate the mask requirement if pandemic circumstances were to change.


'''Vaccines:''' While proof of vaccination is no longer required as of May 1 to attend campus or in-person activity, it may become necessary for the University to bring back proof of vaccination requirements on short notice if the situation and public health advice changes.  Students are strongly encouraged to get a full course of vaccination, including booster doses as soon as they are eligible, and submit their booster dose information in cuScreen as soon as possible. Please note that Carleton cannot guarantee that it will be able to offer virtual or hybrid learning options for those who are unable to attend the campus.
Students are expected to familiarize themselves with and abide by [https://carleton.ca/secretariat/wp-content/uploads/Academic-Integrity-Policy-2021.pdf Carleton University’s Academic Integrity Policy]. Claiming ignorance of or confusion about the academic integrity standards as described in the Policy does not excuse a student from responsibility for violations of those standards.


All members of the Carleton community are required to follow requirements and guidelines regarding health and safety which may change from time to time.  For the most recent information about Carleton’s COVID-19 website and review the Frequently Asked Questions (FAQs).  Should you have additional questions after reviewing, please contact covidinfo@carleton.ca.
===Student Rights & Responsibilities===


'''Doctor’s note or medical certificate:''' in effect for Fall 2022 term. In place of a doctor’s note or medical certificate, students are advised to complete the self-declaration form available on the Registrar’s Office website to request academic accommodation for missed course work including exams and assignments. Students should also discuss with the course instructor the required accommodations arising from the COVID-19 situation.
Students are expected to act responsibly and engage respectfully with other students and members of the Carleton and the broader community. See the [https://carleton.ca/studentaffairs/student-rights-and-responsibilities/#sect1.1 7 Rights and Responsibilities Policy] for details regarding the expectations of non-academic behaviour of students. Those who participate with another student in the commission of an infraction of this Policy will also be held liable for their actions.

Latest revision as of 02:01, 25 August 2026

Course Information

  • Course Number: COMP 3000
  • Term: Fall 2026
  • Title: Operating Systems
  • Institution: Carleton University, School of Computer Science
  • Instructor: Anil Somayaji (he/him, anilsomayaji at cunet.carleton.ca): by appointment in 5137 HP and online
  • Teaching Assistants:
    • TAs will be announced in the first class
  • Lectures:
    • A: Tue. & Thu. 14:35-15:55
    • B: Wed. & Fri. 8:35-9:55
  • Tutorials:
    • A1: Wed. 13:05-14:25
    • A2: Wed. 19:35-20:55
    • A3: Mon. 16:05-17:25
    • B1: Mon. 14:35-15:55
    • B2: Tue. 18:05-19:25
    • B3: Thu. 16:05-17:25
  • Course Website: https://homeostasis.scs.carleton.ca/wiki/index.php/Operating_Systems_%28Fall_2026%29

For information about Carleton's academic year, including registration and withdrawal dates, see Carleton's The Academic Year.

Course Calendar Description

Operating system implementation course stressing fundamental issues in design and how they relate to modern computer architectures. Assignments involve the modification and extension of a multitasking operating system.

Includes: Experiential Learning Activity

Precludes additional credit for SYSC 4001.
Prerequisites: COMP 2401 with a minimum grade of C- and COMP 2402.

Learning Outcomes

By the end of this course, students should:

  • be able to write C code that uses low-level Linux services and should be able to implement simple Linux kernel extensions (modules),
  • have a strong conceptual model of how an operating system works that allows them to determine the relative role of application and operating system code when debugging software, and
  • understand the basic use and architecture of virtual machine-based cloud architectures.

Note that in order to achieve these objectives students should come into this course with a strong background in C programming and general application development.

Topics

Below is an approximate list of topics the course will cover. Because the concepts of operating systems are highly interconnected, many topics will be covered multiple times at increasing levels of detail. A more detailed list along with associated learning materials will be developed through the term on the main course webpage.

  • Processes
  • Computer architecture
  • Filesystems
  • Concurrency
  • CPU Scheduling
  • Virtual Memory
  • Inter-Process Communication
  • Networking
  • High performance I/O
  • Virtual Machines
  • Containers
  • Security
  • Cloud Infrastructure

Grading

The marking scheme for this course is:

  • 5% for lecture participation.
  • 20% for tutorial participation.
  • 20% for the assignments, if exam average is not too low (see below).
  • 20% for the Midterm Exam, Oct. 15th & 16th during class.
  • 35% for the Final Exam (during the final exam period).

Note the following:

  • The midterm and final exams are closed book: no notes, no collaboration, no online resources, no AI. Exams will be written in an exam book based on printed exams, except where accommodations require other forms.
  • The lecture and tutorial participation are fundamentally graded on a credit/no credit basis. In other words, if you show up and try you should be able to get full credit. Depending upon class performance the requirements for what is required to get full credit may change over the course of the semester; however, the expectation is that everyone who tries should be able to get 100% of these marks.
  • If your assignment average is more than 25% higher than your weighted exam average (midterm & final), assignment grades are dropped and the weight assigned to the exams. For example, if you get 100% on assignments but only 70% for the exams (weighted average), the assignments would no longer count towards your final grade. (Missed exams count as a zero for grade calculation purposes.)
  • Late assignments are only accepted until solutions are posted, unless extenuating circumstances apply and have been discussed with the course instructor. You have to get your tutorial marked by a TA within 8 days of the tutorial being posted, again unless extenuating circumstances apply.

I also calculate grades using alternative marking schemes at the end of the semester, assigning the highest grade for each student from any of the marking schemes. Thus your final grade may be higher than might be suggested by strict following of the above scheme.

Communication, Lectures, and Assignments

The course website page listed above is the canonical source of information on this course. Please refer to it for updates. When significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.

Online course announcements and discussions will be on Microsoft Teams. While you may discuss assignments there, do not post outright answers to them (unless the solutions have been posted). You may discuss tutorials freely, as they are graded on a participation basis. Note that solutions are never posted for tutorials.

I am best contacted via Teams direct message. I will also respond to email, preferably to my CUNET address.

Assignment and exam submissions will be through Brightspace. Grades will also be posted there.

All lectures will be conducted in person except when announced otherwise, in which case they will take place over Zoom. Note that the Wednesday and Friday lectures will be repeat performances of the Tuesday and Thursday lectures, except for the first week of class when they are reversed.

Lecture recordings will be posted to the course webpage, generally within 48 hours of lecture. One or both of the lectures may be posted, depending on the week.

Lecture participation is based on interactions during lecture, such as questions asked and participation in online polls. You do not need to participate in every lecture to get full marks for this; the grade is based on the quality and quantity of your interactions. Note that grades will be calculated so that lecture participation can only improve your grade.

Tutorials

Tutorials are graded based on participation and effort, not correctness. They are marked out of four points. The expectation is that if you make a reasonable attempt at all parts of the tutorial, you will get 4/4 points. Thus for most students tutorials are an easy way to improve your overall grade. However, if you don't do the tutorials, you can significantly harm your grade for the course.

To get credit for tutorials, you must demonstrate to your assigned TA that you have made a reasonable attempt at the questions. This demonstration will typically be through a brief conversation where you show your TA your work, either in person or virtually. Normally this conversation should happen during your assigned tutorial time but may also take place during TA office hours. If this conversation is not feasible, at your TA's discretion you may submit written answers.

The scheduled tutorial time is a designated time when you can work with TAs and other students together, in person, on that week's tutorial. TAs will generally also be available online during these times as well, so if you aren't on campus you can still get help and get credit. You can only get credit for a tutorial within 8 days of the tutorial being made available. (Tutorials are posted generally on Sundays, so you have until the end of the following Monday to get credit.) Partial attempts may be given partial credit; however, you may improve your tutorial mark as long as it is still being accepted. Exceptions will be made only if there are extenuating circumstances.

Plan to take a 2-5 hours each week to do the assigned tutorial. The Teams tutorial channel is a forum for getting help with tutorials, potentially from other students. While you may collaborate with others and use outside resources (including AI), when asked you should indicate who helped you and and the sources you used. When submitting written answers, collaborators and sources should be clearly listed.

Your work should be your own. Please don't represent the work of others as your own, because if you do, you are subject to being reported to the Dean for plagiarism.

Collaboration

Collaboration on all work is allowed except for the midterm and final. Collaboration, however, should be clearly acknowledged. See below for further details.

For assignments, while you may get help from others and even collaboratively solve technical problems, the code and answers submitted should all be your own work. For example, you may not divide an assignment into parts, give a part to another student or anyone else to solve, and then submit that work as your own. You have to have participated in the creation of every part of your submitted work. An easy way to make sure this happens is never share files regarding coursework or copy and paste answers into email. Instead, meet together to work on an assignment and then separate to write up your solutions.

AIs should be treated the same as human collaborators, in that you may use them, but the answers you submit should be your own work, whether it is code or text. Note that artificially boosting your assignment grades may not be helpful if there is too much of a discrepancy between them and your exam grades (see Grading above).

Similarity between submitted assignments and projects that has not been appropriately documented will be treated as plagiarism - the same as copying on a midterm or a final - and will be submitted to the Dean for disciplinary action.

All exams are expected to be completed individually, and without electronic aid; any communication or access of electronic devices (e.g. cellphones) during exams will be considered cheating. Use of Smart Glasses (or other similar assistive technologies) before or during a test is strictly prohibited and is considered an academic integrity violation. Even if you have prescription glasses with assistive technologies, you will not be allowed to use them during the test, so please make sure that you have acceptable prescription glasses. The proctor has the right to ask to inspect your glasses before or during the test. In addition, unless authorized with PMC accommodations, you are NOT allowed to use headphones nor ear buds during a test. Also, during a test, if you choose to wear a baseball cap, sunglasses or anything else that would prevent a proctor from monitoring where your eyes are focused during the test, you will likely be asked by a proctor to move to a different seat. Lastly, you must submit your exam before leaving the classroom or it won't be graded.

Course Notes/Multimedia

Video from lectures will be available via the lecture pages on the main course website generally within two days after lectures are delivered. These same pages will also contain code and notes given in class.

Do not rely upon the lectures and notes to cover all material related to this class. Mastery of the tutorial material is essential for doing well on the assignments and exams. Textbook and other outside readings should be used as supplements to help you understand concepts covered in lecture and tutorial.

Required Textbooks

The course will be using the textbook Operating System Concepts, 10th Edition by Silberschatz, Galvin, & Gagne. You should plan to read the assigned sections BEFORE class, at least briefly, so you are familiar with the context of the lecture; then, read the sections in more detail after lecture.

You may also wish to consult the free online textbook Operating Systems: Three Easy Pieces. I used this textbook in previous runs of this class.

This course focuses much more on reading code rather than writing code. Thus, John Aycock's book, Reading and Modifying Code, is worth reading to better understand how reading code differs from writing code.

Course Software

In this course we will be working with the Ubuntu Linux distribution. You may use other Linux distributions in the tutorials to complete the assigned work; there will be differences, however, in some aspects (such as installing software), particularly if you use a distribution not based on Ubuntu or Debian.

Undergraduate Academic Advisor

The Undergraduate Advisors for the School of Computer Science are available in Room 5302HP; or by email at (scs.ug.advisor at cunet.carleton.ca). The undergraduate advisors can assist with information about prerequisites and preclusions, course substitutions/equivalencies, understanding your academic audit and the remaining requirements for graduation. The undergraduate advisors will also refer students to appropriate resources such as the Science Student Success Centre, Learning Support Services and Writing Tutorial Services.

SCS Computer Laboratory

Students taking a COMP course can access the SCS computer labs. The lab schedule and location can be found at: https://carleton.ca/scs/tech-support/computer-laboratories/. All SCS computer lab and technical support information can be found at: https://carleton.ca/scs/tech-support/. Technical support staff may be contacted in-person or virtually, see this page for details: https://carleton.ca/scs/tech-support/contact-it-support/.

Extenuating Circumstances

While I expect you to take this course seriously, I do not expect it to be the most important thing in your life. Physical and mental health issues, family responsibilities, natural and personal disasters, and other factors may come up over the semester. I want you to succeed in this course, and to that end I will do what I reasonably can to help you succeed. If your request can be accommodated with not unreasonable effort by me or the TAs, and the accommodation is one that is reasonable to give to anyone in your circumstances, I will do what I can.

Having said this, the main thing I have to give is extra time, but there is only so much time in a semester. Sometimes you'll need to get extra time by trying again in another semester, and that is okay. Having said that, I will always respect you enough to not pressure you to make a specific choice; you must decide what is best for your circumstances.

Remember that sometimes we all need help. The Carleton Wellness Website is a good resource if you aren't sure what to do next.

Academic Accommodations and Regulations

Academic Accommodation

Carleton is committed to providing academic accessibility for all individuals. You may need special arrangements to meet your academic obligations during the term. The accommodation request processes are outlined on the Academic Accommodations website (https://students.carleton.ca/course-outline/).

Generative AI Usage

As our understanding of the uses of AI and its relationship to student work and academic Integrity continue to evolve, students are required to discuss their use of AI in any circumstance not described here with the course instructor to ensure it supports the learning goals for the course.

Academic Integrity

Students are expected to uphold the values of academic integrity, which include fairness, honesty, trust, and responsibility. Examples of actions that compromise these values include but are not limited to plagiarism, accessing unauthorized sites for assignments or tests, unauthorized collaboration on assignments or exams, and using artificial intelligence tools such as ChatGPT when your assessment instructions say it is not permitted.

Misconduct in scholarly activity will not be tolerated and will result in consequences as outlined in Carleton University’s Academic Integrity Policy. A list of standard sanctions in the Faculty of Science can be found here.

Additional details about this process can be found on the Faculty of Science Academic Integrity website.

Students are expected to familiarize themselves with and abide by Carleton University’s Academic Integrity Policy. Claiming ignorance of or confusion about the academic integrity standards as described in the Policy does not excuse a student from responsibility for violations of those standards.

Student Rights & Responsibilities

Students are expected to act responsibly and engage respectfully with other students and members of the Carleton and the broader community. See the 7 Rights and Responsibilities Policy for details regarding the expectations of non-academic behaviour of students. Those who participate with another student in the commission of an infraction of this Policy will also be held liable for their actions.