This syllabus covers both CS 5460 and CS 6460.
This course is about the design and implementation of operating systems, which provide a crucial layer of abstraction between hardware and application programs. A knowledge of operating systems is essential for understanding how modern computing systems are put together.
Also see: Why Take an Operating Systems Course?
- Lecture: 9:10-10:30 Tuesday and Thursday morning in WEB L103
- Office hours: TBD
- Prereqs: CS 4400 and proficiency in C programming
- Policy on incompletes: I won't give an "incomplete" grade unless you had a documented legal or medical emergency during the semester
- Please keep the dates in the academic calendar in mind
- Operating System Concepts 9th edition
- You might also want a book about C programming, there are plenty of good ones but I recommend The C Programming Language
- Grades will be assigned based on the standard 90/80/70/60 scale
- Programming assignments are 40% of the course grade
- Homework is 10%
- The in-class midterm exam is 20%
- The final exam is 30%
- Late homework or assignments are only accepted if you have a valid reason and have made arrangements in advance
- These will be done on CADE lab Linux machines and handed in via Canvas
Collaboration and Cheating
- Everyone needs to read the SoC Policy on Academic Misconduct
- Working with others on assignments is a good way to learn the material and we encourage it. However, there are limits to the degree of cooperation that we will permit.
- When working on programming assignments, you must work only with others whose understanding of the material is approximately equal to yours. In this situation, working together to find a good approach for solving a programming problem is cooperation; listening while someone dictates a solution is cheating. You must limit collaboration to a high-level discussion of solution strategies, and stop short of actually writing down a group answer. Anything that you hand in, whether it is a written problem or a computer program, must be written in your own words. If you base your solution on any other written solution, you are cheating.
- Never look at another student's code or share your code with any other student.
- We do not distinguish between cheaters who copy other's work and cheaters who allow their work to be copied. If you cheat, you will be given an E in the course and referred to the University Student Behavior Committee. If you have any questions about what constitutes cheating, please ask.
- Operating system organization and the hardware / software interface
- Process and thread management
- Memory models and synchronization
- Virtual memory and paging
- Virtual machines
- File systems
- Distributed systems and clouds
- Maybe some more advanced topics if we have time
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.