CS471 Operating Systems
Location: |
Sandbridge Hall 107 |
Meeting Time: |
Thursday 4:30 to 7:10 |
Instructor: |
Dr. Robert Simon |
Office: |
5322 Engineering Building |
Phone: |
703-993-1556 |
E-mail: |
simon AT gmu dot edu |
Office Hours: |
Thursday 7:20 to 8:20, or by appointment |
|
This course covers the principles of operating systems theory and practice. Fundamental concepts such as processes, synchronization, scheduling, memory management, file systems and security will be presented.
(Undergraduate level CS 310 Minimum Grade of C) and (Undergraduate level CS 367 Minimum Grade of C or Undergraduate level ECE 445 Minimum Grade of C)
"Operating System Concepts", by Silberschatz, Galvin and Gagne (9th Edition, John Wiley and Sons 2012, ISBN 978-1-118-06333-0).
- Introduction
- Processes
- Threads
- Process Communication and Synchronization
- CPU Scheduling
- Memory Management
- File, I/O and Storage Systems
- Protection and Security
- Virtual Machines
- Distributed Systems
All class materials, including lecture notes, are available through your blackboard accounts.
There will be several programming projects. The assignments will involve designing and implementing parts of an actual operating system called OS/161. You need to be comfortable with programming in C to complete these assignments. Details concerning OS/161 will be presented in class.
Please NOTE
Your grade will be calcuated as follows:
- 35% Programming Projects and occasional homeworks
- 30% Midterm exam
- 40% Final exam
No credit if your project does not compile. Projects are due at the start of class, not during class. Late assignments/projects lose 10% credit per day and will not be accepted
3 days after the due date.
No early exams will be given. If you must miss an exam an makeup will be arranged at the discretion of the instructor, provided
you have a written and verified excuse.
During the lectures, please make sure you avoid behavior that distracts others, including chatting, sleeping, or routinely arriving to class late. The use of any electronic device during class (including laptops, tablets, cell phones, smartphones, etc.) is not allowed. Violation of these policies will result in points deducted from your final grade.
- 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 modern 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, and the potential run-time problems arising from, the concurrent operation of multiple tasks (processes/threads).
- Be able to solve the basic process synchronization problems, by also making use of basic data structures and programming techniques covered in previous courses.
- 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 identify potential threats to operating systems and the security features designed to guard against them.
- Be able to implement (in a high-level programming language such as C or Java) a suit of basic algorithms proposed for the main OS services such as memory management and process scheduling.
- Be able to implement a simple client/server application using system calls and distributed programming.
If you have a learning or physical difference that may affect your academic work, you will need to furnish appropriate documentation to GMU Disability Resource Center. If you qualify for accommodation, the DRC staff will give you a form detailing appropriate accommodations for your instructor. If you have such a condition, you must talk to the instructor during the first week of the term about the issue.
GMU Academic Calendar
Honor Code
Disability Resource Center