Schedule
This is the tentative schedule. We may adjust if needed.
Click here for details
-
Aug19 Chapter 2: Introduction
-
Aug21 Chapter 4: Processes
-
Aug23 Chapter 5: Process API / Chapter 6: Direct Execution
-
Aug26 Chapter 7: CPU Scheduling
-
Aug28 Chapter 8: Multi-level Feedback
-
Aug30 Chapter 9: Lottery Scheduling
-
Sep02 HOLIDAY
-
Sep04 Chapter 13: Address Spaces / Chapter 14: Memory API
-
Sep06 Chapter 15: Address Translation / Chapter 18: Introduction to Paging
-
Sep09 Chapter 16: Segmentation
-
Sep11 Chapter 17: Free Space Management
-
Sep13 Chapter 19: Translation Lookaside Buffers
-
Sep16 Chapter 20: Advanced Page Tables
-
Sep18 Chapter 21: Swapping: Mechanisms / Chapter 22: Swapping: Policies
-
Sep20 Chapter 23: Complete VM Systems
-
Sep23 Chapter 26: Concurrency and Threads
-
Sep25 Chapter 27: Thread API / Chapter 28: Locks
-
Sep27 Chapter 29: Locked Data Structures
-
Sep30 Chapter 30: Condition Variables
-
Oct02 Chapter 31: Semaphores
-
Oct04 Exam 1
-
Oct07 HOLIDAY
-
Oct09 FLOAT
-
Oct11 FLOAT
-
Oct14 Chapter 32: Concurrency Bugs
-
Oct16 Chapter 33: Event-based Concurrency
-
Oct18 Chapter 10: Multi-CPU Scheduling
-
Oct21 Chapter 36: I/O Devices
-
Oct23 Chapter 37: Hard Disk Drives
-
Oct25 Chapter 38: Redundant Disk Arrays (RAID)
-
Oct28 Chapter 39: Files and Directories
-
Oct30 Chapter 40: File System Implementation
-
Nov01 Chapter 41: Fast File System (FFS)
-
Nov04 Chapter 42: FSCK and Journaling
-
Nov06 Chapter 43: Log-structured File System (LFS)
-
Nov08 Chapter 44: Flash-based SSDs
-
Nov11 Chapter 45: Data Integrity and Protection
-
Nov13 Chapter 48: Distributed Systems
-
Nov15 Exam 2
-
Nov18 Chapter 53 / Chapter 54
-
Nov20 Chapter 55
-
Nov22 Chapter 56
-
Nov25 Chapter 57
-
Nov27 HOLIDAY
-
Nov29 HOLIDAY
-
Dec02 FLOAT
-
Dec10 1300 - 1515 FINAL
Catalog Description
3 Credit Hours
Threads, operating system structure, process management, scheduling, synchronization, deadlock, memory management, virtual memory and demand paging, file system management and implementation, mass storage structure, protection, security, and distributed systems.
Items or topics not covered in this syllabus are per UT policy or instructor’s discretion.
Prerequisites
COSC 360 or COSC 367 with a grade of C or better
We will need to understand the C programming language which is taught in COSC 360. If you are rusty in C, it might be helpful to review. "The C Programming Language" by Kernighan and Ritchie (often referred to as "the K&R") is a great resource. C is a VERY simple language but is often viewed as advanced because there are so many pitfalls into which you can unknowingly fall. Don’t stress too much about it because this course is much more concept focused versus the programming focused COSC 360.
Textbook
FREE online book at https://pages.cs.wisc.edu/~remzi/OSTEP/
Instructors
-
Primary Instructor: Adam Disney
-
Office Location: MKB310
-
-
Teaching Assistants: Andy Zeng
Office Hours
-
Andy Zeng:
-
TR 1300 - 1500 (Location MKB355)
-
M 0900 - 1000 (Location https://tennessee.zoom.us/j/88276459851)
-
You must login with your
<username>@tennessee.edu
address.
-
-
Getting Help
Students should use Piazza (linked on the left navigation bar of Canvas) to receive help on assignments and course topics. For those questions that need a bit of back-and-forth, students should consider attending office hours.
Do no email the TAs or professor directly! Students should only email the instructor directly on topics not related to the course, such as questions about future classes.
Students should send messages publicly to all students and instructors on Piazza, unless the student needs to talk about grades or show instructors their code for a question. Under no circumstances should a student publicly post assignment code or answers!
How to ask questions
Students struggle with this often. We’re not here to do student assignments for them. We are here to help students learn how to accomplish the assignments on their own. Questions should be specific and show that the student has attempted to solve issues on their own. Here is a general check list for questions:
-
Be specific and show that an attempt has been made to understand.
-
For a bad example, "My code doesn’t work and I don’t know why?"
-
-
DO NOT PARAPHRASE ERRORS. Students will get errors while programming and we need to know the EXACT error to help.
-
DO NOT CUT/PASTE CODE. Students that need help with their code should make a private post on Piazza but also attach their code file(s) to the post. Cut/paste code often will end up incomplete or corrupted.
Grading
-
Some assignments may be submitted up to 3 days late for a 20% of earned points per day penalty.
-
It is the students’ responsibility to check the due dates and availability dates for all assignments.
-
Late time is rounded up and the turn in time is a HARD LIMIT. If the due time is 18:00:00 and a student turned in the assignemnt at 18:00:01, the student will be penalized for one day late. DO NOT ASK for a few minutes leeway.
-
-
Grades are not rounded or curved. DO NOT ASK for a grade to be curved or rounded.
-
When checking grades on Canvas, ensure the "Calculate based only on graded assignments" is checked. Otherwise, your grade may appear higher than reality.
-
Students who receive a 70% or less in any grading category, will drop one letter grade level (e.g. A- to B+).
-
If extra credit is offered, it will be available to all students. DO NOT ASK if you can have extra credit.
Grading Appeals
-
Students may appeal an assignment grade provided:
-
The appeal is made within 7 days of the grade being revealed.
-
The student creates a private post to ALL instructors on Piazza that explains their grievances and why their grade should be reevaluated.
-
Appeals can only be made when an error has been made in grading. It can NOT be used for relief or an exception to policy.
-
Appeals with no justification or invalid justification will be denied.
-
An appeal will force a regrade of the student’s work. The old score will be deleted and NOT considered during regrading. It is possible to receive a lower score after the regrade. The regraded work can not be appealed unless there is an obvious error in the regrade.
-
Letter Grades
-
A = [93, 100]
-
A- = [90, 93)
-
B+ = [87, 90)
-
B = [83, 87)
-
B- = [80, 83)
-
C+ = [77, 80)
-
C = [73, 77)
-
C- = [70, 73)
-
D+ = [67, 70)
-
D = [63, 67)
-
D- = [60, 63)
-
F = [0, 60)
Distribution of Grades
-
Participation: 10%
-
Attendance and other points that are earned mostly by simply participating.
-
Attendance will be taken each class period. Each student is allowed to miss 6 class periods without penalty. This is to cover any reason that you need to miss class. Students SHOULD NOT ask permission to miss class. Additional absences WILL NOT be excused for ANY reason. DO NOT ASK!
-
-
Homework: 40%
-
Question/Answer style and open ended style assignments. Roughly 1 per week will be assigned.
-
The lowest homework grade will be dropped.
-
-
Exam: 50%
-
In-class exams. There will be a total of 3 exams.
-
The lowest exam grade will be dropped.
-
Student Expectations
-
Students are expected to attend all classes in-person.
-
Students missing class are still responsible for the material missed.
-
Students are not to ask what is on the test. Anything covered can be on the test.
-
In general for any course, students are expected to spend at least twice the number of credit hours per week outside of class studying, working assignments, etc. Since this is a 3 credit hour course, expect to spend at least 6 hours outside of class working on this course. (See https://catalog.utk.edu Grades, Credit Hours, and Grade Point Average)
Code of Conduct
Cheating and Plagiarism
Students who are accused of cheating or plagiarism on an exam or any single assignment will receive an F for the course.
All cheating and plagiarism cases will be investigated by the Office of Student Conduct and Community Standards (SCCS): https://studentconduct.utk.edu. Any communications must be in writing for both informal and formal portions of the standards review process. Students may be submitted to SCCS before receiving an informal response if the evidence is overwhelming or if the semester is close to ending, such as with a final exam.
The SCCS policy is to not assign a final grade until a determination is made. If a student is alleged to have cheated and final grades are assigned before the matter has been resolved, a student will receive an NR (not reported) grade. This precludes students from taking any of the follow-on courses or from retaking this course.
Check out the Code of Conduct sections 11.4 and 11.5 at https://studentconduct.utk.edu for examples of plagiarism and other types of academic dishonesty.
Tips to Avoid Cheating
-
Students are encouraged to work together provided the students cannot see each other’s code.
-
Students should work where their laptop screens are back-to-back. You can talk algorithms and logic, but not code.
-
Do not allow students to even peek at your code. If a student gets their hands on your code, both will be in violation of the plagiarism policy regardless of who actually wrote the code.
-
Google is a great tool; however, it is the primary way students cheat. They will find code on the internet and copy it as their own. Try using the materials provided in the course.
-
In this course, it is expected that all submitted work is produced by the students themselves, whether individually or collaboratively. Students must not seek the assistance of Generative AI Tools like ChatGPT. Use of a Generative AI Tool to complete an assignment constitutes academic dishonesty.
-
ALWAYS cite who you worked with and where you got help, including any teaching assistant or instructor.
Campus Syllabus
Dear Student,
The purpose of this Campus Syllabus is to provide you with important information that applies to all UTK courses. Please observe the following policies and familiarize yourself with the university resources listed below. At UT, we are committed to providing you with a high-quality learning experience. I want to wish you the best for a successful and productive semester.
–Dr. John Zomchick, Provost and Senior Vice Chancellor
Academic Integrity
Each student is responsible for their personal integrity in academic life and for adhering to UT’s Honor Statement. The Honor Statement reads: “An essential feature of the University of Tennessee, Knoxville is a commitment to maintaining an atmosphere of intellectual integrity and academic honesty. As a student of the university, I pledge that I will neither knowingly give nor receive any inappropriate assistance in academic work, thus affirming my own personal commitment to honor and integrity.”
Your Role In Improving The Course Through Assessment
At UT, it is our collective responsibility to improve the state of teaching and learning. During the semester you may be requested to assess aspects of this course, either during class or at the completion of the class, and through the TNVoice course evaluation. Please take the few moments needed to respond to these requests as they are used by instructors, department heads, deans and others to improve the quality of your UT learning experience.
Students With Disabilities – http://sds.utk.edu
The University of Tennessee, Knoxville, is committed to providing an inclusive learning environment for all students. If you anticipate or experience a barrier in this course due to a chronic health condition, a learning, hearing, neurological, mental health, vision, physical, or other kind of disability, or a temporary injury, you are encouraged to contact Student Disability Services (SDS) at 865-974-6087 or sds@utk.edu. An SDS Coordinator will meet with you to develop a plan to ensure you have equitable access to this course. If you are already registered with SDS, please contact your instructor to discuss implementing accommodations included in your course access letter.
Accessibility Policy And Training – http://accessibility.utk.edu
The University of Tennessee, Knoxville, provides reasonable accommodations for individual students with disabilities through its office of Student Disability Services. The university is also committed to making information and materials accessible, when possible. Resources and assistance to support these efforts can be found at http://accessibility.utk.edu/.
Wellness – http://wellness.utk.edu/ and http://counselingcenter.utk.edu/
The Center for Health Education and Wellness empowers all Volunteers to thrive by cultivating personal and community well-being. The Center can answer questions about general wellness, substance use, sexual health, healthy relationships, and sexual assault prevention. The Student Counseling Center is the university’s primary facility for personal counseling, psychotherapy, and psychological outreach and consultation services.
Any student who has difficulty affording hygiene products, groceries, or accessing sufficient food to eat every day is urged to contact the Big Orange Pantry for support. The Big Orange Pantry, located in Greve Hall, is a free resource for all students, faculty, and staff, no matter how great or small their need is. Students who need emergency financial assistance can also request funding from the Student Emergency Fund.
Students who are experiencing non-academic difficulty or distress and need assistance should call 974-HELP or submit an online referral. The 974-HELP team specializes in aligning resources and support to students experiencing mental health distress.
Emergency Alert System – http://safety.utk.edu/
The University of Tennessee, Knoxville, is committed to providing a safe environment for learning and working. When you are alerted to an emergency, please take appropriate action. Learn more about what to do in an emergency and sign up for UT Alerts. Check the emergency posters near exits and elevators for building specific information. In the event of an emergency, course schedules and assignments may be subject to change. If changes to graded activities are required, reasonable adjustments will be made, and you will be responsible for meeting revised deadlines.