Topic Name Description
Course Introduction Page Course Syllabus
Page Course Terms of Use
Unit 1: Introduction to Operating Systems Page Unit 1 Learning Outcomes
1.1: History of Operating Systems Page University of California, Berkeley: John Kubiatowicz's "What Is an Operating System?"

Watch the video from 1:09:00 to the end. This section of the video gives a nice overview of operating systems.

URL Ayman Moumina's "History of Operating Systems"

Read this article.

URL Milo's "History of Operating Systems"

Read this article. 

1.2: Operating System Structure Page University of California, Berkeley: John Kubiatowicz's "Operating Systems History, Services, and Structure"

Watch this lecture.

1.2.1: Abstract Computer Component Overview URL City College of New York: Jinzhong Niu's "Computer System Overview: Part 1"

Read this article.

1.2.2: Functional Overview URL Good Will Community Foundation: "Computer Basics: What Is an Operating System?"

Read these 7 slides. You may click on the "Next" or "Back" button to navigate through the slides.

1.3: Different Operating Systems Overview URL Computer Hope: "Operating Systems"

Read this page and click on the links for more information on specific operating systems.

1.3.1: 32-Bit vs. 64-Bit OS URL Gizmo's Freeware: "32-bit and 64-bit Explained"

Read this article.

URL Microsoft Corporation: "32-bit and 64-bit Frequently Asked Questions"

Read these questions. To find an answer to a question, click on the question.

1.3.2: UNIX-based URL The UNIX Systems Cooperative Promotion Group: "The Unix Operating System: Mature, Standardized and State-of-the-Art"

Read this white paper.

1.3.2.1: Linux (Ubuntu, Fedora, etc.) URL Linux.com: "What Is Linux? An Overview of the Linux Operating System"

Read this article.

1.3.2.2: Solaris URL Operating System Documentation Project: "Solaris"

Read this article for an overview of the operating systems Solaris 8, Solaris 9, Solaris 10, and OpenSolaris.

1.3.3: Windows URL Wikipedia: "Microsoft Windows"

Read this article for a good overview of the Windows operating system.

1.3.4: Mobile URL Wikipedia: "iOS (Apple)"

Read this article.

URL Wikipedia: "Android"

Read this article.

URL Wikipedia: "Windows Phone"

Read this article.

1.3.5: Real-Time URL Indian Institute of Technology, Kharagpur: "Introduction to Real-Time Systems"

Read this article, which will give you a good overview of real-time systems.

URL Indian Institute of Technology, Bangalore: "Real-time Operating Systems and Microkernels"

Read this article for a good overview of real-time operating systems.

URL Indian Institute of Technology, Kharagpur: "Embedded System Software"

Read this article for a good synopsis of many of the commercial real-time operating systems.

URL Operating System Documentation Project: "VxWorks"

Read this article.

URL Operating System Documentation Project: "QNX"

Read this article.

Unit 2: Processes and Threads Page Unit 2 Learning Outcomes
2.1: Concurrency Page University of California, Berkeley: John Kubiatowicz's "Concurrency: Processes, Threads, and Address Spaces"

Watch this video, which will be an introduction to Unit 2 and will touch on all topics outlined in this unit.

URL Northwestern University: Peter A. Dinda's "Concurrency"

Read this handout.

2.2: Processes Page International Technological University: Dr. Barbara Hecker's "Principles of Operating Systems: Processes"

Watch this video.

URL National Program on Technology Enhanced Learning: P.C.P Bhat's "Processes and Process Management"

Read these lecture notes.

URL Portland State University: Jonathan Walpole's "The Process Concept"

Read these slides.

2.3: Threads URL University of California at Santa Barbara: Rich Wolksi and Jame's Plank's "A Brief Introduction to Threads"

Read this article.

URL Portland State University: Jonathan Walpole's "Threads and Concurrency"

Read these slides.

Page International Technological University: Dr. Barbara Hecker's "Principles of Operating Systems: Threads"

Watch this video.

URL Kent State University: Rashid Muhammad's "Threads"

Read this page.

2.4: Context Switch URL OSDev: "Context Switching"

Read this article.

URL Polytechnic College, Pavoorchatram: Anand K. Lakshmi's "Context Switches"

Read this article.

URL Florida International University: Dr. Scott Graham's "Processes and Threads"

Read slides 4 through 10.

URL University of California, Santa Barbara: Rich Wolksi's "Putting the P in Threads"

