1 of 61

CS377: Operating Systems

Lecture 1 Course Introduction

Fall 2025

Instructor: Nikko

2 of 61

A hearty welcome to all of you!

We, the staff for this course, support the UMass commitment to diversity.

3 of 61

Our plan today:

  • Why study OS?
  • A bit about us ...
  • CS 377: 10,000 ft view
    • What did you get yourself into?
    • Grading policy
  • Our expectation from you
    • Can I use ChatGPT/GenAI tools?
  • Q&A

4 of 61

Why Study OS?

Hilariously: You are unlikely to get a job building an OS...

5 of 61

Why Study OS?

Hilariously: You are unlikely to get a job building an OS.

6 of 61

Why Study OS?

Hilariously: You are unlikely to get a job building an OS.

However, Understanding operating systems will enable you to utilize your computer more effectively.

7 of 61

Why Study OS?

Hilariously: You are unlikely to get a job building an OS.

However, Understanding operating systems will enable you to utilize your computer more effectively.

Why does my application run slowly?

8 of 61

Why Study OS?

Hilariously: You are unlikely to get a job building an OS.

However, Understanding operating systems will enable you to utilize your computer more effectively.

Why does my application run slowly?

How can I make my application cheaper to run?

9 of 61

Why Study OS?

Hilariously: You are unlikely to get a job building an OS.

However, Understanding operating systems will enable you to utilize your computer more effectively.

Why does my application run slowly?

How can I make my application cheaper to run?

It will also serve as an excellent example of system design issues whose results and ideas you will apply elsewhere.

10 of 61

Journey, you will pick up multiple skills along the way

11 of 61

CS 377 teaching team

Who are we?

12 of 61

About us”: Instructor, TAs, UCAs

Phuthipong Bovornkeeratiroj

New(?) teaching faculty

(just graduated last semester),�interested in climate change, human-centered design.

“Nikko” (he/him)

Instructor

Nathan Kwan-Ho Ng

(he/him)

Teaching Assistant

nth year PhD student.

TAed for 677 and 532 multiple times, distributed systems (edge computing) researcher

Hetvi Shastri

(she/her)

Teaching Assistant

TA'ed 230, 677

Research area: Distributed Systems and Machine Learning

13 of 61

About “us”: Instructor, TAs, UCAs

We are all here to help you learn!

Hoa La

(he/him)

UCA

Tuan Nguyen

(he/him)

UCA

Fun fact: I like concurrency bugs

14 of 61

CS 377 course info

What did you get yourself into?

15 of 61

A Day in the Life with 377 (probably)

“I think I’m going to drop this course”�(Nikko: please no!)

16 of 61

Big picture (10,000 ft. view)

Tools

Canvas�class materials, quizzes, assignments

Poll Everywhere�in-class activities

Zoom�only for online office hours

Piazza�Q&A, discussions, announcements

Gradescope�submit assignments, re-grading requests

Echo360�class records (only lectures, not labs)

Course Elements

In-person

Assignments

  • Twice a week lectures
  • Once a week lab
  • Optional Exam(s)
  • 10 Quizzes
  • 11-12 Lab assignments
  • 5 Projects

17 of 61

Course Evaluation (Grades)

In-person

Assignments

  • Twice a week lectures
  • Once a week lab
  • Optional Exam(s)
  • 10 Quizzes
  • 11-12 Lab assignments
  • 5 Projects

80%

20%

4 pick 2! (10% each)

Attendance

Final Exam

Oral Exam

Group Project

20%�20%�40%

Assessing mastery of material, avoiding “high-stakes” setting:

18 of 61

Grade Letter & Range

A

93 or more

A-

90-92

B+

87-89

B

83-86

B-

80

C+

77

C

73

C-

70

D+

67

D

60

F

59 or less

Any decimals will be rounded up.

19 of 61

What’s “4 pick 2”?

20%

4 pick 2!

Attendance

  • Lectures + Labs
  • Absence
    • 0-5 classes -> 100%
    • 6 classes -> 90%
    • 7 classes -> 80%, and so on.

Final Exam

  • In-person, closed-book & notes
  • At least 70% comes from quizzes, labs, in-class questions.

Oral Exam

  • Low stress, job interview style exam.
  • Three levels - easy, medium, difficult
  • More details mid-semester

Group Project

  • 1-3 students/group
  • Pick one of the topics related to OS.
  • Runnable program + test cases + video record

20 of 61

Q: Can I pick all 4? �A: Yes, but only the highest two count.

you might feel like you are drinking from a fire hydrant!

Example:

  • Attendance - 6%
  • Final Exam - 8.5%
  • Oral Exam - 9%
  • Group Project - 10%

Total: 10+9 = 19%

21 of 61

