Operating Systems – CSCI 402
CS 402 Operating Systems
http://merlot.usc.edu/william/usc/
1
321 0
Copyright ý . Systems – CSCI 402
Fact Or Myth?
Is it true that doing well in this class gets you job offers?
2
321 0
Copyright ý . Systems – CSCI 402
Fact Or Myth?
Is it true that doing well in this class gets you job offers?
definitely true!
if you learn the course material well, and
if you implemented all the assignments yourself and without looking at other people¡¯s code)
if you participate in the class Google Group discussions, especially to help out other students
Whatever you can find on the Internet, everyone else can find it
you cannot distinguish yourself by just reading
if you want to impress your interviewers, you need to impress them with your experience (integrated with your knowledge)
the “theory” stuff is just as important as “kernel hacking” and this is not a programming / kernel hacking class
321 0
3
Copyright ý . Systems – CSCI 402
My Teaching Style
I¡¯m a strong believer in: (adapted from )
Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
except for the warmup programming assignments, I tend not to give a straight answer
I want you to find the answers yourself (together with your peers)
I will help by pointing you to the right direction
so, you should feel free to ask me questions
Recipe for success in CS 402
I will make quite a few recommendations on what to do and when
you are all adults, I cannot tell you what to do you should follow my recommendations!
your success is my success!
4
321 0
Copyright ý . Cheng
ask me questions as much as you need!
if you are not used to asking instructor questions, you need to get comfortable with it!
you are expected to ask me questions if you have trouble with course material or assignments
321 0
Operating Systems – CSCI 402
No “Spoon-feeding”
The coverage of this class is quite vast
too many important concepts to cover in 15 weeks you have to learn some things on your own
if you don¡¯t know how, I will teach you how to do that
this is part of your education
it is not feasible to explain everything till you understand it perfectly
please do not expect “spoon-feeding”
I will explain the concepts, but you have to work hard so you fully understand them
D2L/DEN lecture videos are accessiable to everyone watch the lecture videos at half speed if it helps
5
Copyright ý . Systems – CSCI 402
The Importance of “Written Words”
We communicate (here and in the real world) using “words”
spoken words may be unreliable
no matter how hard I try, I mis-spoke sometimes
I can¡¯t slow down much because there is too much to cover
“written words” are different
you need to take written words seriously especially when it comes to rules written in words
if we don¡¯t take them seriously, why write them down?!
things that are not written down can get messy
If it¡¯s writtent that X is the only grading procedure and that we must follow the grading procedure
what would we do if you ask us to grade your submission using a different procedure?
we won¡¯t, because we take written words very seriously
6
321 0
Copyright ý . Systems – CSCI 402
The Importance of “Written Words”
When it comes to exams, we can only grade based on what you wrote on the exam paper (and not what¡¯s in your mind)
you need to learn to choose your words carefully
Please pay attention to all the written words anywhere in the class web site, lecture slides, posting to class Google Group by me
setup your e-mail filter to not miss messages from
7
321 0
Copyright ý . Registration
you will be expected to turn in all assignments on time, no matter when you get into this class
Exams
the exams for each section is different
you must take all the exams in the section for which you are registered
321 0
Operating Systems – CSCI 402
Summary of Important Rules (from PREVIEW)
D2L/DEN Videos
D2L/DEN lecture videos are accessiable to all sections of CS 402
Kernel Teams
up to 4 students per team will be permitted but no more feel free to use the class Google Group to form group and recruit teammates
start with a larger group to work on warmup assignments before you commit to be kernel teammates
8
Copyright ý . Systems – CSCI 402
Summary of Important Rules (from PREVIEW)
Preparation
the “prerequisites” are for undergrads, for grad students, they are considered “recommended preparation”
this class is clearly not an intro CS class
if you don¡¯t have the background, you need to catch up
most students in this class do not have a solid CS background
you must learn C and Unix on your own we will not teach you C or Unix/Linux
you don¡¯t need to be an Unix expert, you just need to know the basics such as directory listing, creating directories, changing directories, copy files, delete files, etc.
you need to know Unix/Linux to test your kernel code must install 32-bit Ubuntu Linux 16.04 on your laptop/desktop and work on all your programming assignments on it
kernel assignments only works on Ubuntu Linux 16.04
(any subversion is fine)
321 0
9
Copyright ý . Systems – CSCI 402
Fairness
Without fairness, grades have little meaning
I am required to give you a grade
the instructor must treat all students equally and cannot
give special treatment to any particular student
therefore, please do not ask special favors from the
instructor because of your circumstances (except for ones that are explicitly allowed by the university)
this may seem unfair to you because you believe that your circumstances are special (understandably, everyone does) bottom line, the rule the instructor must follow is that whatever he offers you, he must offer to the entire class
other than the exceptions that are setup at the beginning of the semester (mostly for remote students since they cannot be here and may have to do “participate asynchronously”) we definitely will not grade based on effort (i.e., there will be no partial credit for “effort”)
321 0
10
Copyright ý . Systems – CSCI 402
I Must Stick To All My Written Rules
Some students don¡¯t understand why I¡¯m so strict with my rules
it¡¯s not a power trip for me
I am bound by my own rules
rules take away power from me
I¡¯m responsible of treating all students fairly
If I apply one rule for one student and don¡¯t apply the same rule for another student, that¡¯s totally unfair
The only way I know to be fair to all is to stick to all my written rules
When you ask me to bend a written rule for you, you are asking me to be unfair to other students
therefore, I will not bend a rule for you
11
321 0
Copyright ý . Stuff
Today¡¯s Topics
the instructor cannot give D-clearance please use the on-line D-clearance system
undergrad students must take CS 350 for Operating Systems our class is significantly different from CS 350
textbook and programming assignments are all different
Review Course Organization
go over many of the important rules that I will stick to
it is extreme important that you read all the administrative lecture slides and the class website
Operating Systems – CSCI 402
12
321 0
Copyright ý . Systems – CSCI 402
“Flipped Classroom” Model
You watch a recorded lecture before you come to a “live lecture”
live lecture is for you to ask questions and have discussions
Lectures in this class has always been recorded on DEN, so that¡¯s nothing new and we will stick to that
lecture videos will be posted on D2L and class website by 6pm the day before the lecture (usually, a lot earliser)
your assignment is to watch the videos before live lecture time
Live lecture is for you to ask questions about the recorded videos or related programming assignments
live lectures may be short if no one has anything to discuss
live lectures will also be recorded on Zoom
when no one has questions to ask or discuss, I will end recording and “leave the room” so students can talk to each other briefly
you can use this time to recruit kernel teammates more details a little later
13
321 0
Copyright ý . Systems – CSCI 402
“Flipped Classroom” Model
Our format may be different from other “flipped classroom” formats where you get exercises and quizzes during live lectures
you will get plenty of exercises when you do your programming assignments
at this time, I am not planning on having quizzes
You are expected to “attend” every lecture, you are not required to come to any live lectures
although you are required to receive the administrative information given at the beginning of each live lecture
you need to watch the lecture videos at the scheduled times it¡¯s very important to keep up with the pace of lectures
this class is designed such that lectures and discussions give you background for programming assignments
don¡¯t fall behind in lectures and discussions or you will have a very difficult time doing the programming assignments
321 0
14
Copyright ý . Systems – CSCI 402
“Flipped Classroom” Model
I am required by the university to wear a mask even during live and in-person lectures
Since you are not required to come to live lectures, mask rules must be strictly followed during live lectures
in a live lecture, if any student refuses to put on a mask, I must end the live lecture immediately
15
321 0
Copyright ý . Systems – CSCI 402
“Flipped Classroom” Model
This is the first time every section of CS 402 is 110 minutes long
that¡¯s 220 minutes of lecture time per week (and the minimum requirement is 200 minutes for a 4-unit class)
therefore, there is no discussion sections
Previously, discussion sections are used to give you information about programming assignments
for this semester, they will be given during lecture time
we will have recorded lectures to give “discussion section”
material and they are labeled as “discussion section videos”
discussion section videos will be made available at the beginning of the week (and usually earlier)
You are not getting more or less material because we don¡¯t have discussion sections or because of the “flipped classroom” model
we are covering exactly the same material and doing exactly the same programming assignments as previous semesters
321 0
16
Copyright ý . Systems – CSCI 402
“Flipped Classroom” Model
The “flipped classroom” model gives a lot of flexibility
each “lecture” is around 80 minutes long (typically divided into two 40-minute long videos) and each discussion section video is around 50 minutes long
I still have to talk pretty faster so that I can cover all the required material
with a recorded video, you can watch it at 75% speed (or speed up if that¡¯s what you would prefer)
you can pause and resume if you need a break
you can watch it over and over again
in the end, our class is exactly the same as a regular CS 402 class in a non-“flipped classroom” model
we cover exactly the same lecture slides and we do exactly the same programming assignments
I don¡¯t want people to think that there is more work or less work because of the “flipped classroom” model
321 0
17
Copyright ý . Systems – CSCI 402
Class Structure & Teaching Staff
Live and in-person lectures
(DEN section) MW 10:00am – 11:50am includes sections 29945D and 29946D
(PM section) MW 12:00pm – 1:50pm (section 30197D)
No discussion sections (although the schedule of classes says TBA)
18
321 0
Copyright ý . Systems – CSCI 402
Class Structure & Teaching Staff
Live lectures will be recorded on Zoom
recorded live lectures will be posted on D2L/DEN and class website
the lectures of all 2 sections of CS 402 are supposed to be synchronized, i.e., go at exactly the same pace
there will only be one set of lecture videos (but live lectures can be different)
you can go to any live lecture or discussion sections
there is no requirement to come to live lectures
you are required to receive the administrative information given at the beginning of each live lecture
after the administrative information is given, if students just want to ask questions in private, I will stop Zoom recording
then I will go back to my office (may take 10 miniutes) and start a secondary Zoom meeting (which will not be recorded) to handle individual questions in break-out rooms
19
321 0
Copyright ý . Cheng
same-day Zoom appointment maybe difficult to set up you can make in-person appointment (definitely not for the same day)
20
321 0
Operating Systems – CSCI 402
Class Structure & Teaching Staff
Instructor:
e-mail policy: 24 hour turn-around
this is my promise to you (and applies only to private e-mails)! office hours: on Zoom, M/Tu/W/Th 3pm-4pm or by appointments
these Zoom meetings will not be recorded
maximum meeting time for a student will be 15 minutes individual meeting in a break-out Zoom room where you can share your screen if you¡¯d like
everyone else wait in the main room, first-come-first-served if there is a lot of students waiting, you may not end up with a meeting with me
it¡¯s best to send me e-mail or post to class Google Group
if you send me a private e-mail, I promise that I will reply within 24 hours
Copyright ý . Systems – CSCI 402
Class Structure & Teaching Staff
please understand that office hours are for me to help you, not to “tutor” you
same goes for the TA¡¯s office hours
please understand that we are not your paid tutors
Viterbi have tutoring services, but they are for undergrads
if you are a grad student, you are expected to be able to learn on your own
if you are not sure how to do that or where to start, I¡¯d be happy to teach you how to learn on your own
21
321 0
Copyright ý . A
Class Structure & Teaching Staff
(DEN section)
(PM section) Zhuojin Li
email: 24 hour turn-around
the TA¡¯s job is to help you with the course materials and programming assignments, grade exams
TA cannot do work for you (such as find bugs in your code, write code for you to use, etc.)
TA cannot tell you what code to write
TA cannot look over your code or comment on your code it¡¯s not the TA¡¯s job to “tutor” you
TA can help you with learning to use the debugger
You can go to any TA for help with course materials and programming assignments
TAs are shared except for grading of exams exams in different sections are different!
321 0
Operating Systems – CSCI 402
22
Copyright ý . Systems – CSCI 402
Office/Helpdesk Hours And Appointments
Office hours are for answering questions
they are not intended for finding bugs in your code
especially since each student can only have 15 minutes
finding bugs is your job and it¡¯s an important that you learn how to acquire such skill
if you need debugging help, we can only give you suggestions and tell you what gdb commands to try
Please understand that we don¡¯t know where your bugs are
some bugs are so difficult to find, even for professionals therefore, please do not expect that we can find your bugs
Some students think that we are holding out on them, that we know where the bugs are and we are just not telling them
that may be the case when the bugs are trivial and we want you to learn to spot the bugs
often times, we just don¡¯t know where your bugs are (there
are just too many possibilities)
23
321 0
Copyright ý . Systems – CSCI 402
Office/Helpdesk Hours And Appointments
If no one comes to an office hour, we may walk away from Zoom
call out our name or send us e-mail to ask us to come back to Zoom
24
321 0
Copyright ý . Systems – CSCI 402
Class Structure & Teaching Staff
Graders:
(TBD)
email: 24 hour turn-around
the grader will hold regrade sessions after you get grade notification e-mail
we have different rules about grader involvement for our class
the grader¡¯s only job is to grade your programming assignments
it is inappropriate to contact the grader about an assignment (especially about “how many points I would get if I do it this way”) before the assignment is due
you should be able to figure it out from the spec and the “grading guidelines” or you can just ask me
the grader will not answer questions before the assignment is due
321 0
25
Copyright ý . Systems – CSCI 402
Class Resources
Class web page: http://merlot.usc.edu/cs402-f21 everything about this class is there
anything related to grading, you are required to know get familiar with it
if you are not used to reading a lot of stuff, you should start reading a lot of stuff in this class
it¡¯s important to learn how to read documents and interpret them correctly
If you see inconsistencies, especially regarding any type of “rules” between what¡¯s on the class web page, what¡¯s on a set of lecture slides that has been covered in class, or what I said
usually, the lecture slides are correct
but, you should check with the instructor as soon as possible!
so that things can be consistent again
26
321 0
Copyright ý . Cheng
it¡¯s important that you understand the lecture slides well you should use the lecture slides as a study guide
321 0
Operating Systems – CSCI 402
Lectures
The posted lecture slides have a lot of details
I will not cover every posted lecture slides
not even for this set of lecture slides!
there¡¯s not enough time
although you will be responsible for everything posted in lecture slides (and the corresponding materials in textbook)
except the ones that are marked with a grey
in the lower left corner of the slide
feel free to ask me about things on the lecture slides but were not covered during lectures
when you watch a lecture video, you can pause at the beginning of each slide and read the slide, then listen to my explanation
Exam questions will be primarily based on the lectures and lecture slides
27
Copyright ý . Systems – CSCI 402
Discussion Section Videos
I will use the discussion section videos to go over background information for programming assignments
these videos will be posted at the beginning of the week
Please understand that discussion section material are NOT substitute for reading the specs and the grading guidelines
you are expect to read the entire spec
you are expect to read the requirements the spec refers to you are expect to read the grading guidelines
they are your responsibility
Exam questions can also be based on posted discussion section slides
28
321 0
Copyright ý . Cheng
if you just repeat what others are saying, you are being “helpful” but what you post will not be “useful” since it¡¯s
already been said
321 0
Operating Systems – CSCI 402
Class Discussion (Google) Group
Google group
student-to-student discussions about programmingassignments and course material
exchanging ideas are allowed
posting code is not allowed (short code segments to illustrate ideas are allowed; short means < 3 lines and < 3 function calls)
first offense (in the entire semester) gets a warning (unless it¡¯s a lot more than the threadhold)
2nd offense, you will lose 50% of the corresponding assignment points and lose posting privileges
instructor and TAs will also post answers to questions here
if appropriate for whole class
you can get extra credit if you post timely and good/useful answers to other students¡¯ questions for kernel assignments
29
Copyright ý . Systems - CSCI 402
Class Discussion (Google) Group
You must be a member of the class Google Group
all important announcements will be posted to this group
You are expected to read every one of my posts to the class Google Group
my posts to class Google Group is considered course material
I use it to explain lectures (if someone asks)
I use it to explain programming assignments (if someone asks) you must not block these messages!
if you really don¡¯t want to read them, you can setup a filter
to skip your inbox
I may ask exam questions from them
30
321 0
Copyright ý . Systems - CSCI 402
Class Discussion (Google) Group
If you are on the class roster, I will add your USC e-mail address to the class Google Group
If you are on the wait list or are considering taking this class, you can make a request to join the class Google Group
login to your USC e-mail account
click on our class Google Group link and apply for membership in the additional information" field, give reason why you are apply for membership
You must not block class Google Group messages
if you set your delivery preference to "no e-mail", I will change it to "all e-mail"
if you don¡¯t want to see the posts, you can setup a filter to automatically refile all these messages (although that¡¯s not recommended)
321 0
31
Copyright ý . Cheng
for kernel assignments
"timely" means within 8 hours or the original post
No individual extra credit
try your best from the beginning!
321 0
Operating Systems - CSCI 402
Projects Midterm Final
Grading
45% 2 warm-ups (individual), 3 group projects
25% during class time, Wed, 10/27/2021 (firm)
30% (DEN section) 8am-10am, Mon, 12/13/2021 (firm) (PM section) 11am-1pm, Fri, 12/10/2021 (firm)
Exam times above is USC local time, if exam time in your timezone is before 7am or after 10pm, I will have to offer you alternate exams
make sure your "Local Address" is correct in OASIS
Additional extra credit
1) turn in assignments more than 48 hours before deadline
2) giving good/useful/timely answers in the class Google Group
32
Copyright ý . Cheng