CS450 OPERATING SYSTEMS
FRANCIS LEUNG
FALL 2021
1
Outline
• Admin
• Who am I and what do I do?
• What is an operating system?
• Why do you have to learn it? How will it affect you in the future?
• Syllabus
• Homework, quizzes, programming assignments, exams
• Academic honesty
• Attendance
2
FACULTY AND TA
• Faculty: Francis Leung
• Office: SB216D
• Office hours: TTh: 4:00pm to 5:00pm
• Email:
• TA
• Office:
• Office hours:
• Email:
3
mailto:
TEXT BOOK AND PREREQUISITES
• Text Books
• Operating Systems: Three Easy Pieces
• http://pages.cs.wisc.edu/~remzi/OSTEP/
• The xv6 operating system
• Textbook: HTTPS://PDOS.CSAIL.MIT.EDU/6.828/2018/XV6/BOOK-REV11.PDF
• Source listing: HTTPS://PDOS.CSAIL.MIT.EDU/6.828/2018/XV6/XV6-REV11.PDF
• Home page: https://pdos.csail.mit.edu/6.S081/2020/xv6.html
• We use blackboard for course materials and submissions
• Prerequisites;
• (CS350 and CS351), or
• (CS401, CS402) or
• CS403
• C programming, computer organization, system programming and data structure
4
http://pages.cs.wisc.edu/~remzi/OSTEP/
https://pdos.csail.mit.edu/6.828/2018/xv6/book-rev11.pdf
https://pdos.csail.mit.edu/6.828/2018/xv6/xv6-rev11.pdf
https://pdos.csail.mit.edu/6.S081/2020/xv6.html
Who am I and what do I do?
• Education: PhD, Computer Science, UC Berkeley
• Experience:
• > 20 years in the industry: Bell Labs, Motorola, and a start up
• > 15 years teaching and doing research
• Research Areas
• Distributed systems and protocols
• Current focus (software engineering):
1. Can we add new features without changing code?
2. Can we verify software by proving assertions?
5
GRADING (SUBJECT TO CHANGE)
• HOMEWORK (UNGRADED)
• QUIZZES (3 TO 4, TOTAL 5%)
• PROGRAMMING HOMEWORK (4, 36%)
• FIRST TWO – INDIVIDUAL (MUST PASS TO GET COURSE PASSING GRADE)
• LAST TWO – PAIR PROGRAMMING
• MIDTERM (25%)
• FINAL (35%)
• 50 POINTS OR MORE TO GET A B GRADE OR ABOVE
• EXAMS AND QUIZZES WILL COVER TEXTBOOK, PROGRAMMING HOMEWORK AND LECTURE TOPICS
• BONUS CREDITS TO GOOD QUESTIONS AND ANSWERS IN THE CLASSROOM
6
WHAT IS AN OPERATING SYSTEM?
7
WHY DO WE WANT TO LEARN OPERATING SYSTEMS?
8
COURSE OBJECTIVES (COURSE OUTCOMES)
• LEARN FOUNDATIONAL OPERATING SYSTEM CONCEPTS AND ALGORITHMS
• PROCESS MANAGEMENT, MEMORY MANAGEMENT, FILE SYSTEMS, PROTECTION, CONCURRENT
PROCESS COMMUNICATION AND COORDINATION
• MODIFY AND EXTEND THE KERNEL OF A REAL UNIX LIKE OPERATING SYSTEM (XV6)
• ANALYZE AND COMPARE OPERATING SYSTEM ALGORITHMS DESIGN ALTERNATIVES
9
COURSE OUTCOMES
• 1. DEFINE THE FUNCTIONALITY THAT MODERN OPERATING SYSTEMS MUST PROVIDE.
2. ARTICULATE DESIGN TRADEOFFS INHERENT IN OPERATING SYSTEM DESIGN.
3. UNDERSTAND THE BENEFITS OF SOFTWARE MODULARITY AND HOW IT APPLIES TO OS DESIGN
4. UNDERSTAND THE IMPORTANCE OF CONCURRENCY AND HOW TO IMPLEMENT CONCURRENT
ABSTRACTIONS CORRECTLY IN AN OS
5. UNDERSTAND OS SCHEDULING POLICIES AND MECHANISMS (FOR EXECUTION CONTEXTS, I/O)
6. UNDERSTAND THE BENEFITS AND APPLICATIONS OF RESOURCE VIRTUALIZATION, AND HOW IT IS
ACHIEVED BY THE OS
7. UNDERSTAND HOW OPERATING SYSTEMS IMPLEMENT PROTECTION, ISOLATION, AND ACCESS
CONTROL
8. UNDERSTAND THE FUNDAMENTALS OF DATA STORAGE, INCLUDING FILE ABSTRACTIONS, FILE
SYSTEMS, OBJECT STORAGE, ETC.
9. UNDERSTAND HOW OSES EMPLOY CACHING IN VARIOUS WAYS TO IMPROVE PERFORMANCE,
AND HOW THIS IMPACTS SYSTEM COMPLEXITY
10. UNDERSTAND AND APPLY PROGRAMMING PATTERNS FOR EFFICIENT SYSTEMS
IMPLEMENTATION
11. ABILITY TO PROGRAM IN THE KERNEL OF A UNIX LIKE OPERATING SYSTEM
• ANALYZE A COMPLEX COMPUTING PROBLEM AND TO APPLY PRINCIPLES OF COMPUTING AND
OTHER RELEVANT DISCIPLINES TO IDENTIFY SOLUTIONS
• BE PREPARED TO ENTER A TOP-RANKED GRADUATE PROGRAM IN COMPUTER S
10
CALENDAR (SUBJECT TO CHANGE)
• 08/24 to 09/09
• Introduction
• Process management
• 09/14 to 09/30
• Memory management
• 10/09
• Midterm
• 10/11 Fall Break
• 10/12 to 10/28
• File system
• 11/02 to 11/31
• Concurrency
• 12/06 Finals Week
11
12
POLICIES
• LATE ASSIGNMENTS: LATE ASSIGNMENTS WILL NOT BE ACCEPTED
WITHOUT PRIOR NOTIFICATION AND APPROVAL (SEE NEXT
VIEWGRAPH ON ADDITIONAL RULES).
• MAKE-UP EXAMS: MAKE-UP EXAMS MUST BE ARRANGED IN
ADVANCE AND FOLLOW THE RULES OF THE DEPARTMENT. IF YOU
MISS AN EXAM WITHOUT NOTIFYING ME, YOU WILL RECEIVE 0
POINTS.
• ALL WORK MUST BE ORIGINAL. ANY STUDENT FOUND CHEATING
WILL RECEIVE A 0 FOR THE ASSIGNMENT OR EXAM. DEPENDING ON
THE SITUATION, THE STUDENT MAY RECEIVE AN E FOR THE COURSE.
NO EXCEPTION WILL BE MADE.
• ALL STUDENTS MUST CONTRIBUTE TO ALL PHASES OF THE PROJECT.
STUDENT CONTRIBUTION WILL BE BASED ON THE PEER EVALUATION
FORMS, COMPLETED BY EACH TEAM, SUBMITTED WITH EACH PROJECT.
STUDENT PROJECT GRADE IS DEPENDENT ON THE PEER EVALUATION.
CS450 LATE SUBMISSION POLICY
• SUBMITTING AN ASSIGNMENT THAT DOES NOT COMPILE NOR RUN
AND THEN LATER SUBMITTING ONE THAT DOES IS CONSIDERED THE
SAME AS NOT SUBMITTING ON TIME.
• UNLESS OTHERWISE APPROVED, THE LATE PENALTY IS 20% PER DAY.
THE PROJECT WILL NOT BE ACCEPTED IF IT IS SUBMITTED MORE
THAN 5 DAYS LATE.
13
College of Science Academic Integrity Policy
• EXPECTATIONS
• IIT REQUIRES INSTRUCTORS, TEACHING ASSISTANTS, AND STUDENTS TO MAINTAIN THE
HIGHEST STANDARDS OF ACADEMIC INTEGRITY AND HONESTY. AS A STUDENT, I WILL COMMIT
TO ACADEMIC INTEGRITY BY ADHERING TO THE FOLLOWING REQUIREMENTS:
• I WILL ENSURE THAT ALL WORK I DO IS SOLELY MY OWN, AND WILL COLLABORATE WITH
OTHERS ONLY AS IS ALLOWED IN THE COURSE.
• I WILL MAKE USE OF EXTERNAL RESOURCES ONLY WHEN THEY ARE PERMITTED.
• I WILL PROPERLY GIVE CREDIT TO ANY SOURCES I MAKE USE OF IN MY WORK, AND WILL
TAKE CREDIT ONLY FOR WORK THAT I HAVE PERSONALLY PRODUCED.
• I WILL HOLD OTHER STUDENTS ACCOUNTABLE TO DO THE SAME.
14
(CONT.)
• DURING EXAMS:
• I WILL NOT USE ANY ADDITIONAL MATERIALS OTHER THAN PEN, PENCIL, OR ERASER, UNLESS
SPECIFICALLY ALLOWED BY THE INSTRUCTOR.
• I WILL NOT LOOK AT ANOTHER STUDENT’S PAPER DURING THE EXAM, OR ALLOW ANOTHER
STUDENT TO LOOK AT MINE.
• I WILL NOT COMMUNICATE WITH ANYONE OTHER THAN THE TA OR INSTRUCTOR DURING THE
EXAM.
15
(CONT.)
• CHEATING, PLAGIARISM, AND DISHONESTY WILL NOT BE TOLERATED. IN THE EVENT THAT A
VIOLATION OF THIS POLICY COMES TO THE ATTENTION OF THE INSTRUCTOR, THE INCIDENT
WILL BE REPORTED TO . ACCORDING TO THE CAMPUS CODE OF
ACADEMIC HONESTY.
• CLASS SPECIFIC: A FIRST INCIDENT WILL RESULT IN A ZERO FOR THE ASSIGNMENT, QUIZ OR
EXAM, AND A SECOND INCIDENT WILL RESULT IN FAILURE FOR THE COURSE
16
ADA
• AMERICANS WITH DISABILITIES ACT (ADA) POLICY STATEMENT (PLEASE ADD TO YOUR
SYLLABUS)
REASONABLE ACCOMMODATIONS WILL BE MADE FOR STUDENTS WITH DOCUMENTED
DISABILITIES. IN ORDER TO RECEIVE ACCOMMODATIONS, STUDENTS MUST OBTAIN A LETTER OF
ACCOMMODATION FROM THE CENTER FOR DISABILITY RESOURCES. THE CENTER FOR
DISABILITY RESOURCES (CDR) IS LOCATED IN 3424 S. STATE ST., ROOM 1C3-2 (ON THE FIRST
FLOOR), TELEPHONE: 312.567.5744
17
tel:312.567.5744
mailto:
ATTENDANCE AND PARTICIPATION
• ATTENDANCE
• NOT ALL THAT ARE COVERED IN THE LECTURE WILL BE COVERED IN THE
TEXT BOOK AND VICE VERSA
• OPPORTUNITY TO ASK QUESTIONS AND ALLOW ME TO KNOW WHERE
YOU ARE, EVEN IF YOU DO NOT ASK QUESTIONS.
• PARTICIPATION
• ENCOURAGES PARTICIPATION. MAY GIVE BONUS CREDIT ON PARTICULARLY
INSIGHTFUL QUESTIONS AND ANSWERS
18
EFFECT OF ATTENDANCE (CS487)
19
0
10
20
30
40
50
60
70
80
90
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37
Series1
0
10
20
30
40
50
60
70
80
90
100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Series1
Spring 2008, average = 57.3
Fall 2008, average = 74.7
Programming Assignment 0+
• Download and install a virtualization platform (e.g. Vmware) so that it can
support two different operating systems in your computer.
• Recommend: VirtualBox and (Vagrant (development environment))
• Run your first C program on xv6 (take a look at programs like cat.c and
echo.c that come with xv6)
• Download and install xv6 on your computer.
• Get it done by 08/31.
20