关键词 > COMP-310&ECSE-427

Operating Systems COMP-310 & ECSE-427 Winter 2021

发布时间:2021-02-02

McGill University

School of Computer Science

www.cs.mcgill.ca


Course Outline


Course Name:

Operating Systems

COMP-310 & ECSE-427 Winter 2021


Instructors:

Professor: Joseph Vybihal

Office: ENGMC 323 (https://mcgill.zoom.us/j/86080652491)

Office Hours: Fridays 11:30-12:30 EST (or by appointment)

Home page: http://www.cs.mcgill.ca/~jvybihal

Email: [email protected]

Professor: Oana Balmau

Office: Zoom (https://mcgill.zoom.us/u/kcYXAdabO7)

Office Hours: Mondays 11:30-12:30 EST (or by appointment)

Home page: https://www.cs.mcgill.ca/~balmau/

Email: [email protected]


Contact Discussions:

Piazza: http://piazza.com/mcgill.ca/winter2021/comp310ecse427


Course Objectives:

This is an introductory course in computer operating systems. In this course the student will study the theoretical and practical aspects behind modern operating systems. This includes the following: the basic structure of an operating system, its components, design strategies, algorithms and schemes used to design and implement different components of an operating system. Major components to be studied include: processes, inter-process communication, scheduling, memory management, virtual memory, storage management, network management, and security.

Primary learning outcome: To get a clear understanding of the major principles & algorithms that underlie an operating system and how they interplay with it and the hardware.

Secondary learning outcomes: After taking this course, you should be able to: (1) identify the core functions of operating systems and how they are architected to support these functions, (2) explain the algorithms and principles on which the core functions are built on, (3) explain the major performance issues with regard to each core function, and (4) discuss the operating system features required for a particular target application.


Pre-requisites:

ECSE 322 or COMP 273


Text:

Tenenbaum and H. Bos, Modern Operating Systems, 4th Edition, Pearson, 2015.


Evaluation:

4 Assignments 32% Each assignment builds on the previous (8% each)

10 Quizzes (small) 10% C programming and OS theory (top 9 scores / 10)

2 Quizzes (long) 20% OS theory test (10% each)

Final exam project 38% Comprehensive, formal, software, written


Notes:

Note #1: Final grades may be assigned on a curve.

Note #2: The programming language for this course is C.


“McGill University values academic integrity. Therefore, all students must understand the meaning and consequences of cheating, plagiarism, and other academic offences under the Code of Student Conduct and Disciplinary Procedures (see www.mcgill.ca/integrity for more information). Work submitted for evaluation as part of this course may be checked with text matching software within MyCourses.


Teaching Method: This course will be taught as a “flipped classroom”.

In our case, this means that the lectures will be divided into two sessions and a quiz:

Session 1 is a weekly video presenting the theory for the week (see the tentative course outline table). It will be released every Friday at 9:00 EST. The student is required to watch this video. The video will be an mp4 posted on myCourses.

Session 2 is a Zoom meeting hosted and led by the professor. This will happen during your regular class time. This will not be a lecture. The class will explore and solve practical problems related to the material covered in session 1. It is assumed that the student watched and understood session 1 before attending session 2.

● NOTE: Each session 2 class time, during a given week, covers the same material. This means that the student only needs to attend one session 2 class per week.

● Quiz: each week the student will be given a quiz to solve. The quiz will be released every Friday at 9:00 EST and will be due before the first session 2 of the following week (the student will have 3 - 4 days to do the quiz).

● NOTE: The quizzes are divided into 10 short quizzes and 2 long quizzes. The short quizzes will have ten multiple choice questions (or similar) and you will have 25 minutes to complete the short quiz. The short quizzes will be automatically graded by the myCourses Quiz tool. The long quizzes will have 4 long-answer questions and you will have 60 minutes to complete the long quiz. These long quizzes will be graded by the TA.

Other elements of the course:

Labs / C Review: To make sure all students are at the same place in their knowledge of C, the course begins with three weeks of optional C review during the lab times (the weekly quizzes will test your C knowledge). For the first three weeks, there will be a 1-hour optional tutorial / lab per week lead by a TA. A specific tutorial sheet is available in myCourses for you to do on your own or with the TA in the lab. The primary focus of the tutorials is to provide “how-to” knowledge.

Assignments: The course has 4 assignments that build upon the tutorials and the previous assignments. The goal of the assignments is to give the student an opportunity to build portions of an operating system.

Late Policy: You will be notified in advance of assignment due dates. All assignments are due on myCourses at the indicated time and date. Late assignments will lose 5% of its grade per day late. Assignments beyond 2 days late will not be accepted. You may not submit assignments via e-mail without the permission of the instructor.

Exam Policy: Students are responsible for all materials for the tests and exams. Exams will be a combination of all types of questions based on all sources, and students may be required to integrate theoretical concepts from the text to substantiate their arguments. Crib sheets, calculators, dictionaries are not permitted during an exam or test unless specifically stated by the professor.

Grading Policy: No make-up tests or make-up assignments are allowed in this course. If you are not satisfied with the grading of an assignment or test, you may request a review within 7 days of return. Indicate in writing or during a meeting with the TA where and why you feel the marks are unjustified and give it back to your TA for re-grading. Note that the entire assignment or mid-term test will be re-graded, and your grade can go up or down (or stay the same) accordingly. The TA may forward the issue to the instructor.

Teaching Assistants: You have been assigned a dedicated TA that will be responsible for you.

Your assigned TA will be responsible for grading your assignments, long quizzes and your final-exam project. This TA will also host optional labs for the students that are assigned to them.

The TA office hours are available to discuss solutions to the programming projects and written assignments. If you have an issue with your assignment grade, the TA office hour is the time and place to address these issues. Do not see the professor for assignment grade issues.

TA office hours are public to all students of the course.

TA labs are private to the group of students who are assigned to that TA.

Your TA will contact you to arrange both lab and office hours that best match the group of students assigned to them. If it is not possible to find a good lab time, then it may be possible to switch to another lab group assuming both TAs agree (the TA lab you are leaving and the TA lab you are joining).

Consult the following table for the TA you have been assigned to:

  TA Name
  TA Email
Student Last Name
Student Count
  Linwei Xu
  linwei.[email protected]
Acri, Jackson → Chen, Kua
38
  Hamza Salah
  hamza.salah@mail.mcgill.ca
Chen, Xingyu → Fu, Yutian
29
  Mercy Asamoah
  mercy.asamoah@mail.mcgill.ca
Furet, Alissa → Huang, Rui
38
  Richard Olaniyan (.5)
  richard.olaniyan@mail.mcgill.ca
Huynh, Nghi → Kiseleva, Daria
21
  Mohammad Rahman (Mushfique) (.5)
  mohammad.[email protected]
Kranz, Kobe → Manascu, Joshua
31
  Amrutha Lakshmi Kandadai
  amrutha.kandadai@mail.mcgill.ca
Manosuthi, Ron → Ozdamar, Lara
30
  Mohamed Abdelgawad
  mohamed.abdelgawad@mcgill.ca
Padda, Amanpreet → Shiff, Adam
30
  Thoka Raghuveer Rao
  thoka.rao@mail.mcgill.ca
Shin, Jeonguk → Wang, Zhenyu
38
  Lanhui Shi
  lanhui.shi@mail.mcgill.ca
Wei, Yuankang → Zugasti, Leopoldo
38


Email Policy: E-mail is one of the official means of communication between McGill University and its students. As with all official University communications, it is the student's responsibility to ensure that time-critical e-mail is accessed, read, and acted upon in a timely fashion. If a student chooses to forward University e-mail to another e-mail mailbox, it is that student's responsibility to ensure that the alternate account is viable.

Please note that to protect the privacy of the students, the University will only reply to the students on their McGill e-mail account.

CommunicationAlgorithm() :

if (public) piazza(); // all will benefit

else if (about marks) emailTAPrivately();

else if (medical or special) emailProfPrivately();


Additional Information:

The course slides are not meant as a complete set of notes or a substitute for a textbook, but simply constitute the focus of the lecture. Important gaps are left in the slides that are filled in during class, thus lecture attendance should be considered essential.

The material covered in the classroom will be used to supplement textbook readings.

Every chapter should be read twice. The first reading should be done prior to attending class and the second reading should be done after the class discussion of the chapter. The questions at the back of each chapter follow directly from the reading. Students should be able to answer these questions after a thorough reading of the material.


Tentative Course Outline:

WEEK
TOPIC
DETAILS
CHAPTERS
WORK
LAB
  What is an Operating System?
First class
(8/1)
  Instructor: Vybihal.
  Friday Video: XXXXXXXXXXXXXXXX
  During Class: Course Introduction

  Week 1 video released
  No lab
1
(11/1 - 15/1)
  Instructor: Vybihal.
  Friday Video: What is an OS?
  During Class: OS concepts and the command-line
  Ch 1
  Short Quiz 1.
  Assignment 1 released.
  C lab 1
  What is a Process?
2
(18/1 - 22/1)
  Instructor: Vybihal.
  Friday Video: PROCESS CONCEPT AND COMMUNICATION
  During Class: The process concept, process scheduling, 
and cooperative processes, inter-process & Client-Server programming.
  Ch 2.1, 2.3
  Short Quiz 2.
  C lab 2
3
(25/1 - 29/1)
  Instructor: Vybihal.
  Friday Video: THREADS
  During Class: Multi-threading models/issues/ and implementation studies.
  Ch 2.2
  Short Quiz 3.
  Assignment 2 released.
  Assignment 1 due.
  C lab 3
4
(1/2 - 5/2)
  Instructor: Vybihal.
  Friday Video: PROCESS MANAGEMENT
  During Class: CPU Scheduling and Process Synchronization, 
Critical section problem, Peterson’s solution, synchronization 
hardware, mutex, semaphores, monitors, well-known problems in synchronization.
  Ch 2.3-2.5
  Short Quiz 4 (C Quiz).
  No lab
5
(8/2 - 12/2)
  Instructor: Vybihal.
  Friday Video: DEADLOCKS
  During Class: Models, characterization, prevention, avoidance, detection, Recovery
  Ch 6 (varia)
  Short Quiz 5.
  Assignment 3 released.
  Assignment 2 due.
  No lab
  What is Computer Memory?
6
(15/2 - 19/2)
  Instructor: Balmau.
  Friday Video: MEMORY MANAGEMENT
  During Class: RAM, Secondary Storage, swapping, memory allocation, 
segmentation, paging
  Ch 3.1-3.2, 3.7
  Long Quiz 1.
  No lab
7
(22/2 - 26/2)
  Instructor: Balmau.
  Friday Video: VIRTUAL MEMORY
  During Class: Demand paging, copy on-write, page replacement, 
allocation of frames, thrashing.
  Ch 3.4-3.6
  Short Quiz 6.
  No lab
  1/3 - 5/3
  Study break


8
(8/3 - 12/3)
  Instructor: Balmau.
  Friday Video: FILE SYSTEMS
  During Class: Methods and implementations.
  Ch 4 (varia)
  Short Quiz 7.
  No lab
9
(15/3 - 19/3)
  Instructor: Balmau.
  Friday Video: I/O SYSTEMS AND DISK DRIVES
  During Class: Hardware issues and varia
  Ch 5 (varia)
  Short Quiz 8.
  Assignment 4 released.
  Assignment 3 due.
  No lab
  Advanced topics (if time permits)
10
(22/3 - 26/3)
  Instructor: Balmau.
  Friday Video: VIRTUALIZATION AND CLOUD
  During Class: Virtualization requirements, hypervisors, memory virtualization, 
I/O virtualization, clouds.
  Ch 7 (varia)
  Long Quiz 2.
  No lab
11
(29/3 - 2/4)
  Instructor: Balmau.
  Friday Video: PROTECTION ISSUES
  During Class: Domain, access, rights and implementation methods.
  Ch 9.1-9.5
  Short Quiz 9.
  No lab
12
(5/4 - 9/4)
  Instructor: Balmau.
  Friday Video: SECURITY ISSUES
  During Class: Threats and management
  Ch 9.6-9.10
  Short Quiz 10.
  Assignment 4 due.
  No lab


Academic Integrity: Code of Student Conduct

McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Disciplinary Procedures (see www.mcgill.ca/integrity for more information).

L'université McGill attache une haute importance à l'honnêteté académique. Il incombe par conséquent à tous les étudiants de comprendre ce que l'on entend par tricherie, plagiat et autres infractions académiques, ainsi que les conséquences que peuvent avoir de telles actions, selon le Code de conduite de l'étudiant et des procédures disciplinaires (pour de plus amples reseignements, veuillez consulter le site www.mcgill.ca/integrity).


Final Exam Policy: Regulations

Students should not make other commitments during the final exam period. Vacation plans do not constitute valid grounds for the deferral or the rescheduling of examinations. See the Centre Calendar for the regulations governing Examinations: http://www.mcgill.ca/conted-students/exams/regulations/ Students are required to present their I.D. Card (with photo) for entrance to their examination.


                            Conflicts

If you are unable to write your final examination due to scheduling conflicts, you must submit a Final Exam Conflict Form with supporting documentation at least one month before the start of the final examination period. Late submissions will not be accepted. For details, http://www.mcgill.ca/conted-students/exams/conflicts/


                          Exam Timetable

Examination schedules are posted at the Centre and on the following page approximately 6-8 weeks before the examination period commences http://www.mcgill.ca/conted-cms/exams/ The Centre cannot provide examination dates over the telephone.


Classroom Rules: All electronic devices (cell phones and beepers) must be turned off during class time.

Assignments Pickup: All assignments are submitted to and picked-up from WebCT.


Students Rights and Responsibilities:

Regulations and policies governing students at McGill University can be downloaded from the website: http://www.mcgill.ca/deanofstudents/rights/


Students Services and Resources:

Various services and resources, such as email access, walksafe, library access, etc., are available to Continuing Education students: http://www.mcgill.ca/conted-students/services/


Minerva for Students: http://www.mcgill.ca/minerva-students/

Note: In the event of extraordinary circumstances beyond the University’s control, the evaluation scheme in a Course is subject to change, provided that there be timely communications to the students regarding the change.