Course Meetings
- Lecture: 1:30-2:50pm ET Tuesdays and Thursdays (CMU-PGH INI-DEC, Use Winthrop St entrance)
- Lecture: 10:30pm -1:50pm PT Tuesdays and Thursdays (CMU-SV B23-109)
Course Description
This course covers the design and implementation of operating systems with a focus on modern, concurrent kernels.
It includes such topics as abstracting and managing work, scheduling, concurrency and synchronization, memory management,
device management, storage systems, file systems, caching, protection and security, support for containers and virtual
machines, multi-core and multi-processor support, and energy management. It is a project course, providing experience with
concurrency, developing and decomposing abstractions, working within an existing complex system, and collaborating in small,
e.g. 2-person, teams. Unlike another operating systems course on campus, which builds a modern kernel essentially from
scratch, this courses projects will explore the key operating system facilities in the relative isolation of an OS development
framework with the goal of maximizing experiential learning within the constraint of this courses more conventional published
unit count.
Prerequisites
This course has no formal prerequisites, but it is designed for someone who as taken 15-213, 18-213, 14-513, 15-513, or 18-613,
and is otherwise a confident C Language programmer capable of working with a partner, managing time, and managing programming
projects that are long in both code and timeline.
Textbook
Operating System Concepts, 10th Edition, by Silberschatz, Galvin, and Gagne
Web Site
http://www.andrew.cmu.edu/course/14-712-s20/
Piazza
https://piazza.com/cmu/spring2020/14712/home
Instructors
Name: |
Gregory Kesden |
Email: |
gkesden@andrew.cmu.edu |
Url: |
http://www.andrew.cmu.edu/~gkesden |
Office: |
INI 124 |
Office phone: |
412-268-5943 |
Office hours: |
Please see schedule on Web for updated information:
http://www.andrew.cmu.edu/~gkesden/schedule.html |
Please note:
Office hours are times that I do my best to reserve exclusively for "drop in - no appointment" meetings with students, but I am often available at times other than office hours. Please don't hesitate to call or drop by at other times, or to request an appointment. Office hours are convenient -- if they are convenient for you. If not, please, please, please email or call for an appointment, or just take your chances and drop by - you can find my schedule on the Web.
Please remember -- I'm here to help. I appreciate the opportunity to serve you. Do give me the chance.
Please note that my office phone rolls to my cellphone 24x7. Please feel free to call it anytime. I turn it off on those rare occasions when I prefer not to be disturbed.
I am "gkesden" on many of the popular IM systems (AIM, MSN, GTalk, Skype, Yahoo). Please feel free to ping me.
Course Attendance
Attendance is expected at all classes. It is a discussion-oriented
class.
Need Help?
I can't stress enough that the course staff, the instructors and TAs, are dedicated to providing you the highest possible levels of support: inside of the classroom and outside. Please, if you need help, do ask.
Assignments and Grading
- Exams: 40% (midterm and final count equally, 20.0% each)
- Homework: 10% (All homeworks count equally, 2.5% each)
- Project: 50% (All four projects count equally, 12.5%, each)
Important note: Because of the importance of understanding both the
theoretical and hands-on elements of systems, students must pass all three
components of the course (homeworks, exams, and the projects) in order to
receive a passing grade for the course. This does not affect the actual
letter grade assignment unless one of the components is not completed to a
passing standard.
Homework
Homework questions will be released alongside lecture materials, such
as slides and notes. You should do them as part of your continuous
review of lecture materials and other studying. The questions will be
collected and graded four times during the semester. Think of the model
as "4 distributed homeworks" (appropriate for a distributed systems class,
eh?). The goal is to help you to consistently engage with the material,
your peers, and the course staff, rather than giving you the work all
at once periodically, which is less valuable for learning and more
challenging for time management.
Exams
The exams are designed to be completed in about an hour during a 1.5
hour exam period. The final exam is not especially designed to be cumulative.
But, sometimes material does naturally build upon itself, which can lead to
some cumulativeness in the exam.
Projects
We will be using the PINTOS project set developed at Stanford. The acknowledgement from the official documentation
reads as below:
The Pintos core and this documentation were originally written by Ben
Pfaff blp@cs.stanford.edu.
Additional features were contributed by Anthony Romano
chz@vt.edu.
The GDB macros supplied with Pintos were written by Godmar Back
gback@cs.vt.edu, and their documentation is adapted from his
work.
The original structure and form of Pintos was inspired by the Nachos
instructional operating system from the University of California,
Berkeley ([ Christopher]).
The Pintos projects and documentation originated with those designed for
Nachos by current and former CS 140 teaching assistants at Stanford
University, including at least Yu Ping, Greg Hutchins, Kelly Shaw, Paul
Twohey, Sameer Qureshi, and John Rector.
Example code for monitors (see section A.3.4 Monitors) is
from classroom slides originally by Dawson Engler and updated by Mendel
Rosenblum.
Grade Corrections
We try to be very, very careful about scoring your work and maintaining your grades. But, we are human and will make mistakes. If you have any questions about grading, please see any member of the course staff.
If possible, s/he will help you "on the spot". But, if s/he want to discuss the issue with other members of the staff, which does occur in many cases, he or she might make a copy of your work and/or ask you to write down or email your concerns. Please don't be alarmed -- this is just to try to ensure correctness and consistency among staffers, as well as prevent miscommunication. If you are asked to provide a copy of the work or feedback in question, or to provide your concerns in writing or email, you are required to do this before your concern can be addressed.
Please keep copies of all of your graded work, electronic submissions, and electronic feedback, until you receive your final course grade and are satisfied that it is correct. Without the original work and the grading information, it is more difficult and time consuming to correct errors.
In general, grading concerns should be addressed within one (1) week. In the special case of the final exam, they should be addressed before the end of the next regular academic semester (fall, winter, spring). The course staff, at its discretion, may refuse to reconsider grades outside of this time period.
Should concerns arise outside of these time periods, but during the semester, please do contact any member of the course staff -- we want to be reasonable and will do our best, within ourt discretion, to help. Should concerns occur after the end of the semester, please contact the instructor.
Collaboration
It is suggested that you form study groups as soon as possible. These groups generally work best if there are between three and five people involved, but sometimes pairs or slightly larger groups can work well. Typically the most effective study groups meet once per week for a few hours, or a couple of times each week for a couple of hours each meeting. For study groups to be effective, each member must work indivudally with the material in-between meetings such that s/he has something to contribute as well as questions to drive the discussion.
Unless otherwise specified, all assignments should be completed individually. In other words, it is okay to collaborate in studying the course material, but the "writing on the page" or the "code in the lab", as examples, should be your own "thought product".
If portions of your individual assignments have been significantly influenced by someone else, you should prominently give them credit for their contribution. Proper attribution is critically important -- and is an absolute defense against charges of "Academic Dishonesty".
Failure to provide proper recognition for the contributions of others towards any graded work may be, at the discretion of course staff, considered Academic Dishonesty under the applicable campus and university policies.
Late Work
You have five (5) "Late Days" for use on assignments this semester. You can use one day on each of four assignments, four days on one assignment, &c. There are no fractional late days -- an assignment 1 second late requires the use of a full late day.
These late days are not "procrastination days". They are instead designed much like "personal days" at work to handle the little things that come up during the semester: short illnesses, injuries, visiting family or friends, a burst of work in other classes, doctors vists, &c.
The use of these days is completely at your discretion -- but, once they are gone, they are gone. That's it. The course staff cannot give you more. Late work is not accepted, other than through the use of "Late Days".
There is, of course, the possibility that exceptions to this policy will arise. We certainly hope that nothing incapacitating will happen to any of you. But, in the event that there is some major life event including major medical issues, emotional problems, family problems, &c, the course staff stands ready to work with you, as appropriate.
But, because these events are major events that likely will affect more than one class, we refer these circumstances to other campus officials, typically academic advisors and/or college deans.
The use of late days on the last project may be limited to ensure the
ability of students to prepare for final exams. Stay tuned.
Electronically Mediated Communication
You are not permitted to engage in any electronically mediated communication during class. No TXTing. No IMing. No email. No surfing the Web. No net games. No talking on your cell phone. You get the idea: If something is being communicated and anything even vaguely electronic is involved, it isn't allowed. If you are not comfortable with this -- find a different section or course.
Recording
High-fidelity recordings of class, including any audio and/or video
recordings, regardless of the media or format, and regardless of the
intended or actual use, are not permitted without prior written
permission of the instructor. The class will be notified in advance
should any such recording be approved.
This semester, at least one section of the class will be audio and
video recorded as part of being telecast between CMU-SV and CMU-PGH.
These recordings may, or may not, be made available to students. The
instructor will make the decision about if, how and when to release the
recordings to enrolled students in a way that balances the benefits from
incentivizing attendance with the benefits from the additional resource
for learning. (Hint: Good class attendance usually means video is released).
The Most Important things: Well-Being and Happiness
Please take care of yourself. Do your best to maintain a healthy lifestyle
this semester by eating well, exercising, getting enough sleep, and taking
some time to relax. Making those investments will help you achieve your
goals and cope with stress.
All of us benefit from support during times of struggle. You are not alone.
If you have a problem, or think you might have a problem, and you don't
know what to do, please ask for advice or support.
If you, or anybody you know, need advice or support, please reach out to
people you trust, e.g. friends, family members, faculty members, program
administrators, academic or student life staff members, RAs or
housefellows, professional counselors, clergy, etc.
CMU's
Counseling and Psychological
Services (CaPS) is available by phone (412-268-2922) 24 hours a
day, seven days a week, year-round. If you're not sure whether a
particular problem is a "CaPS Problem", it is certainly worth the call to
them to find out. If it isn't, they'll help you to find the right resources
or to let you know that it'll work out. CaPS is committed to
confidentiality.
If you would prefer to speak with somebody not assocated with CMU, you
can call
the re:solve Crisis Network at 888-796-8226.
If you face a serious emergency, please call the police. Unlike
the police in some communities and many countries, the CMU and
Pittsburgh Police are highly trained, experienced first-responders able
to support members of the community and take the initial steps in
responding to any type of crisis or emergent event.
The CMU police can be reached at 412-268-2323. If you are off-campus,
you can dial 9-1-1.
If you, or somebody you know, needs advice or support, you can get started
by saying/writing, "Greg [or whomever], I'd like some advice".
|