0% found this document useful (0 votes)
151 views5 pages

ECSE 427/COMP 310 - Operating Systems: General Information

This document provides the course outline for ECSE 427/COMP 310 - Operating Systems for Fall 2020. It includes information about the instructor, class times, prerequisites, course description and learning outcomes, course content schedule divided into weekly topics, evaluation breakdown consisting of assignments and exams, and required textbook. The primary learning outcome is for students to understand the major principles and algorithms underlying operating systems and how their components interplay.

Uploaded by

Andriy Nikulich
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
151 views5 pages

ECSE 427/COMP 310 - Operating Systems: General Information

This document provides the course outline for ECSE 427/COMP 310 - Operating Systems for Fall 2020. It includes information about the instructor, class times, prerequisites, course description and learning outcomes, course content schedule divided into weekly topics, evaluation breakdown consisting of assignments and exams, and required textbook. The primary learning outcome is for students to understand the major principles and algorithms underlying operating systems and how their components interplay.

Uploaded by

Andriy Nikulich
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

ECSE 427/COMP 310 – Operating Systems Course Outline

ECSE 427/COMP 310 -- Operating Systems


Fall 2020

General Information

Instructor: Muthucumaru Maheswaran (“Mahesh”)


Tel: 514 684 0769
Email: [email protected]
Office: NULL
Office hours: Zoom
Class: Zoom MWF 1:35-2:25PM
Tutorial: Zoom Th 1:35-2:25PM
Prerequisites: see Calendar
Class web page: My Courses Web site
TAs: Yuxiang, Trung, Jason, Peiyong
TA office hours: TBA

“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).”

Course Description and Learning Outcomes

Description: This is an introductory course in computer operating systems. In this course


we will study the theoretical and practical concepts behind modern operating systems. In
particular, we will study 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 within it.

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

Course Content

Fall 2020 (version 3) Page 1 9/1/2020


ECSE 427/COMP 310 – Operating Systems Course Outline

CONCEPT MAP

Memory Storage
Mgmt. Mgmt.
Dead- Process
lock Mgmt.
Resource
Management
Inter-
Process Threats
Comm.
Abstract
Machine

Ac
ng

c
Thread
ra el

es
mi

Authenti-
Pr M o d

s
m

Models cation

Co
og

tro n
l
Concur- Authoriz-
rency ation

Course Schedule

The table below shows a tentative course schedule (it is likely I will be rearranging the
material a bit as the semester progresses: (a) to adjust for slipping timelines and (b)
to cover material for the assignments before they are released).

Week Topics Reading Comments


Material
1 OS Introduction: OS concepts 1.1-1.5, 2.1-
2.8
2 Process Concept: processes, 3.1-3.7.1, Quiz start
introduction to process scheduling, IPC, 3.7.4, 3.8,
Sockets, Pipes, Simple multi-process
servers
3 Threads and Synchronization: 4.1-4.4.1, 4.5- First assignment
Threads, Critical section problem, 4.7, released
Peterson’s solution, synchronization
hardware, mutex, semaphores, monitors,
well-known problems in
synchronization
4 Threads and Synchronization (Cont) 6.1-6.8, 7.1-
7.5

Fall 2020 (version 3) Page 2 9/1/2020


ECSE 427/COMP 310 – Operating Systems Course Outline

5 Deadlocks: models, characterization, 8.1-8.7 Second


prevention, avoidance, detection, assignment
recovery released
6 File Systems: file concept, file system 13.1-13.5,
structure, implementation, allocation 14.1-14.6
methods, free-space management,
efficiency & performance, access
methods, directories, disk structure, disk
scheduling, etc
7 Advanced File Systems: Log- 15.1-15.6 Third assignment
structured file systems, fault tolerance, released
examples of modern file systems, SSD
issues
8 CPU Scheduling: basic concepts, 5.1-5.8
scheduling criteria, algorithms, thread
scheduling, real-time scheduling, lottery
scheduling, stride scheduling,
performance of scheduling algorithms
9 Main Memory: swapping, memory 9.1-9.5 Final
allocation, segmentation, paging Programming
Assignment
10 Virtual Memory: demand paging, 10.1-10.8
copy-on-write, page replacement,
allocation of frames, thrashing
11 Virtualization and Clouds: 18.1-18.7
Virtualization requirements,
hypervisors, memory virtualization, I/O
virtualization, clouds
12 Security: goals of protection, domain of 16.1-16.5
protection, access matrix,
implementation, access control,
capability-based systems

The course will consist of three hours of instructor led classes per week together with a
maximum of one hour of tutorial per week taken by the TAs. The class time will be devoted
to the presentation and development of new concepts and the application of these concepts
to examples and problems, while the tutorials will discuss solutions to the programming
projects and written assignments. The primary focus of the tutorials is to provide sufficient
“how-to” knowledge through the discussion of the assignments to help in the development
of the programming project series.

Fall 2020 (version 3) Page 3 9/1/2020


ECSE 427/COMP 310 – Operating Systems Course Outline

Instructional Method

The course will consist of three hours of instructor led classes per week together with a
maximum of one hour of tutorial per week taken by the TAs. The class time will be devoted
to the presentation and development of new concepts and the application of these concepts
to examples and problems, while the tutorials will discuss solutions to the programming
assignments/projects and written assignments. The primary focus of the tutorials is to
provide sufficient “how-to” knowledge through the discussion of the assignments to help
in the development of the programming project series.

Students are strongly encouraged to use the My Courses discussion groups to talk about
the programming and written assignments. These discussion groups will be monitored by
the TAs and by the instructor for providing the necessary answers.

Course Materials

Required Textbook

Silberchatz and Galvin, Operating System Concepts, 10th Edition, Wiley, 2018.

Evaluation

Activity Weight (in


percent)
Assignment #1 7%
Assignment #2 9%
Assignment #3 10%
Assignment #4 15%
Quizzes (Short Exams) 8 of them 40%
Final (selected topics) 19%
Total 100%

NOTE: The official programming language of this course is C.

Assignments: These are programming assignments where you will develop portions of
an Operating System that should run in Linux. For example, in the past, we have asked
for implementing file systems that can run on Linux and allow user programs to store and
retrieve files from it.

Fall 2020 (version 3) Page 4 9/1/2020


ECSE 427/COMP 310 – Operating Systems Course Outline

Quizzes: Will have a 30 mins duration. According to McGill policy, you will have 60
mins to do the quiz once you start work on it. The quiz itself will be available in My
Courses for 24 hours. There are 8 quizzes and they would be released on Fridays.

Final: This exam will cover selected topics. It will be a 90 min exam. So, you will have
180 mins after you start work on it. The exam itself will be available for 24 hours in My
Courses.

Late Assignment Policy: There will be two deadlines for each assignment: proper
deadline and cut-off date. After the proper deadline, there will be a penalty of 10% for each
day the assignment is late until the cut-off date. After the cut-off date, the assignment
cannot be handed in. No individual requests for extensions will be granted unless they are
for medical reasons.

The deadlines will be set for 11:55 pm or 11:59pm. Please observe the time and date very
carefully. It is your responsibility to make sure that the assignment is properly submitted
via the WebCT.

Regrading Policy: If you find your assignments or exams are not marked according to the
marking scheme, you are encouraged to consult me or the TAs. When you resubmit your
assignment or exam for regarding, we reserve the right to regrade the full exam or
assignment without restricting the attention to the disputed portion.

Fall 2020 (version 3) Page 5 9/1/2020

You might also like