computer science class
Introduction to Operating Systems
Department of Computer Science and Electrical Engineering
Syllabus
Course Description:
This is a three credit-hour course that covers concurrency and control of asynchronous processes, deadlocks, memory management, processor and disk scheduling, x86 assembly language, parallel processing, and file system organization in operating systems.
Student Learning Outcomes:
· Distinguish the basic tasks common to all operating systems.
· Demonstrate the application of foundational functionalities within a Unix-based operating system.
· Identify the concepts and techniques of process management, including interrupts and multitasking.
· Explain the concepts and techniques of memory management, including dynamic memory allocation methods (Best Fit, Next Fit, First Fit, Worst Fit), and CPU scheduling algorithms (Round Robin, FCFS, SPN, SRT, Feedback).
· Describe the concepts and techniques of file management, including fragmenting, storage methods, backup methods, archiving, etc.
Pre-requisites:
· CS 303 Data Structures (or equivalent)
· CS 281R Introduction to Computer Architecture and Organization (or equivalent)
· Decent knowledge of developing software in C, C++, or Java
Textbooks:
· Required (recent prior editions will also work)
o Operating System Concepts by Abraham Silberschatz, Peter B. Galvin, and Greg Gagne. 9th Edition. ISBN 978-1-118-06333-0
· Recommended
o Modern Operating Systems by Andrew S. Tanenbaum. 4th Edition. ISBN-13: 978-
0133591620
o The Linux Programming Interface by Michael Kerrisk. 2010. ISBN-13: 978-1-59327-220-3 o Running Linux: A Distribution-Neutral Guide for Servers and Desktops by
Matthias Dalheimer and Matt Welsh. 5th Edition. ISBN-13: 978-0596007607
o C for Programmers with an Introduction to C11 by Paul Deitel and Harvey Deitel. 2013.
ISBN-13: 978-0-13-346206-7
Instructional Strategies/Approach:
This course will use a classroom-based lecture format that is supported by assignments, quizzes, and exams that reinforce the lecture material. The lectures will cover material from the primary text book with significant material from other resources that show the application of the lecture material to a specific operating system environment. The lectures will include discussions to encourage the students to analyze and understand the course material.
|
Evaluation and Grading Criteria: |
Grade Assignment: |
|
|
|
|
Attendance |
5% |
A [94, 100) |
C+ [77, 79) |
|
|
Quizzes |
15% |
A− [90, 93) |
C |
[70, 76) |
|
Assignments |
20% |
B+ [87, 89) |
C− [65, 69) |
|
|
Midterm #1 |
20% |
B [83, 86) |
D |
[50, 64) |
|
Midterm #2 |
20% |
B− [80, 82) |
F |
[0, 49) |
|
Final Exam |
20% |
|
|
|
Evaluation Details:
· Quizzes: Quizzes will not be always announced in advance, so make sure that you are prepared every class. Generous credits will be given for above average effort in answering a quiz problem. However, to receive full credit, the answer must be completely correct with no false statements. No make-up quiz will be given unless there is a valid, documented excuse.
· Assignments: all assignments are expected to be submitted to Canvas by 11:00 PM on the due date. Late assignments may be accepted (on a case by case basis), but late penalties will apply. An assignment that is (1 minute to) 24 hours late will lose 10%. This continues for school days, so that an assignment that is one week late will lose 50% of the grade. Assignments will not normally be accepted more than one week late.
· Exams: if you know ahead of time of a problem in attending an exam, let me know as soon as possible and we will work something out. I will give make-up exams ONLY if we have discussed the issue ahead of time and made a specific arrangement. In general, I will allow make-up exams when there are extenuating circumstances with proper documentation.
Expectations:
· Download slides and supporting materials from http://os-book.com.
· I will regularly post announcements to Canvas. Please check it frequently.
· You are expected to attend all classes. You are responsible for all materials covered in class whether you are in attendance or not.
· All forms of academic dishonesty will be penalized including: copying code without properly referencing the source, or recording someone else’s attendance without them being present in the classroom.
· This syllabus is subject to changes during the semester.
Tentative Schedule:
Agenda
Course Introduction Operating System Introduction
Operating System Structures
Processes
Threads
Process Synchronization
CPU Scheduling
Deadlocks
Midterm 1
Main Memory Virtual Memory Mass-Storage Structure File-System Interface File-System Implementation
Spring break
Review
Security
Running Linux (on a VMM)
Review
Protection
No Classes
Midterm 2