CS471 Operating Systems
Location: |
Innovation Hall 132 |
Meeting Time: |
Tuesday, Thursday Noon to 1:15 |
Instructor: |
Dr. Robert Simon |
Office: |
5322 Engineering Building |
Phone: |
703-993-1556 |
E-mail: |
simon AT gmu dot edu |
Office Hours: |
Thursday 2:00 to 3:00, 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). In order to succeed in the class you must be comfortable programming in C.
"Operating System Principles & Practice", by Thomas Anderson and Michael Dahlin ISBN 978-0-9856735-2-9 Recursive Books http://pages.cs.wisc.edu/~remzi/OSTEP/
- 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 and programming assignments, 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:
- 45% Programming Projects
- 20% Midterm exam
- 30% Final exam
- 5% Class participation
Class attendance is not absolutely required but is highly recommended. Notice, for instance, that 5% of your grade is for class participation
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. This means that you cannot sit there and sneak peeks at your cell. Violation of any of these policies will automatically 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.
Disability Resource Center
The GMU Honor Code will be strictly enforced. Please make sure that you are familiar with it. We will discuss this further in class. Below is the link to the code.
Honor Code