Summer 2021 - CMPT 300 D100

Operating Systems I (3)

Class Number: 3047

Delivery Method: In Person

Overview

  • Course Times + Location:

    Tu 12:30 PM – 2:20 PM
    REMOTE LEARNING, Burnaby

    Fr 12:30 PM – 1:20 PM
    REMOTE LEARNING, Burnaby

  • Exam Times + Location:

    Aug 11, 2021
    12:00 PM – 3:00 PM
    REMOTE LEARNING, Burnaby

  • Prerequisites:

    CMPT 225 and (CMPT 295 or (ENSC 251 and ENSC 252)), all with a minimum grade of C-.

Description

CALENDAR DESCRIPTION:

This course aims to give the student an understanding of what a modern operating system is, and the services it provides. It also discusses some basic issues in operating systems and provides solutions. Topics include multiprogramming, process management, memory management, and file systems.

COURSE DETAILS:

Students taking this course will gain a comprehensive grounding in the area of multiprogrammed operating systems, including an understanding of the theoretical and practical issues and problems in operating system design. The student will gain an understanding of the needs of computing processes, the services offered by the OS to meet these needs, and how the services are shared between concurrent processes. Lectures will focus on the principles and problems of OS design and will be supplemented by independent reading. Programming exercises (in C) will require the student to implement programs illustrating the principles used in OS design. Basic knowledge of C programming and the UNIX environment is assumed. All course components (lectures, assignments, and exams) will be in an online format. Students must have access to a computer with internet access, and the ability to remotely access the CSIL labs (instructions on how to do so will be provided). Some components of the course may require real-time participation during the scheduled lecture and/or exam times.

Topics

  • History, Evolution, and Philosophies
  • The User's View of Operating System Services
  • Tasking and Processes
  • Interprocess Communication, Concurrency Control and Resource Allocation
  • Scheduling and Dispatch
  • Physical and Virtual Memory Organization
  • File Systems
  • Security and Protection

Grading

NOTES:

There will be assignments and multiple quizzes/exams. All assignments and tests will be in an online format. A more detailed marking scheme will be provided in the first class of the semester.

Materials

MATERIALS + SUPPLIES:

Reference Text:
Unix System Programming: a programmers guide to software development, 2nd edition

Keith Haviland, Dina Gray and Ben Salama
Addison-Wesley
1999
9780201129199
(For those who have never touched a Unix system)

REQUIRED READING:

Operating System Concepts, 10th Edition (Ebook available),
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, J. Wiley & Sons, 2018

(Any other intro O.S. book would probably suffice as well, including previous editions of this book).
ISBN: 9781119320913

RECOMMENDED READING:

Modern Operating Systems, 4th edition
Andrew S. Tanenbaum
Prentice Hall
2014
ISBN: 9780133591620

Operating Systems: Internals and Design Principles, 9th Edition
William Stallings, Prentice Hall, 2018,
(also available as an eBook)
ISBN: 9780134670959

Registrar Notes:

ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS

SFU’s Academic Integrity web site http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html

TEACHING AT SFU IN SUMMER 2021

Teaching at SFU in summer 2021 will be conducted primarily through remote methods, but we will continue to have in-person experiential activities for a selection of courses.  Such course components will be clearly identified at registration, as will course components that will be “live” (synchronous) vs. at your own pace (asynchronous). Enrollment acknowledges that remote study may entail different modes of learning, interaction with your instructor, and ways of getting feedback on your work than may be the case for in-person classes. To ensure you can access all course materials, we recommend you have access to a computer with a microphone and camera, and the internet. In some cases your instructor may use Zoom or other means requiring a camera and microphone to invigilate exams. If proctoring software will be used, this will be confirmed in the first week of class.

Students with hidden or visible disabilities who believe they may need class or exam accommodations, including in the current context of remote learning, are encouraged to register with the SFU Centre for Accessible Learning (caladmin@sfu.ca or 778-782-3112).