Attendance

  • Lectures + Labs (PollEverywhere, Headcount.live)
  • Absence
    • 0-5 classes -> 100%
    • 6 classes -> 90%
    • 7 classes -> 80%, and so on.
  • Once in a while, we check-in with papers to double check.

22 of 61

Final Exam (10%)

  • In-person
  • Closed-book, closed-notes
  • At least 70% comes from quizzes, labs, in-class questions.

23 of 61

Oral Exam (10%)

  • Low stress, job interview style exam.
  • Three levels - easy, medium, difficult
  • We will provide more details and examples mid-semester

24 of 61

Group Project (10%)

  • Upto 3 students/group
  • Pick one of the topics related to Operating Systems and implement it.
  • Runnable program + test cases + presentation (last class)
  • We will provide more details and examples @ week 3

25 of 61

Question: Which “4 pick 2” options do you prefer?

Let’s test the poll

26 of 61

Course Evaluation (Grades)

In-person

Assignments

  • Twice a week lectures
  • Once a week lab
  • Optional Exam(s)
  • 10 Quizzes
  • 11-12 Lab assignments
  • 5 Projects

80%

20%

4 pick 2! (10% each)

Attendance

Final Exam

Oral Exam

Group Project

20%�20%�40%

Assessing mastery of material, avoiding “high-stakes” setting:

27 of 61

(20%) Quizzes

  • There are 10 quizzes.
  • Quizzes will test your knowledge of the material.
  • They will be multiple choice, true/false, etc.
  • You may take them as many times as you want before the deadline.
  • You have approximately a week to complete a quiz.

The first quiz will be assigned next Friday (Feb 12) and due on (Feb 19)

28 of 61

(20%) Lab Exercises

  • A lab exercise is a short activity that will focus on expanding your knowledge in a particular topic area.
  • They are often designed to provide guidance for an upcoming project or to enhance your understanding of the content for that week.
  • They are completed by submitting to Gradescope.
  • They are graded both automatically and sometimes manually.

The first lab is this Friday, let’s warm up with basic C.

29 of 61

(40%) Project Assignments

  • There are 5 projects that are hands on with programming as it relates to the material.
  • You will be provided a “starter” project, but will require additions, modifications, or tasks to complete it.
  • Most projects come with some tests (but not all) to guide you.
  • You submit your projects to Gradescope which will run our auto-grader and apply additional private tests.

Your submission is your work. No exceptions.

30 of 61

(40%) Project Assignments

  • Late Policy:

Early bird submission

Late submission

Resubmission

Hidden test cases become public

Release date

3 days

= no penalty

4 days �= 0.8*score

Due date

bonus credit

= +0.2%

31 of 61

Bonus credits (max. 3%)

  • Early bird submission (0.2% per project = 1% in total)
  • Bonus discussion topics on Piazza (0.2% per topic)
  • Bonus readings on Piazza (0.2% per paper)
  • Two questionnaire at the mid and end of semester. (0.5% each)
  • Brownie points
    • Help make this course better. (suggestion, feedback, etc)
    • Help your friends in the course. (piazza, class note, etc)
    • But you have to let us know! submit what you did using the brownie points form on Canvas.

32 of 61

377 Squid Game Day

  • One class.
  • Some fun activities with some prizes.
  • Make friends, compete, cooperate.

33 of 61

Miscellaneous

34 of 61

Prerequisites

Major Applicability

  • COMPSCI 230 Computer Systems Principles
  • Or equivalent background
  • This course counts as a 300-level Computer Science Major elective.

35 of 61

Textbook

Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dussea.

This is a free textbook available online. While the entire textbook is available for free from this site, if you so wish, a hard copy may be purchased on Amazon.

This book is absolutely fabulous as far as OS books go.

36 of 61

Class policy

Our expectation from you

37 of 61

We can’t learn without making mistakes!

The goal is to learn and enjoy the process here on out.

Some snacks for participating in class activity/discussion.

38 of 61

Course norm

  • Communicate respectfully with all course participants and teaching staff.

  • Remember that this is a GLOBAL community.�People may have very different lived experiences than you. Keep an open mind, and be empathetic.

  • Our goals:
    • learn a lot
    • have fun!

39 of 61

ChatGPT/AI policy

Let the AI teach you.

Let the AI give you feedback.

Let the AI do your assignments.

40 of 61

Cheating policy

Warning: We will compare your code with all previous years submissions too!

  • First offense: a 0 on the assignment.
  • Second offense: an F in the course.

Please don’t cheat. We take this seriously.

Please ask for extension & support instead!!!

41 of 61

Syllabus

  • The syllabus is available on the course website
  • The syllabus is the primary resource for all details regarding the course
  • You should consult the syllabus for all aspects of the course
  • There may be circumstances where the syllabus needs to be updated, so always visit the syllabus online to ensure you are reading the most updated information.

