Models of operating systems. Major functions including processes, memory management, I/O, interprocess communication, files, directories, shells, distributed systems, performance, and user interface.
Grade of C or better in CS310, CS 367 and CS 465 (or equivalent). All students must be very comfortable with programming in the C language. This is a strong requirement.
The required textbooks for this class is: Operating System Concepts by Silberschatz,
Galvin and Gagne (9th Edition, John Wiley & Sons 2012, ISBN
978-1-118-06333-0).
The recommended textbooks are 1. Operating Systems Principles and Practice, by Thomas Anderson and Michael Dahlin, Second Edition.
ISBN: 978-0-9856735-2-9, Recursive Books, Ltd. 2. Operating
Systems: Three Easy Pieces, by
Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau,
Arpaci-Dusseau Books,
March, 2015 (Version 0.90)
Upon completion of this course, the students should be able to:
Demonstrate knowledge about the role and purpose of the
operating systems
Be able to explain the features of operating systems found in different types
of computer systems (e.g., mainframe systems, personal computers,
multiprocessor systems, handheld systems)
Demonstrate basic knowledge about the evolution of operating system concepts
from early batch systems to today's sophisticated multiuser/multiprocessor
systems
Demonstrate knowledge about different approaches to operating system design
and the involved trade-offs
Be able to explain the main performance evaluation criteria for computer
systems and how the operating system design can have an impact on
these
Show an understanding of the need for the concurrent operation of multiple
tasks (processes/threads) and an ability to solve basic process
synchronization problems that arise from concurrent operation
settings
Demonstrate the knowledge about process scheduling, basic memory management
and file system management techniques and their impact on the overall
performance
Demonstrate the basic knowledge about distributed systems and how the ever
increasing networking features have affected (and are affecting) operating
system design
Be able to implement a suite of basic algorithms proposed for the main OS
services such as memory management and process scheduling
No credit if your project does not compile. Late assignments/projects lose 10% credit per day and will not be accepted
3 days after the due date. The students are responsible for keeping back-ups of their work while they are working on an assignment.
Exams are closed book. The final exam will be cumulative; that is, it will include all topics discussed during the term.
No early exams will be given. If you must miss an exam an makeup will be arranged at the discretion of the instructor, BEFORE the exam date, with a written and verified excuse.