Read this article.

Unit 3: Synchronization Page Unit 3 Learning Outcomes
3.1: Synchronization: Relevance and Problems Page University of California, Berkeley: John Kubiatowicz's "Synchronization"

Watch this lecture.

URL Green Tea Press: Allen B. Downey's "Little Book of Semaphores: Chapter 1"

Read chapter 1, on pages 1-6.

3.2: Race Conditions URL Virginia Tech: Dr. Ali Butt's "Introduction to Race Conditions"

Read these slides.

3.3: Semaphores Page University of California, Berkeley: John Kubiatowicz's "Mutual Exclusion, Semaphores, Monitors and Condition Variables"

Watch this lecture.

URL Green Tea Press: Allen B. Downey's "Little Book of Semaphores"

Read chapter 2 on pages 7-9 and chapter 4 on pages 61-120.

URL Programming Examples: "Java Semaphore"

Read this page.

Page Stanford University: Jerry Cain's "Programming Paradigms"

Watch this lecture.

URL Florida State University: Andy Wang's "Monitors and Condition Variables"

Read this document.

Unit 4: CPU Scheduling Page Unit 4 Learning Outcomes
4.1: Scheduling General Objective Page University of California, Berkeley: John Kubiatowicz's "Thread Scheduling"

Watch the first lecture from 54:00 to the end, and watch the second lecture until 31:00.

URL Florida State University: Andy Wang's "CPU Scheduling"

Read this document.

4.2: Goals URL University of Texas at Austin: Mike Dahlin's "CPU Scheduling"

Read these notes.

4.3: Types URL Creighton University: Dr. David Reed's "CPU Scheduling"

Read the first seven slides.

4.4: Algorithms URL Florida International University: Dr. Scott Graham's "Scheduling"

Read these slides.

Unit 4 Exercises and Assessment URL CPU Scheduling Simulation Exercises

Please complete both parts of the CPU scheduling simulations. You will need to have Java Installed on your computer. Please follow all of the instructions provided. Your results should match the answers provided in the answer keys for Part 1 and Part 2.

Unit 5: Deadlock Page Unit 5 Learning Outcomes
5.1: Definition Page University of California, Berkeley: John Kubiatowicz's "Deadlock"

Watch the first lecture starting at 49:00, and watch the second lecture until 54:00.

URL Rensselaer Polytechnic Institute: Robert P. Ingalls' "Deadlock"

Read these lecture notes.

5.2: Deadlock Prevention and Avoidance URL Johns Hopkins University: Yair Amir's "Operating Systems"

Read slides 10 through 16.

URL Banker's Algorithm Problem Set

Read through the review of the Banker's Algorithm if you need to review the way that the algorithm works. Complete both exercises and check your answers against the answer key.

5.3: Deadlock Detection and Recovery URL Florida State University: Andy Wang's "Deadlock"

Read this document.

URL Deadlock Simulation Lab

Complete this lab. All instructions are included for downloading and running the simulator. Compare the results of your experiments to the answer key.

Unit 6: Memory Management Page Unit 6 Learning Outcomes
6.1: Overview of Memory Management URL Worcester Polytechnic Institute: Dr. Jerry Breecher's "Memory Management"

Read these slides.

6.1.1: Memory Hierarchy URL The Memory Management Reference: "Overview"

Read this page.

6.1.2: OS Interaction with Memory Levels URL University of Idaho: Dr. Axel Kring's "Paging"

Read the first seven slides.

6.1.3: Virtual Memory URL Thomas Finley's "Virtual Memory"

Read these notes.

Page Massachusetts Institute of Technology: Hari Balakrishnan and Samuel Madden's "Virtual Memory"

Watch this lecture.

6.2: Allocating Memory URL The University of Wisconsin, Madison: Marvin Solomon's "Memory Management"

Read these notes.

URL Memory Management Simulation

Complete this assignment. You can check your answers against the answer key.

6.3: Memory Access URL The University of Wisconsin, Madison: Marvin Solomon's "Segmentation"

Read these notes.

URL Jeremy Pierre's "An Introduction to Intel Memory Management"

Read this document.

URL Brandon Friesen's "The GDT"

Read this article.

URL The University of Wisconsin, Madison: Marvin Solomon's "Paging"

Read these notes.

Unit 7: File System Page Unit 7 Learning Outcomes
7.1: Introduction to File Systems URL Florida State University: Andy Wang's "File Systems and Disk Management"

