EEE335 Principles of Operating Systems

Course Description

General Information

This document is a contract between EEE335 students and the instructor (Dr. Vincent Roberge). You must read it and understand it. We will discuss the important points during the first lesson.

I will post this document and all other course information on this web page roberge.segfaults.net. The course pages are password protected. The username and password will be given to you during the first lesson.

Objectives

The main objectives of the course are to provide students with an overview of the basic concepts of operating systems and to be able to understand them in a practical application.

The official course description, as published in the undergraduate calendar, is as follows:

“Operating systems act as virtual machines that manage a computer’s resources and facilitate interactions with the computer hardware. Specialized operating systems are found in personal devices, automobiles and aircraft. This course explores the internal workings of operating systems such as the Windows family, including modes of operation protected by hardware (kernel modes). Students completing this course will understand the design of operating systems used in modern computing systems, including the management of shared hardware and software resources. Students will implement operating systems concepts in programming laboratories. Topics include: the process; concurrent processes; inter-process communication; deadlock; scheduling; input/output; file systems; file servers; memory management; and virtual storage management.”

Course Textbooks

There are two textbooks for this course. Both are mandatory.

Course Plan

Material will be presented to you through ‘classroom’ lectures, textbook readings and labs. The course will cover many topics including the following:

  • Operating system calls
  • Processes and threads
  • Scheduling and deadlock
  • Memory management
  • Inputs/Outputs (I/O)
  • File systems

Most classroom sessions will be about general concepts. The labs will give you the chance to see how these concepts are implemented in a real operating system: Linux.

I will normally publish course presentations in advance. The goal is to reduce note taking to a minimum so that you can focus on understanding the material being taught. Note, however, that the documentation serves as a support for the teaching of the subject and does not replace the courses, so you will have to take your own notes to supplement those provided to you.

Labs and Assignments

There will be 6 labs during the semester. Lab 1 will be completed individually, subsequent labs will be in teams of two. You must submit your lab reports in pdf format before the start of the next lab. The course code must be included in the PDF and also attached as a source file.

There will be 3 assignments during the session. Assignments must be completed individually. The due date will be specified on the course schedule web page.

Work submitted late will receive a penalty of 25% per day. If an important reason does not allow you to submit a lab report or an assignment on time, it is important to discuss this with the professor before the due date in order to avoid a penalty.

Attendance

TAs indicated in the ELOF IE (CadWins), the presence in the classroom is mandatory for cadets. Civilian and graduate students are encouraged to attend classes and must be present for laboratories. If you are absent from the course for medical appointments or other appointments, please request and obtain permission from your instructor in advance.

Graduate Attributes

The RMC engineering programs are accredited by Engineers Canada. During their studies, graduates must demonstrate certain attributes that are measured by indicators. At the end of EEE335, students should be able to:

  • 103-1CO: Write computer program to solve engineering problems

Marking Scheme

The course marking scheme respects the policies of the Faculty of Engineering.

  • 15% Assignments
  • 20% Labs
  • 20% Mid-term exam
  • 45% Final exam

To pass the course, you must

  • submit all assignments and labs completed to an acceptable standard as judged by the professor
  • achieve an overall average of 50% in the course
  • achieve an overall average of 50% in the individual work that is invigilated (mid-term exam, final exam)

Final Exam

The final exam will include a theoretical part, but may also include a practical part. If you have not completed all of the labs, you will not be permitted to take the final exam in accordance with Academic Regulation 10.2.

Expectations

  • Arrive in class and in the labs on time and properly prepared.
  • Always have paper and a pencil with you for class work and for taking notes.
  • In class or in the lab, focus on the topic of the moment.

Academic Integrity

Plagiarism, cheating, and other violations of academic integrity represent serious infractions for which penalties range from a recorded caution to expulsion from RMC.

It is your responsibility to understand and comply with the College’s regulations on academic integrity, which can be found in Academic Regulation 23 of the Undergraduate Calendar.

In this course the following academic integrity requirements will apply unless I provide specific direction otherwise.

Assignments. Assignments are to be completed individually and you must do the work yourself. For assignments:

  • You may collaborate with other students to identify appropriate reference sources and problem solving approaches as long as your submitted assignment clearly identifies anyone you collaborated with and what form that collaboration took.
  • Where your answers rely on information obtained from a source outside the course material, you must clearly identify that source by providing an appropriate citation.
  • You may not copy answers from any source including another student’s work or work previously submitted by you in this or any other course.
  • You may not provide another student with your preliminary or completed answers, by any means.

Laboratories. Laboratories are to be completed in your assigned laboratory group and you must do the work yourselves. For laboratories:

  • You are required to collaborate with the other members of your laboratory group and are each expected to contribute materially to the intellectual work of completing the laboratory. If a member of a laboratory group does not contribute materially to the intellectual work, that group member’s name must not appear on the laboratory report and the member will not be awarded marks for the laboratory.
  • Where your laboratory solutions or answers to questions rely on information obtained from a source outside the course material, you must clearly identify that source by providing an appropriate citation.
  • You may collaborate with students outside your laboratory group to identify appropriate reference sources and problem solving approaches as long as your submitted laboratory report clearly identifies anyone you collaborated with and what form that collaboration took.
  • You may not copy designs, models, source code, or other answers from any source including the work of a student outside your laboratory group or work previously submitted by you in this or any other course.
  • You may not provide a student outside your laboratory group with your preliminary or completed designs, models, source code or other answers, by any means.

Examinations and tests. Examinations and tests are to be completed individually in accordance with the instructions provided.

Scroll to Top