42 of 61

Software Tools

We will use a variety of software tools in this course. The most important that you will need to install on your computer is:

  • Visual Studio Code (VSCode)

You will be doing all your coding in the Edlab environment. The Edlab environment is a cluster of Linux machines with all the installed software that you need.

You can use VSCode to remotely connect to the Edlab and code like you are on your own machine. Very nice!!

Or you can optionally use emacs, vim, or nano.

43 of 61

Academic Honesty and Collaboration Policy

Project Assignments: Individual work, no code sharing

  • Collaboration allowed, but not sharing solutions
  • Cheating consequences, see Academic Misconduct Penalties

44 of 61

Collaboration in Labs

Labs: Collaborative work in groups

  • Submit as a group on Gradescope
  • Open discussions encouraged but within groups
  • Sharing solutions with other groups not allowed
  • Consequences outlined in Academic Misconduct Penalties

45 of 61

Academic Misconduct Penalties

Penalties: Consequences for academic misconduct

  • First offense: 0 on assignment, 0 on scores
  • Second offense: F in the course
  • These are both informal resolutions

A formal resolution may lead to suspension or expulsion

46 of 61

Contact and Resolution

Contact: Suspicion of misconduct leads to email contact

  • Dialog initiated for resolution discussions
  • Formal resolutions may involve harsher punishments

47 of 61

/* */ || ?

48 of 61

Why do we need an OS?

Assigned video (please watch it before next class):

49 of 61

What’s an OS?

Interface between the user and the machine architecture.

Implements a virtual machine that is (hopefully) easier to program than raw hardware.

11

50 of 61

What’s an OS?

13

User-level Applications

Operating System

Hardware

virtual machine interface

physical machine interface

51 of 61

Most Important Features

Services: The OS provides standard services (the interface) which the hardware implements.

  • File system, virtual memory, networking, CPU scheduling, and time-sharing

52 of 61

Most Important Features

Services: The OS provides standard services (the interface) which the hardware implements.

  • File system, virtual memory, networking, CPU scheduling, and time-sharing

Coordination: The OS coordinates multiple applications and users to achieve fairness and efficiency (throughput).

  • Concurrency, memory protection, networking, and security.

53 of 61

Most Important Features

Services: The OS provides standard services (the interface) which the hardware implements.

  • File system, virtual memory, networking, CPU scheduling, and time-sharing

Coordination: The OS coordinates multiple applications and users to achieve fairness and efficiency (throughput).

  • Concurrency, memory protection, networking, and security.

Goal: Design an OS so that the machine is convenient to use (a software engineering problem) and efficient (a system and engineering problem).

54 of 61

Next class: Introduction to Operating Systems

There is a body of software that is responsible for making it easy to run programs.

Allowing programs to share memory…

Enabling programs to interact with devices…

… and other fun stuff like that!

This body of software is called� the operating system (OS).

55 of 61

Class 1: Wrap up

  • Course overview
  • Why study OS?
  • What is OS?

Notable (your to do’s):

  • Check out our class syllabus.
  • Check out our class Canvas.
  • Join Piazza & Gradescope, if you haven’t.
  • Watch the assigned video.
  • The first lab is this Friday!

56 of 61

ADJOURN

57 of 61

Old slides

58 of 61

About us”: Instructor, TA, UCAs

Phuthipong Bovornkeeratiroj

New teaching faculty,

originally from Thailand, �interested in climate change, human-centered design.

“Nikko” (he/him)

Instructor

Dave Dirnfeld

(he/him)

Teaching Assistant

TA’ed 377 for 8 times,

created multiple labs and assignments,

computer vision researcher.

59 of 61

About “us”: Instructor, TA, UCAs

We are all here to help you learn!

August Huber

(he/they)

Head UCA

Neha Aryasomayajula

(she/her)

UCA

Sagnik Pal

(he/him)

UCA

60 of 61

About us”: Instructor, TAs, UCAs

Phuthipong Bovornkeeratiroj

New teaching faculty,

originally from Thailand, �interested in climate change, human-centered design.

“Nikko” (he/him)

Instructor

Dave Dirnfeld

(he/him)

Teaching Assistant

TA’ed 377 for 8 times,

created multiple labs and assignments,

computer vision researcher.

David Gerard

(he/him)

Teaching Assistant

MS student graduating this Spring, previous undergrad, software engineer at MITRE, enjoys driving up to Vermont to ski on weekends.

61 of 61

About “us”: Instructor, TA, UCAs

We are all here to help you learn!

Khiem Le

(he/him)

UCA

Neha Aryasomayajula

(she/her)

UCA

Sagnik Pal

(he/him)

UCA