TORONTO METROPOLITAN UNIVERSITY

Course Outline (W2024)

COE628: Operating Systems

Instructor(s)Dr. Rasha Kashef [Coordinator]
Office: ENG329
Phone: (416) 979-5000 x 556484
Email: rkashef@torontomu.ca
Office Hours: Virtual By Appointment
Calendar DescriptionTopics include: Operating systems basic concepts. Hardware and software features required for operating systems. Process management; scheduling, inter-process communication and synchronization, process starvation, deadlocks. Memory management, virtual memory, and file systems. The major lab project will involve developing operating system modules. (Formerly COE 518).
PrerequisitesCEN 199 and COE 318 and COE 428
Antirequisites

None

Corerequisites

None

Compulsory Text(s):
  1. Operating Systems: Internals and Design Principles, William Stallings, Prentice Hall, 9th Edition 2017 (Primary text)
  2. Modern Operating Systems, Andrew S. Tanenbaum, Prentice Hall, 5th Edition 2016
Reference Text(s):
Learning Objectives (Indicators)  

At the end of this course, the successful student will be able to:

  1. Uses technical knowledge, design methodology, and appropriate design tools and related resources. Produces a design strategy and uses it to guide a design. Understand the features and differences between various operating systems (including Microsoft OSes, UNIX (and POSIX) based OSes and mobile and cloud-based OSes. Understand the pitfalls and solutions involved in concurrent computing. (4a)
  2. Understand and use the features of memory management and virtual memory. Integrates generated ideas into design plan, generates ideas creatively. (4b)

NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).

Course Organization

3.0 hours of lecture per week for 13 weeks
2.0 hours of lab per week for 12 weeks
0.0 hours of tutorial per week for 12 weeks

Teaching AssistantsTBA
Course Evaluation
Theory
Midterm Exam 30 %
Weekly Quizzes 10 %
Final Exam 35 %
Laboratory
Lab Deliverables 25 %
TOTAL:100 %

Note: In order for a student to pass a course, a minimum overall course mark of 50% must be obtained. In addition, for courses that have both "Theory and Laboratory" components, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section above for details on the Theory and Laboratory components (if applicable).


Examinations
 1) There will be 10 weekly virtual in-class quizzes  (No Quiz in Week 1, reading week, nor in the week of the midterm exam)
 
 2) Midterm exam is in Week 8 (Exact date will be posted on D2L), the exam is closed book Virtual Online exam (covers weeks 1-7). The midterm exam is an in-class Online Exam through D2L.
 
 3) The Final exam will be scheduled during exam period, Virtual Exam, two hours, closed-book (covers weeks 1-13).
Other Evaluation InformationIMPORTANT: Students must achieve passing grades in both the theoretical and the laboratory components of the course in order to pass the course. That means the student must pass 50% of the theory components and 50% of the Lab components
 
 All the Labs have to be done individually. Labs will be weekly and will start from Week 2. Labs are In-person (Attendance is Mandatory)
 
 Lab due dates will be announced on D2L.  Late lab assignments will not be accepted and will receive a mark of 0.
 
 Two week labs carry double weight than one week labs.
Teaching MethodsLectures will be virtual Online through Zoom. Lectures will be delivered as a mix of synchronous and asynchronous delivery. Labs are In-Person (Attendance is Mandatory). You will receive a zero mark if you are not attending your lab in-person (unless accommodation is provided and approved)
Other InformationNone

Course Content

Week

Hours

Chapters /
Section

Topic, description

1

2

Introduction to computing systems and operating systems.
 (Chapters 1 and 2)


1-2

2

Process Description and Control.
 (Chapter 3)


2-3

2

Processes threads and microkernels.
 (Chapter 4)


3-4

6

Mutual exclusion and synchronization
 (Chapter 5)


4-6

6

Deadlock and Starvation
 (Chapter 6)


6-8

6

Virtual memory and memory management
 (Chapters 7 and 8)


8-10

6

Scheduling algorithms
 (Chapter 9)


10-13

6

I/O Management Disk scheduling and File Management
 (Chapter 11)


Laboratory(L)/Tutorials(T)/Activity(A) Schedule

Week

L/T/A

Description

2

-

Lab 1: Review C Programming

3

-

Lab 2: Shell Programming

4

-

Lab 3: Process Management

5

-

Lab 4: Inter Process Communication

7

-

Lab 5: Threads

8

-

Lab 6: Synchronization

9

-

Lab 7: Multi-threading (Monitors)

10

-

Lab 8: Producer Consumer Topics

12

-

Lab 9: Dining Philosophers

University Policies & Important Information

Students are reminded that they are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the Senate website

Refer to the Departmental FAQ page for furhter information on common questions.

Important Resources Available at Toronto Metropolitan University

Accessibility

Academic Accommodation Support

Academic Accommodation Support (AAS) is the university's disability services office. AAS works directly with incoming and returning students looking for help with their academic accommodations. AAS works with any student who requires academic accommodation regardless of program or course load.

Academic Accommodations (for students with disabilities) and Academic Consideration (for students faced with extenuating circumstances that can include short-term health issues) are governed by two different university policies. Learn more about Academic Accommodations versus Academic Consideration and how to access each.

Wellbeing Support

At Toronto Metropolitan University, we recognize that things can come up throughout the term that may interfere with a student’s ability to succeed in their coursework. These circumstances are outside of one’s control and can have a serious impact on physical and mental well-being. Seeking help can be a challenge, especially in those times of crisis.

If you are experiencing a mental health crisis, please call 911 and go to the nearest hospital emergency room. You can also access these outside resources at anytime:

If non-crisis support is needed, you can access these campus resources:

We encourage all Toronto Metropolitan University community members to access available resources to ensure support is reachable. You can find more resources available through the Toronto Metropolitan University Mental Health and Wellbeing website.