Course Syllabus
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?
Basic information:
- 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
Textbook:
- 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
- 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
Programming assignments
- 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.
Topics covered:
- Operating system organization and the hardware / software interface
- Process and thread management
- Scheduling
- Memory models and synchronization
- Deadlock
- Virtual memory and paging
- Security
- Virtual machines
- File systems
- Distributed systems and clouds
- Maybe some more advanced topics if we have time
Course Summary:
Date | Details | Due |
---|---|---|