Read this document.

Page University of California, Berkeley: John Kubiatowicz's "File Systems"

Watch this lecture.

URL University of Western Australia: Amitava Datta's "File System Management"

Read these notes.

7.2: File Allocation Methods URL Virginia Tech: "File Management"

Read this page and  be sure to complete the simulations for each type of file management.

URL John Hopkins University: Dr. Yair Amir's "The File System"

Read these slides.

7.3: Disk Management Algorithms URL Johns Hopkins University: Yair Amir's "File Systems and Disk Management"

Read these slides.

Page University of California, Berkeley: John Kubiatowicz's "Queueing Models"

Watch the first lecture starting at 54:00, and watch the second lecture until 60:00.

URL University of Buffalo: Bina Ramamurthy's "Disk Scheduling Lecture Notes"

Read slides 4 through 15.

Unit 7 Activities URL Disk Scheduling Simulation Lab

Please complete both parts of the lab. Compare your results to the second part with those contained in the answer key.

URL File System Simulation Lab

Please follow all directions and complete the entire laboratory. Save your results to a Word document as instructed and compare your results to the answer key.

URL Disk Management Algorithms Exercises

Review the material on disk management algorithms. Complete all problems. For problems 1 and 3, it might be easiest to use a spreadsheet to track the movement of the disk head as well as to calculate the number of cylinders moved. Compare your results with the answer key.

Unit 8: Security Page Unit 8 Learning Outcomes
8.1: Introduction to Security Page Massachusetts Institute of Technology: Hari Balakrishnan and Samuel Madden's "Security Introduction"

Watch this video.

URL Florida State University: Andy Wang's "Protection and Security"

Read this document.

URL University of Illinois Chicago: John Bell's "Security"

Read this document.

8.2: Malicious Software Overview URL Auburn University: Dr. John Hamilton's "Malware" and "Viruses"

Click on "Lesson Slides." Then read the notes for lectures 5 and 6.

URL Purdue University: Avinash Kak's "Malware: Viruses and Worms"

Read these notes.

URL Purdue University: Avinash Kak's "Bots and Botnets"

Read these notes.

8.3: Security Techniques URL University of Illinois Chicago: John Bell's "Protection"

Read this page.

URL Microsoft Corporation: "Security Strategies"

Read this page.

Page Massachusetts Institute of Technology: Hari Balakrishnan and Samuel Madden's: "Security Techniques Lectures"

Watch these lectures.

URL National Institutes of Standards and Technology: Karen Scarfone and Peter Mell's "Guide to Intrusion Detection and Prevention Systems"

Read from the beginning to the end of Chapter 3.

Unit 9: Networking Page Unit 9 Learning Outcomes
9.1: Introduction Page Massachusetts Institute of Technology: Hari Balakrishnan and Samuel Madden's "Introduction to Networks"

Watch this lecture.

URL Olivier Bonaventure's "Computer Networking"

Read this introduction.

Page University of California, Berkeley: John Kubiatowicz's "Networking II"

Watch this lecture.

9.2: Protocol Architecture Page Massachusetts Institute of Technology: Hari Balakrishnan and Samuel Madden's "Layering and Link Layer"

Watch this lecture.

9.3: The Reference Models URL Olivier Bonaventure's "Computer Networking"

Read this section.

URL Haifa Linux Club: "TCP/IP Networking"

Read these slides.

URL Gary C. Kessler's "An Overview of TCP/IP Protocols and the Internet"

Read this section.

Page Aleksa Majkic's "The Osi Model Animation"

Watch this animation.

Page San Francisco City College: Isaias Leiva's "Introduction to the OSI Model"

Watch this video.

9.4: Network Intrusion Detection URL National Institutes of Standards and Technology: Karen Scarfone's and Peter Mell's "Guide to Intrusion Detection and Prevention Systems"

Read chapters 4, 5, and 6.

Optional Course Evaluation Survey URL Optional Course Evaluation Survey

Please take a few moments to provide some feedback about this course. Consider completing the survey whether you have completed the course, you are nearly at that point, or you have just come to study one unit or a few units of this course.

Your feedback will focus our efforts to continually improve our course design, content, technology, and general ease-of-use. Additionally, your input will be considered alongside our consulting professors' evaluation of the course during its next round of peer review. As always, please report urgent course experience concerns to contact@saylor.org and/or our discussion forums.