Syllabus [DRAFT]
Contents
- Course Description
- General Information
- Prerequisites
- Office Hours
- Course Work
- Code of Conduct
- Grades
- Learning Objectives
- List of Topics
- Summary of Changes
I. Course Description
3 Credit Hours
Operating system structures, virtual memory, interrupts, exceptions, system calls, processes. Focuses on implementation and design of advanced concepts in file systems, memory management, mass storage devices, process management, and other operating system-related topics.
Recommended background: Theory of operating systems, computer architecture.
II. General Information
- Purpose. This syllabus describes the COSC562 course, policies, and procedures. This syllabus is mandatory for all students enrolled in this course.
- Scope. This syllabus applies to all students enrolled in the course at the Min H. Kao Department of Electrical Engineering and Computer Science (http://www.eecs.utk.edu) of the Tickle College of Engineering (http://tickle.utk.edu) of the University of Tennessee (http://www.utk.edu).
- Amendments. Amendments may be made to this syllabus with or without notification; therefore, do NOT save this syllabus. Instead, retrieve it from this website for the most current version.
- Exceptions. Topics, office hours, and TAs may be updated without additional approval this syllabus.
- Current Version. The most current version of this syllabus may be retrieved from: http://tiny.utk.edu/cosc562.
- Key Words.
- "Will", "must", and "shall" indicate a mandatory requirement.
- "Should" is used to indicate a preferred, but not mandatory, method.
- "May" indicates an acceptable or suggested means.
- “UTK” is short for the “University of Tennessee at Knoxville”.
- “TBD” is short for “To Be Determined”.
- “IAW” is short for “In Accordance With”.
- Learning Management System. All students will be required to use Canvas as the learning management system.
- Calendar. The Canvas calendar will be used to notify any class cancellations for any purpose, including holidays. Students will be required to frequently check their Canvas calendar for due dates and class dates.
- Times and Dates. All times and dates, including due dates, will use the Eastern Time Zone and will observe spring and fall time changes (EST and EDT). Furthermore, all times will use a 24-hour clock (e.g., 1100 = 11:00am, 1200 = 12:00pm, 1500 = 3:00pm, 1800 = 6:00pm, 2200 = 10:00pm, etc.).
- Student Information and Accommodations. All student information will be kept confidential in accordance with the Family Educational Rights and Privacy Act of 1974 (FERPA). More information may be found at: https://ferpa.utk.edu.
- FERPA Waiver. Students may waive some or all their FERPA rights, typically in cases such as letters of recommendations. Students must complete and sign a FERPA form before any FERPA-related information is released.
- Disclosure. All student information is covered under FERPA and will not be disclosed to anyone, including students' parents. FERPA information necessary for this course is retrievable by the professors, undergraduate teaching assistants, and graduate teaching assistants.
- Disability. Any students who have disabilities may register with the Office of Student Disability Services (SDS) for a range of accommodations. No accommodations will be made without prior approval from SDS.
- SDS Website. More information about SDS may be found at: https://sds.utk.edu.
- While compliance with this syllabus is mandatory, the following exceptions to policy may be made given:
- All exception to policy rules must be in writing (unless otherwise noted), or
- Exceptions to policy rules must be made at the department head level, or
- Any illness, injury, death in the family, and so forth requires an "absence request" from the Dean of Students (https://dos.utk.edu).
- For unusual circumstances, the professor or instructor may deviate from this syllabus on a case-by-case basis.
- TAs and other representatives of this course may suggest deviations, but they are not permitted to approve deviations and must comply with 1.9.1 above.
- Teaching Assistants (TA). Teaching assistants are representatives of the professors. They have full access to all student information, including grades. Teaching assistants may be undergraduate (UTA) or graduate students (GTA), or both.
- Contacts. Electronic communications will be made to the professor and teaching assistants through Piazza. A link is provided on Canvas to connect to Piazza. Piazza will be closed after the last day of class. Students will be able to read archived posts, but will be unable to make additional posts.
- Email Correspondence. For most purposes, do NOT email a teaching assistant of professor directly. These emails are likely to be ignored.
- Letters of Recommendations. Letters of recommendations will generally not be written. Exceptions to this policy may be made by the professor on a case-by-case basis.
- FERPA Requirements. Any letter of recommendation written must have a FERPA waiver on file with the professor writing the letter.
III. Prerequisites
Computer Architecture / Assembly
- Understand how memory is allocated/deallocated on the stack, heap, and data sections.
- Understand how executable programs are formatted.
- Be able to create a basic assembly program.
- Understand how high-level languages abstract different programming aspects.
- Understand how parameters and return data is used in assembly.
- Understand hierarchies of memory, such as registers, RAM, and mass storage.
Computer Organization
- Understand how a memory management unit (MMU) translates virtual addresses into physical addresses.
- Be able to manually translate a virtual address into a physical address.
- Be able to control memory-mapped IO using pointers.
Programming
- Understand several different programming languages.
- Be able to write programs to solve problems.
- Understand asynchronous/concurrent programming.
- Have a strong background in C, C++, or Java.
- Understand pointers, stack frames, and memory layouts.
IV. Office Hours
- Office Hours. The teaching assistant(s) will hold regular office hours to assist students with the course material and with their lab assignments.
- Information. Information including times and locations will be posted to Canvas.
- Rules for Help. The teaching assistants have been instructed NOT to give answers but try to lead you to answers or show you where the information can be found. The teaching assistants may point you to a place to read information rather than tell you the information outright.
V. Course Work
- Textbooks. There is no textbook for this course. Instead, an online “lecture note” resource will be provided to students.
- Assignments. Students will be assigned and graded based on a variety of assignments.
- Submissions. All assignments will be submitted to Canvas. Submissions sent via Piazza or email to a professor or teaching assistant will be ignored.
- Homework. Students will complete homework assigned on Canvas.
- Labs. Weekly labs will be assigned on Canvas. All submissions must be made through Canvas.
- Lab Submission. Students must submit their labs using Canvas.
- Diligence. Students must check their submission to ensure it is the correct submission and that it properly submitted. NO EXCEPTIONS will be made for incorrect submissions.
- Recency. Only your latest submission will be graded. If you previously submitted your lab prior to the due date and subsequently submitted past the due date, the lab submitted past the due date will be graded and subject to late penalties.
- Comments. Students may make comments on their submission; however, these have no bearing on the students’ grading. Graders are NOT given notification when a student makes a comment. Therefore, students will not make comments after the assignment has been graded.Lab Solutions. Lab solutions will not be distributed. See your teaching assistant for questions about any of your lab submissions.
- Exams. Students will complete exams on Canvas, unless otherwise noted.
- Computer System. Students must ensure that their online system is ready before an exam. Exam dates will be posted well in advance.
- Missing Exams. Students must notify their professor in writing that they will miss an exam at least four (4) days prior to the exam. Approved missed exams must be taken as soon as possible. Note that make-up exams may or may not be taken in the same place as the original exam. Students with an emergency must contact the Dean of Students (https://dos.utk.edu) and submit an absence request.
- Disability Services. Students who need extra time for an exam must make accommodations with the Student Disability Services Testing Center (SDS) (see: https://sds.utk.edu/testing-center).
- Make-up Exams. Make-up exams will only be offered to those who are excused from the original time or place. To avoid potential cheating, make-up exams may or may not be the original exam.
- Excused Exams. For some circumstances, such as a long break, an exam may be excused completely, and no make-up exam will be offered. These exams will neither count for nor count against your grade.
- Viewability. Exams are considered work product and may or may not be returned to students. However, students may view their results.
- Due Dates. All due dates will be listed on Canvas.
- Diligence. Students are responsible to check Canvas regularly for any due dates.
- Late Policy. Students may not submit assignments late.
- Penalty. Students will be penalized 100% per day that an assignment is late.
- Grading.
- Weights. The weight of each grading category is listed on Canvas under “Syllabus”.
- Homework. Homework is automatically graded by Canvas.
- Labs. Teaching assistant(s) will typically grade lab submissions.
- Comments and Formatting. All student lab submissions must be properly formatted and commented, including a commented header which includes the student’s name, date, and a summary of the lab.
- Compiling Requirement. Unless otherwise noted, all labs that do not compile on the EECS-IT lab machines (i.e., Tesla, Hydra, and Arc lab machines) using the given compiling commands will be graded 0.
- Compiling Appeals. Students will not appeal a 0-grade due to compiling problems.
- Appeals. Students may appeal the grade they received on any assignment.
- Appeal Procedure. Students must use Piazza and put in writing their intention to appeal a grade. The Piazza message must be sent to all "Instructors".
- Timeliness. Appeals must be made within five (5) calendar days of receiving the grade.
- Regrading. A TA may regrade a student’s work without regard to their previous grade. Therefore, the student may receive a lower grade after an appeal.
- Grade Curving. Grades will not be curved or rounded. Grades will not be "bumped" to another grade level no matter how close it is.
- Extra Credit. Opportunities may be given to earn extra credit.
- End of Course Survey. An end of course survey will be offered. This course survey will permit a student to earn extra points towards their final grade. This is used in lieu of curving and rounding grades.
- Survey Credit. The amount of extra credit given for the end of course survey will be indicated on Canvas.
- End of Course Survey. An end of course survey will be offered. This course survey will permit a student to earn extra points towards their final grade. This is used in lieu of curving and rounding grades.
- Workload Recommendation. This course requires a significant amount of weekly work to succeed. However, it will not exceed the workload requirements for a 3 credit hour course.
- Official University Appeal. A student may appeal their final grade with the University of Tennessee. The procedures for doing so are outlined at: http://catalog.utk.edu/content.php?catoid=24&navoid=3078#grad_appe_proc
VI. Code of Conduct
- Honor Statement. Students will conduct themselves according to the University of Tennessee Hilltopics Honor Statement, which may be viewed at: http://catalog.utk.edu/content.php?catoid=24&navoid=3078#hono_stat.
- Behavior. Any student who exhibits inappropriate behavior may be admonished immediately and/or referred to student conduct (see section 1.3.4.5 below). Continued inappropriate behavior may involve the University of Tennessee Police Department (UTPD).
- Plagiarism and Cheating. Any student who is suspected of plagiarism and/or cheating will receive a penalty for doing so. The student will not be notified in advanced at the penalty or that they were suspected of violating the plagiarism and/or cheating policy. Instead, it is the student’s responsibility for contacting their professor.
- Examples of Cheating. Plagiarism and cheating may result from a student copying an assignment or sections of an assignment from another student, from an online source, or from the student’s own previous assignment (from a previous attempt at the course).
- Examples from Student Code of Conduct. The student code of conduct lays out what a student may consider violating this plagiarism/cheating policy.
- SECTION 10.4. Plagiarism is using the intellectual property or product of someone else without giving proper credit. The undocumented use of someone else’s words or ideas in any medium of communication (unless such information is recognized as common knowledge) is a serious offense, subject to disciplinary action that may include failure in a course and/or dismissal from the University. Specific examples of plagiarism include, but are not limited to:
- Using without proper documentation (quotation marks and citation) written or spoken words, phrases, or sentences from any source.
- Summarizing without proper documentation (usually a citation) ideas from another source (unless such information is recognized as common knowledge).
- Borrowing facts, statistics, graphs, pictorial representations, or phrases without acknowledging the source (unless such information is recognized as common knowledge).
- Collaborating on a graded assignment without the instructor’s approval.
- Submitting work, either in whole or partially created by a professional service or used without attribution (e.g., paper, speech, bibliography, or photograph).
- SECTION 10.5. Specific examples of other types of academic dishonesty include, but are not limited to:
- Providing or receiving unauthorized information during an examination or academic assignment, or the possession and/or use of unauthorized materials during an examination or academic assignment.
- Providing or receiving unauthorized assistance in connection with laboratory work, field work, scholarship, or another academic assignment.
- Falsifying, fabricating, or misrepresenting data, laboratory results, research results, citations, or other information in connection with an academic assignment.
- Serving as, or enlisting the assistance of, a substitute for a student in the taking of an examination or the performance of an academic assignment.
- Altering grades, answers, or marks in an effort to change the earned grade or credit.
- Submitting without authorization the same assignment for credit in more than one course.
- Forging the signature of another or allowing forgery by another on any class or University-related document such as a class roll or drop/add sheet.
- Gaining an objectively unfair academic advantage by failing to observe the expressed procedures or instructions relating to an exam or academic assignment.
- Engaging in an activity that unfairly places another student at a disadvantage, such as taking, hiding, or altering resource material, or manipulating a grading system
- Working Together. Students are encouraged to work together, however this increases the risk of plagiarism and/or cheating. Students are cautioned to make sure that when they work together that their code cannot be seen by another student. We recommend that students work together by placing their laptops back to back. With this method, students may discuss topics, but the code they write is purely their own.
- Citation. Always cite any professor, teaching assistant, or another student with whom you discussed the work with. Even if you cannot see another student’s code, the chances of parallel thinking are increased. When you cite whom you worked with, we can understand where your lab may look like another.
- Parallel Thinking. Citations do NOT preclude you from abiding by the plagiarism/cheating policy. Even if you cite your source, you may still not copy code in portions or entirety.
- SECTION 10.4. Plagiarism is using the intellectual property or product of someone else without giving proper credit. The undocumented use of someone else’s words or ideas in any medium of communication (unless such information is recognized as common knowledge) is a serious offense, subject to disciplinary action that may include failure in a course and/or dismissal from the University. Specific examples of plagiarism include, but are not limited to:
- Penalties. The professors and teaching assistants are not investigation units. Therefore, anyone found in violation of the plagiarism policy will receive the same penalty regardless of who originated the content.
- Labs/Homework. Students will receive a 0 for the lab or homework and a ten (10) point drop on their final grade. This will appear as a “Plagiarism” column on Canvas. Essentially, it removes exam points to achieve a 10-point drop on the student’s final grade.
- Repeated Violations. Repeated violations of the plagiarism or cheating policy will result in a 0 for the course.
- Exams. Any suspected plagiarism and/or cheating on an exam will result in a 0 for the course.
- Stolen Work. If an allegation of theft is made, the theft will immediately be reported to student conduct for an investigation.
- Extended Scrutiny. After a student has been flagged for potential plagiarism, all other works will be more closely scrutinized for plagiarism, past and present. Students will note that if they have not been caught for plagiarism, it doesn’t mean it’s not plagiarism. Therefore, if a previous work was plagiarized, the student or students responsible will be held to account for multiple violations of the plagiarism policy.
- Referrals. The professors and teaching assistants reserve the right to refer any student behavior to student conduct regardless of previous incidents, or lack thereof. More information about referrals and student conduct may be found at: https://studentconduct.utk.edu
VII. Grades
- Letter Grades. Numeric grades will follow the standard numeric to letter grade conversion.
Letter | Score |
---|---|
A | 94 |
A- | 90 |
B+ | 88 |
B | 84 |
B- | 80 |
C+ | 78 |
C | 74 |
D | 70 |
F | 0 |
VIII. Learning Objectives
Students will learn about and create a modern operating system for a given architecture including virtual memory, processes, user space, file systems, and device drivers.
The content of this course will support this objective.
IX. List of Topics
- Setting up build environment
- RISC-V boot process
- Peripheral interfaces
- UART communication
- Traps
- Core-local interrupts
- Platform-level interrupts
- Memory allocators
- Memory management unit (RISC-V's Sv39)
- System calls
- Privilege modes
- Processes
- Block I/O
- Filesystems
- Application library
- Applications
X. Summary of Changes
- 30-May-2020: Initial release.