![]() |
This course is currently being improved through our peer review process. |
Operating Systems
Purpose of Course showclose
Course Information showclose
Welcome to CS401! Below, please find some general information on the course and its requirements.
Course Designer: John Russo
Primary Resources: This course is comprised of a range of different free, online materials. However, the course makes primary use of the following materials:
- YouTube: University California, Berkeley: Professor John Kubiatowicz’s OS Course Video Lectures
- IIT Kharagpur NPTEL Online
Requirements for Completion: In order to complete this course, you will need to work through each unit and all of its assigned materials. Pay special attention to Unit 1, as this lays the groundwork for understanding the more advanced, exploratory material presented in the latter units.
You will also need to complete a Final Exam. Please note that you will only receive an official grade on your Final Exam. In order to “pass” the course, you must receive a grade of 70% or higher on the Final Exam. Your score on the exam will be tabulated as soon as you complete it. If you do not pass the exam, you may take it again.
Time Commitment: This course will take approximately 119.75 hours to complete. Each unit includes a “time advisory” that lists the amount of time you are expected to spend on each subunit. These should help you plan your time accordingly. It may be useful totake a look at these time advisories and to determine how much time you have over the next few weeks to complete each unit, and then to set goals for yourself. For example, Unit 1 takes 19 hours to complete. Perhaps you could sit down with your calendar and plan to complete subunit 1.1 (a total of 3.5 hours) on Monday and Tuesday evenings; subunit 1.2 (a total of 2.5 hours) on Wednesday evening; etc.
Tips/Suggestions: It may be helpful to take notes for each of the resources presented in this course, organizing your notes based on the structure of the units, and subunits. These notes will be useful as you study for your Final Exam.
Learning Outcomes showclose
- Explain what an operating system does and how it is used.
- Identify the various components of a computer system and how they interact with an operating system.
- Describe the differences between a 32-bit and 64-bit operating system.
- Explain the different types of operating systems and the major ones in use today.
- Discuss the importance and use of threads and processes in an operating system.
- Describe concurrency.
- Explain the difference between a thread and a process.
- Discuss context switching and how it is used in an operating system.
- Describe synchronization.
- Explain a race condition.
- Discuss interprocess communication.
- Describe how semaphores can be used in an operating system.
- Discuss three of the classic synchronization problems
- Explain the alternatives to semaphores.
- Discuss CPU scheduling and its relevance to operating systems.
- Explain the general goals of CPU scheduling.
- Describe the differences between pre-emptive and non-preemptive scheduling.
- Discuss four CPU scheduling algorithms.
- Explain what deadlock is in relation to operating systems.
- Discuss deadlock prevention, avoidance, and their differences.
- Describe deadlock detection and recovery.
- Explain the memory hierarchy.
- Discuss how the operating system interacts with memory.
- Describe how virtual memory works.
- Discuss three algorithms for dynamic memory allocation.
- Explain methods of memory access.
- Describe paging and page replacement algorithms.
- Describe a file system and its purpose.
- Discuss various file allocation methods.
- Explain disk allocation and associated algorithms.
- Discuss types of security threats.
- Describe the various types of malware.
- Explain basic security techniques.
- Explain basic networking principles.
- Discuss protocols and how they are used.
- Explain reference models, particularly TCP/IP and OSI.
Course Requirements showclose
√ Have access to a computer.
√ Have continuous broadband Internet access.
√ Have the ability/permission to install plug-ins (e.g. Adobe Reader or Flash) and software.
√ Have the ability to download and save files and documents to a computer.
√ Have the ability to open Microsoft file and documents (.doc, .ppt, .xls, etc.).
√ Be competent in the English language.
√ Have read the Saylor Student Handbook.
√ Have completed the following courses from “The Core Program” of the Computer Science discipline: CS101 through CS303 with a particular focus on CS301: Computer Architecture.
Unit Outline show close
Expand All Resources Collapse All Resources
-
Unit 1: Introduction to Operating Systems
We will begin this course with a high level introduction to Operating Systems (OS). The Operating System acts as a platform of information exchange between your computer’s hardware and the applications running on it. Most people are familiar with the Windows Operating System family (2000, XP, Vista, etc.) or Apple’s suite of Operating Systems (Leopard, Snow Leopard, etc.), but for the purposes of this course, we will focus on UNIX: the open-source OS deployed all over the world in both personal and commercial systems. First, we will start with a discussion on some of the earliest Operating Systems, including those which are considered precursors to the Operating Systems that we are familiar with today. Then, we will review the general OS structure and give a basic functional overview. We will conclude this module with a discussion of the modern Operating Systems and devices that we are familiar with.
Unit 1 Time Advisory show close
Unit 1 Learning Outcomes show close
- Web Media: UC Berkeley: Professor John Kubiatowicz’s “Lecture 1: What Is an Operating System?”
Link: UC Berkeley: Professor John Kubiatowicz’s “Lecture 1: What Is an Operating System?” (YouTube)
Instructions: Watch the video starting at 1 hour and 9 minutes until the end. This section of the video gives a nice overview of operating systems.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.
See a broken link? Please let us know!
- Web Media: UC Berkeley: Professor John Kubiatowicz’s “Lecture 1: What Is an Operating System?”
-
1.1 History of Operating Systems
- Reading: Computing History Museum: Ayman Moumina’s “History of Operating Systems”
Link: Computing History Museum: Ayman Moumina’s “History of Operating Systems” (PDF)
Instructions: Please click on the link above to access the Computing History Museum website. Then, under Spring 2001, please select the paper titled “Operating Systems” by Ayman Moumina to download the PDF file. Please read the entire article (38 pages). Note that this reading also covers the topics outlined in subunits 1.1.1-1.1.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Reading: OSData.com: Milo’s “History of Operating Systems”
Link: OSdata.com: Milo’s “History of Operating Systems” (HTML)
Instructions: Please read the entire article. Note that this reading also covers the topics outlined in subunits 1.1.1-1.1.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Operating Systems History, Services, and Structure”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Operating Systems History, Services, and Structure” (YouTube)
Instructions: Watch the entire video (about 1 hour and 23 minutes). Please note that this video applies to subunits 1.1, 1.2, and all inclusive subunits.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Computing History Museum: Ayman Moumina’s “History of Operating Systems”
-
1.1.1 Motivation
Note: This topic is covered by the resources underneath subunit 1.1
-
1.1.2 PC/MS-DOS
Note: This topic is covered by the resources underneath subunit 1.1
-
1.1.3 MinixLinux
Note: This topic is covered by the resources underneath subunit 1.1
-
1.1.4 Mainframe Servers and Mainframes
Note: This topic is covered by the resources underneath subunit 1.1
-
1.2 Operating System Structure
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 2: History of the World Parts 1-5: Operating Systems Structures"
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 2: History of the World Parts 1-5: Operating Systems Structures” (YouTube)
Instructions: Watch the entire video (about 1 hour and 23 minutes). Please note that this video also applies to the topics outlined for subunits 1.2.1, 1.2.2, and all sections included beneath these subunits.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 2: History of the World Parts 1-5: Operating Systems Structures"
-
1.2.1 Abstract Computer Component Overview
- Reading: City College of New York: Jinzhong Niu’s “Computer System Overview: Part 1”
Link: City College of New York: Jinzhong Niu’s “Computer System Overview: Part 1” (PDF)
Instructions: Please scroll down the website to the “Notes” section, and click on the link for Computer Systems Overview Part 1 to open the PDF file. Read the entire document (7 pages). This reading also applies to the topics covered in subunits 1.2.1.1-1.2.1.3.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: City College of New York: Jinzhong Niu’s “Computer System Overview: Part 1”
-
1.2.1.1 Hardware
Note: This topic is covered by the video lecture in subunit 1.2 and the reading in subunit 1.2.1. Focus on Section 2 of the reading.
-
1.2.1.2 Operating System
Note: This topic is covered by the video lecture in subunit 1.2 and the reading in subunit 1.2.1. Focus on Section 1 of the reading.
-
1.2.1.3 Applications
Note: This topic is covered by the video lecture in subunit 1.2 and the reading in subunit 1.2.1. Focus on Section 1 of the reading, including the diagram
-
1.2.2 Functional Overview
- Reading: Good Will Community Foundation’s “Computer Basics: What Is an Operating System?”
Link: Good Will Community Foundation’s “Computer Basics: What Is an Operating System?” (HTML and Adobe Flash)
Instructions: Read through the 7 slides. You may click on the “Next” or “Back” button to navigate through the slide show. Note: This reading also covers the topics outlined in subunits 1.2.2.1 and 1.2.2.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Good Will Community Foundation’s “Computer Basics: What Is an Operating System?”
-
1.2.2.1 Hardware Abstraction and Management
Note: This topic is covered by the reading underneath subunit 1.2.2.
-
1.2.2.2 Manage the Running of Applications
Note: This topic is covered by the reading underneath subunit 1.2.2
-
1.3 Different Operating Systems Overview
- Reading: Computer Hope’s “Operating Systems”
Link: Computer Hope’s “Operating Systems” (HTML)
Instructions: Please read the entire webpage. Also, click on the links for more information on specific operating systems. Note: this reading also applies to inclusive subunits 1.3.1-1.3.5.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Computer Hope’s “Operating Systems”
-
1.3.1 32-Bit vs. 64-Bit OS
- Reading: Initcron’s “32bit vs. 64bit Operating System"
Link: Initcron’s “32bit vs. 64bit Operating System” (HTML)
Instructions: Please read the entire article.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Microsoft Corporation’s “32-bit and 64-bit Frequently Asked Questions”
Link: Microsoft Corporation’s “32-bit and 64-bit Frequently Asked Questions” (HTML)
Instructions: Read through all of the material. To find information about an answer to a question, click on the question.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Initcron’s “32bit vs. 64bit Operating System"
-
1.3.2 UNIX-based
- Reading: Unix.org: The UNIX Systems Cooperative Promotion Group’s “The Unix Operating System: Mature, Standardized and State-of-the-Art”
Link: Unix.org: The UNIX Systems Cooperative Promotion Group’s “The Unix Operating System: Mature, Standardized and State-of-the-Art” (HTML)
Instructions: Read the entire white paper.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Unix.org: The UNIX Systems Cooperative Promotion Group’s “The Unix Operating System: Mature, Standardized and State-of-the-Art”
-
1.3.2.1 Linux (Ubuntu, Fedora, etc.)
- Reading: Linux.com’s “What Is Linux: An Overview of the Linux Operating System”
Link: Linux.com’s “What Is Linux: An Overview of the Linux Operating System” (HTML)
Instructions: Read all 6 pages of the article. Click on the “Next” link at the bottom of each page to move on to subsequent pages of the article.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Linux.com’s “What Is Linux: An Overview of the Linux Operating System”
-
1.3.2.2 Solaris
- Reading: operating-system.org’s “Solaris”
Link: operating-system.org’s “Solaris” (HTML)
Instructions: Read the entire article for an overview of the operating systems Solaris 8, Solaris 9, Solaris 10, and OpenSolaris. Make sure to also click on the .jpg images of the screen shots at the bottom of the webpage for visuals of each OS.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: operating-system.org’s “Solaris”
-
1.3.3 Windows
- Reading: operating-system.org’s “Windows® Family”
Link: operating-system.org’s “Windows® Family” (HTML)
Instructions: Read the entire article for a good overview of the Windows operating system. Please be sure to click on the links for all of the versions of Windows, and read the corresponding articles.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: operating-system.org’s “Windows® Family”
-
1.3.4 Mobile
Note: This topic is covered by the reading in subunit 1.3, as well as the readings under subunits 1.3.4.1-1.3.4.4.
-
1.3.4.1 Palm OS
- Reading: operating-system.org’s “Palm Computing”
Link: operating-system.org’s “Palm Computing” (HTML)
Instructions: Read the entire article, and view the screenshots.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: operating-system.org’s “Palm Computing”
-
1.3.4.2 IOS
- Reading: Wikipedia: “iOS (Apple)”
Link: Wikipedia: “iOS (Apple)” (HTML)
Instructions: Read the entire article.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Wikipedia: “iOS (Apple)”
-
1.3.4.3 Android OS
- Reading: operating-system.org’s “Android OS”
Link: operating-system.org’s “Android OS” (HTML)
Instructions: Read the entire article, and view the screenshots.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: operating-system.org’s “Android OS”
-
1.3.4.4 Windows CE
- Reading: operating-system.org’s “Windows CE”
Link: operating-system.org’s “Windows CE” (HTML)
Instructions: Read the entire article, and view the screenshots.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: operating-system.org’s “Windows CE”
-
1.3.5 Real-Time
- Reading: IIT Kharagpur NPTEL Online’s “Introduction to Real-Time Systems”
Link: IIT Kharagpur NPTEL Online’s “Introduction to Real-Time Systems” (PDF)
Instructions: Click on the link for Module 1 to download the PDF file. Please read the entire document (30 pages). This reading will give you a good overview of real-time systems. Please note that this reading also applies to subunits 1.3.5.1-1.3.5.3.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: IIT Bangalore NPTEL Online’s “Operating Systems Module 8” Lecture Notes
Link: IIT Bangalore NPTEL Online’s “Operating Systems Module 8” Lecture Notes (PDF)
Instructions: Click on the link for Module 8, and then click on the link for lecture notes to download the PDF file. Please read the entire document (15 pages). This reading will give you a good overview of real-time operating systems. Please note that this reading also applies to subunits 1.3.5.1-1.3.5.3.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: IIT Kharagpur NPTEL Online’s “Embedded Systems”
Link: IIT Kharagpur NPTEL Online’s “Embedded Systems” (PDF)
Instructions: Click on the link for Module 6, and then select the link for Lesson 32 to download the PDF file. Please read the entire document (11 pages). This reading provides a good synopsis of many of the commercial real-time operating systems. Please note that this reading also applies to subunits 1.3.5.1-1.3.5.3.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: IIT Kharagpur NPTEL Online’s “Introduction to Real-Time Systems”
-
1.3.5.1 VxWorks
- Reading: operating-system.org’s “VxWorks”
Link: operating-system.org’s “VxWorks” (HTML)
Instructions: Read the brief article in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: operating-system.org’s “VxWorks”
-
1.3.5.2 QNX
- Reading: operating-system.org’s “QNX”
Link: operating-system.org’s “QNX” (HTML)
Instructions: Read the entire article, and view the screenshots.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: operating-system.org’s “QNX”
-
1.3.5.3 pSOS
Note: This topic is covered by the Embedded Systems reading in subunit 1.3.5
-
Unit 2: Processes and Threads
We will discuss two central building blocks of modern Operating Systems: Processes and Threads. Processes (instances of a running computer program) and threads (a specific task running within a program) are integral to the understanding of how an OS executes a program and the communication of information between each of the computer’s architectural layers. We will start with an overview of each concept, including definitions, uses, and types. We will then discuss the commonalities and differences between processes and threads. We will conclude this unit with a discussion on Context Switches and the important role they play in CPU scheduling, which will be discussed more in depth in Unit 4.
Unit 2 Time Advisory show close
Unit 2 Learning Outcomes show close
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 3: Concurrency: Processes, Threads, and Address Spaces”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 3: Concurrency: Processes, Threads, and Address Spaces” (YouTube)
Instructions: Watch the entire video (about 1 hour and 24 minutes). This video will be an introduction to Unit 2 and will touch on all topics outlined in this unit.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 3: Concurrency: Processes, Threads, and Address Spaces”
-
2.1 Concurrency
- Reading: Northwestern University: Professor Peter A. Dinda’s “Concurrency Lecture”
Link: Northwestern University: Professor Peter A. Dinda’s “Concurrency Lecture” (PDF)
Instructions: Scroll down the webpage to the “Important Hand-Outs” section, and click on the PDF link after Concurrency to open the file. Please read the entire PDF document (4 pages). This reading also applies to subunits 2.1.1 and 2.1.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Northwestern University: Professor Peter A. Dinda’s “Concurrency Lecture”
-
2.1.1 Definition
Note: This topic is covered by the reading underneath subunit 2.1.
-
2.1.2 How Concurrency Is Used within an OS
Note: This topic is covered by the reading underneath subunit 2.1
-
2.2 Processes
- Lecture: National Program on Technology Enhanced Learning: P.C.P Bhat’s “Module 3: Processes and Process Management”
Link: National Program on Technology Enhanced Learning: P.C.P Bhat’s “Module 3: Processes and Process Management”
Instructions: Click on Module 3 to expand choices. Once expanded, click on Lecture Notes.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Lecture: Portland State University: Professor Jonathan Walpole’s “The Process Concept”
Link: Portland State University: Professor Jonathan Walpole’s “The Process Concept” (PDF or PowerPoint)
Instructions: Scroll down to the Schedule and Syllabus section. Click on the PDF link next to Class 2. Read the entire set of slides (49 pages). This lecture also applies to the topics outlined in subunits 2.2.1-2.2.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: YouTube: International Technological University: Dr. Barbara Hecker’s “CEN 959: Principles of Operating Systems Video Lecture 4”
Link: YouTube: International Technological University: Dr. Barbara Hecker’s “CEN 959: Principles of Operating Systems Video Lecture 4” (YouTube)
Instructions: Please watch the entire video (1:28:46).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: National Program on Technology Enhanced Learning: P.C.P Bhat’s “Module 3: Processes and Process Management”
-
2.2.1 Definition
Note: This topic is covered by the lectures below subunit 2.2.
-
2.2.2 Difference between a “Process” and a “Program”
Note: This topic is covered by the lectures below subunit 2.2.
-
2.2.3 What Is Included in a Process?
Note: This topic is covered by the lectures below subunit 2.2.
-
2.2.4 Process Operation
Note: This topic is covered by the lectures below subunit 2.2
-
2.3 Threads
- Lecture: University of California at Santa Barbara: Rich Wolksi and Jame’s Plank’s “CS170 Lecture Notes: A Brief Introduction to Threads”
Link: University of California at Santa Barbara: Rich Wolksi and Jame’s Plank’s “CS170 Lecture Notes: A Brief Introduction to Threads” (HTML)
Instructions: Please read the entire page.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: Portland State University: Professor Jonathan Walpole’s “Threads and Concurrency”
Link: Portland State University: Professor Jonathan Walpole’s “Threads and Concurrency” (PDF or PowerPoint)
Instructions: Scroll down to the “Schedule & Syllabus” section. In the Class 3 row, please click on the PDF link to download the file. Read the entire set of slides (79 pages). This lecture also applies to the topics outlined in subunits 2.3.1-2.3.3 and any inclusive subunits.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: YouTube: International Technological University: Dr. Barbara Hecker’s “CEN 959: Principles of Operating Systems Video Lecture 5”
Link: YouTube: International Technological University: Dr. Barbara Hecker’s “CEN 959: Principles of Operating Systems Video Lecture 5” (YouTube)
Instructions: Please watch the entire video (1:03:21).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: University of California at Santa Barbara: Rich Wolksi and Jame’s Plank’s “CS170 Lecture Notes: A Brief Introduction to Threads”
-
2.3.1 Definition
Note: This topic is covered by the lectures below subunit 2.3.
-
2.3.2 Comparison to Processes
Note: This topic is covered by the lectures below subunit 2.3
-
2.3.3 Types
- Reading: Kent State University: Rashid Muhammad’s “Lecture Notes on Threads”
Link: Kent State University: Rashid Muhammad’s “Lecture Notes on Threads” (HTML)
Instructions: Please read the entire webpage. This reading covers topics in subunits 2.3.3.1 and 2.3.3.2. This topic is also covered by the lecture below subunit 2.3.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Kent State University: Rashid Muhammad’s “Lecture Notes on Threads”
-
2.3.3.1 User Threads
Note: This topic is covered by the lectures below subunits 2.3 and 2.3.3
-
2.3.3.2 System (Kernel) Threads
Note: This topic is covered by the lectures below subunits 2.3 and 2.3.3
- 2.4 Context Switch
-
2.4.1 Definition
- Reading: OSdev.org’s “Context Switching”
Link: OSdev.org’s “Context Switching” (HTML)
Instructions: Read the entire article.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: OSdev.org’s “Context Switching”
-
2.4.2 Steps
- Reading: Ustudy: Polytechnic College, Pavoorchatram: Director Anand K. Lakshmi’s “Context Switches”
Link: Ustudy: Polytechnic College, Pavoorchatram: Director Anand K. Lakshmi’s “Context Switches” (HTML)
Instructions: Read the entire article. This reading applies to the topics outlined in subunits 2.4.2.1-2.4.2.3 and any inclusive sections.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Ustudy: Polytechnic College, Pavoorchatram: Director Anand K. Lakshmi’s “Context Switches”
-
2.4.2.1 Current Process Saves State from Registers
Note: This topic is covered by the reading below subunit 2.4.
-
2.4.2.2 Kernel Actions
Note: This topic is covered by the reading below subunit 2.4.2
-
2.4.2.2.1 Process Context Switch
- Reading: Florida International University: Dr. Scott Graham’s Operating Systems Lecture Notes: “Processes and Threads”
Link: Florida International University: Dr. Scott Graham’s Operating Systems Lecture Notes: “Processes and Threads” (PowerPoint)
Instructions: Click on the “Processes & Threads” link next to January 18th. Read slides 4 through 10. Please note that this topic is also covered by the reading below subunit 2.4.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Florida International University: Dr. Scott Graham’s Operating Systems Lecture Notes: “Processes and Threads”
-
2.4.2.2.2 Thread Context Switch
- Reading: University of California at Santa Barbara: Rich Wolksi’s “CS170 Lecture Notes: Putting the P in Threads”
Link: University of California at Santa Barbara: Rich Wolksi’s “CS170 Lecture Notes: Putting the P in Threads” (HTML)
Instructions: Please read the entire page.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: University of California at Santa Barbara: Rich Wolksi’s “CS170 Lecture Notes: Putting the P in Threads”
-
2.4.2.3 New Process Loads Data into Registers
Note: This topic is covered by the reading below subunit 2.4.2.
-
Unit 3: Synchronization
Because a number of different entities will need to access data, it is important to learn how to maintain a consistent view of data across the OS. This is why we need a good synchronization management system. We will begin this section with an overview of why synchronization is so important to an Operating System and the problems that could arise if synchronization is not handled properly. The discussion will continue with an overview of Race Conditions (or system flaws in which the output of a given process is problematically dependent on the sequence of other events), and finally, Semaphores as a way of preventing Race Conditions and other more advanced alternatives to Semaphores, such as Monitors and Messages.
Unit 3 Time Advisory show close
Unit 3 Learning Outcomes show close
-
3.1 Synchronization: Relevance and Problems
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 6: Synchronization”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 6: Synchronization” (YouTube)
Instructions: Watch the entire video lecture (about 1 hour and 23 minutes). Please note that this video also covers the topics outlined in subunits 3.1.1 and 3.1.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Green Tea Press: Allen B. Downey’s Little Book of Semaphores: “Chapter 1”
Link: Green Tea Press: Allen B. Downey’s "Little Book of Semaphores: Chapter 1” (PDF)
Instructions: Click the Download the book in PDF link and read all of Chapter 1 (pages 1-6).
Terms of Use: Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. Please respect the copyright and terms of use for this text.See a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 6: Synchronization”
-
3.1.1 Processes and Threads Share Data and Resources
Note: This topic is covered by the resources beneath subunit 3.1.
-
3.1.2 Need to Maintain Consistent View of Data and Resources
Note: This topic is covered by the resources beneath subunit 3.1
-
3.2 Race Conditions
- Reading: Drexel University: Brian Mitchell’s “Operating Systems: Interprocess Communications”
Link: Drexel University: Brian Mitchell’s “Operating Systems: Interprocess Communications” (PDF)
Instructions: Please scroll down the webpage to the “Schedule” section. Then, click on the Process Synchronization link in topic 4. Read the first three pages. This reading also covers subunits 3.2.1, 3.2.2, and all inclusive sections (3.2.2.1-3.2.2.3.).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Virginia Tech: Dr. Ali Butt’s Lecture Slides: “Introduction to Race Conditions”
Link: Virginia Tech: Dr. Ali Butt’s Lecture Slides: “Introduction to Race Conditions” (PDF)
Instructions: Please scroll down to the date 2/10. Then, click on the PDF link next to the title “Intro to Race Conditions.” Read the entire set of slides (20 pages).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Drexel University: Brian Mitchell’s “Operating Systems: Interprocess Communications”
-
3.2.1 Definition
Note: This topic is covered by the resources beneath subunit 3.2.
-
3.2.2 Example
Note: This topic is covered by the resources beneath subunit 3.2
-
3.2.2.1 Two Threads Executing Same Function with Same Variables
Note: This topic is covered by the resources beneath subunit 3.2
-
3.2.2.2 Possible Thread Interruption at Any Time
Note: This topic is covered by the resources beneath subunit 3.2
-
3.2.2.3 How to Handle Data Consistency?
Note: This topic is covered by the resources beneath subunit 3.2
-
3.3 Semaphores
- Reading: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 7: Mutual Exclusion, Semaphores, Monitors and Condition Variables"
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 7: Mutual Exclusion, Semaphores, Monitors and Condition Variables” (YouTube)
Instructions: Watch the entire video (about 1 hour and 24 minutes). Please note that this lecture covers the topics in subunits 3.3.1-3.3.5.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 7: Mutual Exclusion, Semaphores, Monitors and Condition Variables"
-
3.3.1 Definition
- Reading: Green Tea Press: Allen B. Downey’s Little Book of Semaphores: “Chapter 2”
Link: Green Tea Press: Allen B. Downey’s "Little Book of Semaphores: Chapter 2" (PDF)
Instructions: Read all of Chapter 2 (pages 7-9). This reading covers the topics outlined in subunits 3.3.1-3.3.3.
Terms of Use: Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. Please respect the copyright and terms of use for this text.See a broken link? Please let us know!
- Reading: Green Tea Press: Allen B. Downey’s Little Book of Semaphores: “Chapter 2”
-
3.3.2 Uses
Note: This topic is covered by the reading below subunit 3.3.1.
-
3.3.3 Example using Java
- Reading: Wikidot’s Programming Examples: “Java Semaphore”
Link: Wikidot’s Programming Examples: “Java Semaphore” (HTML)
Instructions: Please read the entire webpage.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Wikidot’s Programming Examples: “Java Semaphore”
-
3.3.4 Classic Synchronization Problems
- Reading: Green Tea Press: Allen B. Downey’s Little Book of Semaphores: “Chapter 4”
Link: Green Tea Press: Allen B. Downey’s "Little Book of Semaphores: Chapter 4" (PDF)
Instructions: Read all of Chapter 4 (pages 61-120). This reading also covers the topics outlined in sections 3.3.4.1-3.3.4.3.
Terms of Use: Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. Please respect the copyright and terms of use for this textSee a broken link? Please let us know!
- Lecture: YouTube: Stanford University: Professor Jerry Cain’s “Programming Paradigms Lecture 16”
Link: YouTube: Stanford University: Professor Jerry Cain’s “Programming Paradigms Lecture 16” (YouTube)
Instructions: Please watch the entire lecture (51:32 minutes).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Green Tea Press: Allen B. Downey’s Little Book of Semaphores: “Chapter 4”
-
3.3.4.1 Produces vs. Consumers Problem
Note: This topic is covered by the resources beneath subunit 3.3.4
-
3.3.4.2 Readers-Writers Problems
Note: This topic is covered by the resources beneath subunit 3.3.4.
-
3.3.4.3 Dining Philosopher Problem
Note: This topic is covered by the resources beneath subunit 3.3.4
- 3.3.5 Alternatives
-
3.3.5.1 Monitors
- Reading: Florida State University: Andy Wang’s “Lecture 8 Monitors and Condition Variables”
Link: Florida State University: Andy Wang’s “Lecture 8 Monitors and Condition Variables” (Word .doc)
Instructions: Scroll down to the webpage to Lecture 8 under the “Handouts” heading. Then, click on the Word 2000 link after Monitors and Condition Variables to open the Word document. Read the entire document (6 pages).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Florida State University: Andy Wang’s “Lecture 8 Monitors and Condition Variables”
-
3.3.5.2 Messages
- Reading: University of Linkopings: Ola Dahl’s “TSEA81 Computer Engineering and Real-time Systems Lecture – Message Passing”
Link: University of Linkopings: Ola Dahl’s “TSEA81 Computer Engineering and Real-time Systems Lecture – Message Passing” (HTML)
Instructions: Read the entire page.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: University of Linkopings: Ola Dahl’s “TSEA81 Computer Engineering and Real-time Systems Lecture – Message Passing”
-
Unit 4: CPU Scheduling
Central Process Unit (CPU) scheduling deals with having more processes/threads than processors to handles those tasks, meaning how the CPU determines which jobs it is going to handle in what order. A good understanding of how a CPU scheduling algorithm works is essential to understanding how an Operating System works; a good algorithm will optimally allocate resources, allowing an efficient execution of all running programs. A poor algorithm, however, could result in any number of issues, from process being “starved out” to inefficient executing, resulting in poor computer performance. In this unit, we will first discuss the CPU problem statement and the goals of a good scheduling algorithm. Then, we will move on to learning about types of CPU scheduling, such as preemptive and non-preemptive. Finally, we will conclude the module with a discussion on some of the more common algorithms found in UNIX-based Operating Systems.
Unit 4 Time Advisory show close
Unit 4 Learning Outcomes show close
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 10: Deadlock (Continued) and Thread Scheduling”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 10: Deadlock (Continued) and Thread Scheduling” (YouTube)
Instructions: Watch the video starting at 54 minutes. Please note that this video applies to all of Unit 4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 11: Thread Scheduling (Cont.) and Protection: Address Spaces”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 11: Thread Scheduling (Cont.) and Protection: Address Spaces” (YouTube)
Instructions: Watch the first 31 minutes of the video. Please note that this video applies to all of Unit 4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Florida State University: Andy Wang’s “Lecture 4 CPU Scheduling”
Link: Florida State University: Andy Wang’s “Lecture 4 CPU Scheduling” (Word .doc)
Instructions: Scroll down to Lecture 4 under “Handouts,” and click on the Word 2000 link after CPU Scheduling. Read the entire document (6 pages). This reading applies to all of Unit 4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 10: Deadlock (Continued) and Thread Scheduling”
-
4.1 Scheduling General Objective
- Reading: University of North Carolina, Chapel Hill: Professor Kevin Jeffay’s “Process Implementation and Process Scheduling Lecture Notes”
Link: University of North Carolina, Chapel Hill: Professor Kevin Jeffay’s “Process Implementation and Process Scheduling Lecture Notes” (PDF)
Instructions: Scroll down to the Class Schedule and Lecture Notes section. Click on the Process Implementation and Process Scheduling link (next to Sept. 8th) to download the PDF file. Please read this entire document (10 pages). This reading applies to subunits 4.1-4.3 and all inclusive subunits.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveThe Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Reading: University of North Carolina, Chapel Hill: Professor Kevin Jeffay’s “Process Implementation and Process Scheduling Lecture Notes”
-
4.2 Goals
- Reading: University of Texas at Austin: Professor Mike Dahlin’s CS372 Lecture Notes: “CPU Scheduling”
Link: University of Texas at Austin: Professor Mike Dahlin’s CS372 Lecture Notes: “CPU Scheduling” (PDF)
Instructions: Please scroll down to week 6. Click on the PDF link for 6a CPU Scheduling. Read through the entire document (17 pages). This reading also covers the topics outlined in subunits 4.2.1-4.2.4 as well as units 4.3 and 4.4. This topic is also touched upon in subunit 4.1.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: University of Texas at Austin: Professor Mike Dahlin’s CS372 Lecture Notes: “CPU Scheduling”
-
4.2.1 Fairness
Note: This topic is covered by the resource under subunit 4.1.
-
4.2.2 Efficiency
Note: This topic is covered by the resource under subunit 4.1.
-
4.2.3 Turnaround
Note: This topic is covered by the resource under subunit 4.1.
-
4.2.4 Throughput
Note: This topic is covered by the resource under subunit 4.1.
-
4.3 Types
- Reading: Creighton University: Dr. David Reed’s CSC539 Lecture Notes: “CPU Scheduling”
Link: Creighton University: Dr. David Reed’s CSC539 Lecture Notes: “CPU Scheduling” (PDF)
Instructions: Scroll down to the tentative schedule section. Click on the PDF link for the week of Feb 2nd. Read the first 7 slides (pages 1-4). Please note that this topic is also covered by the resource below subunit 4.1.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Creighton University: Dr. David Reed’s CSC539 Lecture Notes: “CPU Scheduling”
-
4.3.1 Preemptive
Note: This topic is covered by the resource under subunits 4.1 and 4.3
- 4.3.2 Non-preemptive
-
4.4 Algorithms
- Reading: University of North Carolina, Chapel Hill: Professor Kevin Jeffay’s “Scheduling Policies Lecture Notes”
Link: University of North Carolina, Chapel Hill: Professor Kevin Jeffay’s “Scheduling Policies Lecture Notes” (PDF)
Instructions: Scroll down to the webpages to the Class Schedule and Lecture Notes section. Click on the Scheduling Policies link (next to Sept. 15th) to open the PDF files. Please read the entire document (8 pages). This reading also covers the topics outlined in subunits 4.4.1-4.4.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Reading: Florida International University: Dr. Scott Graham’s COP5614 Lecture Notes: “Scheduling”
Link: Florida International University: Dr. Scott Graham’s COP5614 Lecture Notes: “Scheduling” (PowerPoint)
Instructions: Click on the scheduling link next to February 8th to download the PowerPoint. Read through the entire lecture (30 slides). This lecture will give you additional background in the various scheduling algorithms. This reading also covers the topics outlined in subunits 4.4.1-4.4.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: University of North Carolina, Chapel Hill: Professor Kevin Jeffay’s “Scheduling Policies Lecture Notes”
-
4.4.1 Round Robin
Note: This topic is covered by the readings below subunit 4.4.
-
4.4.2 Priority
Note: This topic is covered by the readings below subunit 4.4.
-
4.4.3 Shortest Job First
Note: This topic is covered by the readings below subunit 4.4.
-
4.4.4 Shortest Remaining Time
Note: This topic is covered by the readings below subunit 4.4.
-
- Interactive Lab: The Saylor Foundation's "CPU Scheduling Simulation Exercises"
Link: The Saylor Foundation's "CPU Scheduling Simulation Exercises" (PDF)
Instructions: 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 Saylor Foundation's "CPU Scheduling Simulation Exercises Answer Key: Part 1" (PDF) and The Saylor Foundation's "CPU Scheduling Simulation Exercises Answer Key: Part 2." (PDF)See a broken link? Please let us know!
- Assessment: The Saylor Foundation's "CPU Scheduling Exercises"
Link: The Saylor Foundation's "CPU Scheduling Exercises" (PDF)
Instructions: Review the material on CPU scheduling algorithms. Complete both problems. It might be best to draw out Gantt charts to represent the processes. When you are done, compare your answers with The Saylor Foundation's "CPU Scheduling Exercises Answer Key: Part 1" (PDF) and The Saylor Foundation's "CPU Scheduling Exercises Answer Key: Part 2” (PDF)See a broken link? Please let us know!
- Interactive Lab: The Saylor Foundation's "CPU Scheduling Simulation Exercises"
-
Unit 5: Deadlock
Deadlock is a paralyzing process state resulting from improper CPU scheduling, process management, and synchronization management. During this time, processes are blocked as they compete for system resources or only communicate with each other. Although it cannot be guaranteed that deadlock may be avoided 100% of the time, it is important to know how to avoid the deadlocked state and how to recover from it once it has been achieved. We will build upon the previous two units of CPU Scheduling and Processes and Threads when discussing Deadlock. First, we will discuss what deadlock is by establishing a working definition and the conditions in which it presents itself. Then, we will talk about how to prevent and avoid deadlock. Finally, we will learn about deadlock detection, as well as methods for recovering from a deadlocked state.
Unit 5 Time Advisory show close
Unit 5 Learning Outcomes show close
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 9: Cooperating Processes and Deadlock”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 9: Cooperating Processes and Deadlock” (YouTube)
Instructions: Watch the video starting at 49 minutes. Please note that this video applies to all of Unit 5.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 10: Deadlock (Continued) and Thread Scheduling”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 10: Deadlock (Continued) and Thread Scheduling” (YouTube)
Instructions: Watch the first 54 minutes of the video lecture. Please note that this video applies to all of Unit 5.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 9: Cooperating Processes and Deadlock”
-
5.1 Definition
- Reading: Rensselaer Polytechnic Institute: Professor Robert P. Ingalls’ “CSCL4210 Operating Systems: Deadlock”
Link: Rensselaer Polytechnic Institute: Professor Robert P. Ingalls’ “CSCL4210 Operating Systems: Deadlock” (HTML)
Instructions: Read the entire set of lecture notes.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Rensselaer Polytechnic Institute: Professor Robert P. Ingalls’ “CSCL4210 Operating Systems: Deadlock”
-
5.1.1 Terminology
Note: This topic is covered by the resource under the Unit 5 introduction and subunit 5.1
- 5.1.2 Conditions
-
5.1.2.1 Mutual Exclusion
Note: This topic is covered by the resource under the Unit 5 introduction and subunit 5.1.
-
5.1.2.2 Non-preemption
Note: This topic is covered by the resource under the Unit 5 introduction and subunit 5.1.
-
5.1.2.3 Hold/Wait
Note: This topic is covered by the resource under the Unit 5 introduction and subunit 5.1.
-
5.1.2.4 Cycles
Note: This topic is covered by the resource under the Unit 5 introduction and subunit 5.1.
-
5.2 Deadlock Prevention and Avoidance
- Reading: Johns Hopkins University’s Department of Computer Science: Professor Yair Amir’s “Operating Systems”: “Slides 10-16” Lecture
Link: Johns Hopkins University’s Department of Computer Science: Professor Yair Amir’s “Operating Systems”: “Slides 10-16” (HTML)
Instructions: Click on the link to Professor Amir’s lecture above, and read only through slides 10-16 at this time. Scroll through each slide by using the single arrow key on the webpage.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Assessment: The Saylor Foundation’s “Banker’s Algorithm Problem Set”
Link: The Saylor Foundation’s “Banker’s Algorithm Problem Set” (PDF)
Instructions: 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 here (PDF).See a broken link? Please let us know!
- Reading: Johns Hopkins University’s Department of Computer Science: Professor Yair Amir’s “Operating Systems”: “Slides 10-16” Lecture
-
5.3 Deadlock Detection and Recovery
- Reading: Florida State University: Andy Wang’s “Lecture 9 Deadlock”
Link: Florida State University: Andy Wang’s “Lecture 9 Deadlock” (.doc)
Instructions: Scroll down to Lecture 9 under “Handouts,” and click on the Word 2000 link after Deadlock to open the file. Please read the entire document (5 pages).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Interactive Lab: The Saylor Foundation’s “Deadlock Simulation Lab”
Link: The Saylor Foundation’s “Deadlock Simulation Lab” (PDF)
Instructions: Complete the entire lab. All instructions are included for downloading and running the simulator. Compare the results of your experiments to the answer key here (PDF).See a broken link? Please let us know!
- Reading: Florida State University: Andy Wang’s “Lecture 9 Deadlock”
-
Unit 6: Memory Management
Memory is the oil that keeps the computer running smoothly. It is present in various forms throughout the entire computer system. As software developers, it is absolutely essential to have a solid understanding of the role memory plays so that you are able to efficiently use memory in your programs, as well as understand what is going on “under the hood” should a problem arise. We will discuss the role of memory in an Operating System, first with an overview of the memory hierarchy and how memory and the OS interact with each other. Next, we will move on to discussing how memory is allocated for different purposes. Finally, we will discuss the two main topics regarding memory access: segmentation and paging.
Unit 6 Time Advisory show close
Unit 6 Learning Outcomes show close
- Reading: Worcester Polytechnic Institute: Dr. Jerry Breecher’s “Operating Systems Memory Management” Lecture Notes
Link: Worcester Polytechnic Institute: Dr. Jerry Breecher’s “Operating Systems Memory Management” (PDF)
Instructions: Scroll down to the Lectures section of the webpage. Then, click on the Mem_Mgmt.pdf link. Read the entire document (35 pages). This applies to all of Unit 6.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Worcester Polytechnic Institute: Dr. Jerry Breecher’s “Operating Systems Memory Management” Lecture Notes
- 6.1 Overview of Memory Management
-
6.1.1 Memory Hierarchy
- Reading: Ravenbrook: The Memory Management Reference’s Beginner’s Guide: “Overview”
Link: Ravenbrook: The Memory Management Reference’s Beginner’s Guide: “Overview” (HTML)
Instructions: Read the entire webpage.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Ravenbrook: The Memory Management Reference’s Beginner’s Guide: “Overview”
-
6.1.2 OS Interaction with Memory Levels
- Reading: University of Idaho: Dr. Axel Kring’s “OS Lecture Notes”
Link: University of Idaho: Dr. Axel Kring’s “OS Lecture Notes” (PDF)
Instructions: Scroll down the webpage to Lecture 28. Click on the PDF link after “Sequence 19.” Read through the first seven slides.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: University of Idaho: Dr. Axel Kring’s “OS Lecture Notes”
-
6.1.3 Virtual Memory
- Lecture: Thomas Finley’s “Virtual Memory” Lecture Notes
Link: Thomas Finley’s “Virtual Memory” (HTML)
Instructions: Read the entire webpage of lecture notes.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan and Professor Samuel Madden’s Computer Systems Engineering: Lecture 6: Virtualization, Virtual Memory
Link: MIT Opencourseware: Professor Hari Balakrishnan and Professor Samuel Madden’s Computer Systems Engineering: Lecture 6: Virtualization, Virtual Memory (Adobe Flash)
Also available in:
iTunesU and MP4
Instructions: Watch the entire video
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: Thomas Finley’s “Virtual Memory” Lecture Notes
-
6.2 Allocating Memory
- Lecture: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Memory Management”
Link: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Memory Management” (HTML)
Instructions: Read the entire webpage of lecture notes. This reading also covers the topics in subunits 6.2.1-6.2.4 and any inclusive subunits.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Memory Management”
-
6.2.1 Memory Management
Note: This topic is covered by the reading in subunit 6.2.
-
6.2.2 Cleaning Up
Note: This topic is covered by the reading in subunit 6.2.
-
6.2.3 Data Swapping
Note: This topic is covered by the reading in subunit 6.2.
-
6.2.4 Algorithms for Dynamic Allocation
Note: This topic is covered by the reading in subunit 6.2.
-
6.2.4.1 First-Fit
Note: This topic is covered by the reading in subunit 6.2.
-
6.2.4.2 Worst-Fit
Note: This topic is covered by the reading in subunit 6.2.
-
6.2.4.3 Best Fit
Note: This topic is covered by the reading in subunit 6.2
- Interactive Lab: The Saylor Foundation's “Memory Management Simulation”
Link: The Saylor Foundation's "Memory Management Simulation" (PDF)
Instructions: Please complete the entire assignment. You can check your answers against the answer key here. (PDF)See a broken link? Please let us know!
- Interactive Lab: The Saylor Foundation's “Memory Management Simulation”
-
6.3 Memory Access
Note: This topic is covered by the resources beneath subunits 6.3.1 and 6.3.2.
-
6.3.1 Segmentation
Note: This topic is covered by the resources beneath subunits 6.3.1.1 and 6.3.1.2.
-
6.3.1.1 Definition
- Lecture: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Segmentation”
Link: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Segmentation” (HTML)
Instructions: Read the entire webpage of lecture notes. This reading also touches on the topics outlined under subunit 6.3.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Segmentation”
-
6.3.1.2 x86/x64 Architecture
- Reading: Ox90.org: Jeremy Pierre’s “An Introduction to Intel Memory Management”
Link: Ox90.org: Jeremy Pierre’s “An Introduction to Intel Memory Management” (PDF)
Instructions: Click on the link for Intel Memory Management under Papers + Presentations. Read the entire document (5 pages).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveThe Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Reading: Ox90.org: Jeremy Pierre’s “An Introduction to Intel Memory Management”
-
6.3.1.2.1 Global Descriptor Table
- Reading: Bona Fide OS Development: Brenden F.’s “The GDT"
Link: Bona Fide OS Development: Brenden F.’s “The GDT” (HTML)
Instructions: Read the entire article.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Bona Fide OS Development: Brenden F.’s “The GDT"
-
6.3.1.2.2 Local Descriptor Table
Note: This topic is covered by the reading in subunits 6.3.1.2
-
6.3.2 Paging
- Lecture: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Paging
Link: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Paging” (HTML)
Instructions: Read the entire webpage of lecture notes. This reading also covers the topics outlined in subunits 6.3.2.1-6.3.2.3.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: The University of Wisconsin, Madison: Professor Marvin Solomon’s “Lecture Notes on Operating Systems: Paging
-
6.3.2.1 Page Tables
Note: This topic is covered in the lecture notes for subunit 6.3.2.
-
6.3.2.2 Page Replacement
Note: This topic is covered in the lecture notes for subunit 6.3.2.
-
6.3.2.3 Frame Allocation
Note: This topic is covered in the lecture notes for subunit 6.3.2.
-
Unit 7: File System
File systems play an important role in the operating system. From the user’s perspective, the file system is a simple filing cabinet. However, behind the scenes there is much complexity. We will discuss a general overview of file systems, a look at file allocation and methods as well as disk allocation algorithms.
Unit 7 Time Advisory show close
Unit 7 Learning Outcomes show close
-
7.1 Introduction to File Systems
- Reading: Florida State University: Andy Wang’s “Lecture 14 File Systems and Disk Management”
Link: Florida State University: Andy Wang’s “Lecture 14 File Systems and Disk Management” (.doc)
Instructions: Scroll down to Lecture 14 under “Handouts,” and select the Word 2000 link after File Systems and Disk Management. Read the entire document (7 pages). Note: this reading applies to all of Unit 7.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 19: File Systems”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 19: File Systems” (YouTube)
Instructions: Watch the entire video (about 1 hour and 22 minutes). Please note that this video applies to all of Unit 7.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: University of Western Australia: Professor Amitava Datta’s Operating Systems Lecture Notes: “Lecture 10: File System Management”
Link: University of Western Australia: Professor Amitava Datta’s Operating Systems Lecture Notes: “Lecture 10: File System Management” (PDF)
Instructions: Near the top of the webpage, click on the File Systems link next to lecture notes. Please read the first 9 pages. Note that this reading covers the topics outlined in subunits 7.1.1-7.1.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Florida State University: Andy Wang’s “Lecture 14 File Systems and Disk Management”
-
7.1.1 Purpose of a File System
Note: This topic is covered by the reading beneath subunit 7.1
-
7.1.2 Components
Note: This topic is covered by the reading beneath subunit 7.1
-
7.1.3 Directory Structures
Note: This topic is covered by the reading beneath subunit 7.1
-
7.1.4 File Information Structure
Note: This topic is covered by the reading beneath subunit 7.1
-
7.2 File Allocation Methods
- Reading: University of Western Australia: Operating Systems Lecture Notes: “Lecture 10: File System Management”
Link: University of Western Australia: Operating Systems Lecture Notes: “Lecture 10: File System Management” (PDF)
Instructions: Near the top of the webpage, please click on the File Systems link next to lecture notes. Read pages 9-12. Please note that this reading covers the topics outlined in subunits 7.2.1-7.2.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: Virginia Tech: Animations to Assisting Learning Some Key Computer Science Topics: Operating Systems: “File Management”
Link: Virginia Tech: Animations to Assisting Learning Some Key Computer Science Topics: Operating Systems: “File Management” (HTML)
Instructions: Read through the entire page. Also, please be sure to complete the simulations for each type of file management
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: University of Western Australia: Operating Systems Lecture Notes: “Lecture 10: File System Management”
-
7.2.1 Contiguous
- Reading: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Contiguous File Allocation”
Link: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Contiguous File Allocation” (HTML)
Instructions: Scroll down toward the bottom of the webpage, and click on the link for Contiguous File Allocation. Read slide 29. Please note that this topic is also covered by the reading below subunit 7.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Contiguous File Allocation”
-
7.2.2 Linked
- Reading: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Linked File Allocation”
Link: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Linked File Allocation” (HTML)
Instructions: Scroll down toward the bottom of the webpage, and click on the link for Linked File Allocation. Read slides 30-32. Please note that this topic is also covered by the reading below subunit 7.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Linked File Allocation”
-
7.2.3 Indexed
- Reading: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Indexed File Allocation”
Link: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Indexed File Allocation” (HTML)
Instructions: Scroll down to the bottom of the webpage, and click on the link for Indexed File Allocation. Read slides 33-34. Please note that this topic is also covered by the reading below subunit 7.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: John Hopkins University: Dr. Yair Amir’s Lecture Notes: “Indexed File Allocation”
-
7.2.4 Compaction
Note: This topic is covered by the reading beneath subunit 7.2.
-
7.3 Disk Management Algorithms
- Lecture: Johns Hopkins University: Professor Yair Amir’s “Operating Systems: File System (cont.) and Disk Management” Lecture Slides
Link: Johns Hopkins University: Professor Yair Amir’s “Operating Systems: File System (cont.) and Disk Management” (HTML)
Instructions: Read through all slides (39 total). Use the arrow keys to move back and forth between slides. Note: These lecture notes pertain to topics listed in subunits 7.3.1-7.3.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 17: I/O Devices (Cont.), Disk Performance and Queueing Models”
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 17: I/O Devices (Cont.), Disk Performance and Queueing Models” (YouTube)
Instructions: Watch the video starting at 54 minutes until the end.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 18: Queueing Theory (cont.): File Systems, Naming, and Directories"
Link: YouTube: UC Berkeley: Professor John Kubiatowicz’s “Lecture 18: Queueing Theory (cont.): File Systems, Naming, and Directories” (YouTube)
Instructions: Watch the first hour of the video.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: University of Buffalo: Bina Ramamurthy’s “Disk Scheduling Lecture Notes”
Link: University of Buffalo: Bina Ramamurthy’s “Disk Scheduling Lecture Notes” (PowerPoint)
Instructions: Scroll down to the DSched link next to Disk I/O (after dates 3/30-4/1). Read slides 4 through 15.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Interactive Lab: Saylor Foundation's "Disk Scheduling Simulation Lab"
Link: Saylor Foundation's "Disk Scheduling Simulation Lab" (PDF)
Instructions: Please complete both parts of the lab. Compare your results to the second part with those contained in the Saylor Foundation's "Disk Scheduling Simulation Lab Answer Key" (PDF).See a broken link? Please let us know!
- Lecture: Johns Hopkins University: Professor Yair Amir’s “Operating Systems: File System (cont.) and Disk Management” Lecture Slides
-
7.3.1 STTF
Note: This topic is covered by the lectures in subunit 7.3.
-
7.3.2 SCAN
Note: This topic is covered by the lectures in subunit 7.3.
-
7.3.3 C-SCAN
Note: This topic is covered by the lectures in subunit 7.3.
-
7.3.4 C-LOOK
Note: This topic is covered by the lectures in subunit 7.3.
-
Unit 7 Interactive Lab
- Interactive Lab: The Saylor Foundation's "File System Simulation Lab"
Link: The Saylor Foundation's "File System Simulation Lab" (PDF)
Instructions: Please follow all directions and complete the entire laboratory. Save your results to a Word document as instructed and compare your results to The Saylor Foundation's "File System Simulation Lab Results." (PDF)See a broken link? Please let us know!
- Interactive Lab: The Saylor Foundation's "File System Simulation Lab"
-
Unit 7 Assessment
- Assessment: The Saylor Foundation's "Disk Management Algorithms Exercises"
Link: The Saylor Foundation's "Disk Management Algorithms Exercises" (PDF)
Instructions: 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 here. (PDF)See a broken link? Please let us know!
- Assessment: The Saylor Foundation's "Disk Management Algorithms Exercises"
-
Unit 8: Security
Security is an important part of operating systems. There are many threats today to computer systems. This unit will begin with a brief overview of security issues, look at types of malware and discuss several security techniques, such as access controls, intrusion detection, and malware defense.
Unit 8 Time Advisory show close
Unit 8 Learning Outcomes show close
- Reading: Microsoft’s Butler Lampson: “Computer Security in the Real World”
Link: Microsoft’s Butler Lampson: “Computer Security in the Real World” (PDF)
Instructions: Scroll down to week 10. Click on the link for Computer Security in the Real World. Note: this reading applies to all of Unit 8.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Microsoft’s Butler Lampson: “Computer Security in the Real World”
-
8.1 Introduction to Security
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 21: Security Introduction”
Link: MIT Opencourseware: Professor Hari Balakrishnan and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 21: Security Introduction” (Adobe Flash)
Also available in:
iTunesU and MP4
Instructions: Watch the entire video (about 51 minutes).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 21: Security Introduction”
-
8.1.1 Computer Systems and Network Requirements
- Reading: Florida State University: Andy Wang’s “Lecture 18 Protection and Security”
Link: Florida State University: Andy Wang’s “Lecture 18 Protection and Security” (Word .doc)
Instructions: Scroll down to the webpage to Lecture 18 under the “Handouts” heading. Then, click on the Word 2000 link after Monitors and Condition Variables to open the Word document. Read the first two pages. Note: This applies to sections 8.1.1.1 through 8.1.1.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: University of Illinois Chicago: John Bell’s Operating Systems Course Notes: “Security”
Link: University of Illinois Chicago: John Bell’s Operating Systems Course Notes: “Security” (HTML)
Instructions: Read the entire document. Note: This applies to sections 8.1.1.1 through 8.1.1.4.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Florida State University: Andy Wang’s “Lecture 18 Protection and Security”
-
8.1.1.1 Confidentiality
Note: This topic is covered in the readings below subunit 8.1.1
-
8.1.1.2 Integrity
Note: This topic is covered in the readings below subunit 8.1.1
-
8.1.1.3 Availability
Note: This topic is covered in the readings below subunit 8.1.1
-
8.1.1.4 Authenticity
Note: This topic is covered in the readings below subunit 8.1.1
-
8.1.2 Types of Threats
- Reading: Concordia University’s “Threats to Computer Security”
Link: Concordia University’s “Threats to Computer Security” (HTML)
Instructions: Read the entire document.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: National Institutes of Standards and Technology: "Introduction to Computer Security"
Link: National Institutes of Standards and Technology: "Introduction to Computer Security" (HTML)
Instructions: Read all of chapter 4
Terms of Use: Please respect the copyright and terms of use displayed on the webpageSee a broken link? Please let us know!
- Reading: Concordia University’s “Threats to Computer Security”
-
8.1.2.1 Interruption
Note: This topic is covered by the reading beneath subunit 8.1.2
-
8.1.2.2 Interception
Note: This topic is covered by the reading beneath subunit 8.1.2
-
8.1.2.3 Modification
Note: This topic is covered by the reading beneath subunit 8.1.2
-
8.1.2.4 Fabrication
Note: This topic is covered by the reading beneath subunit 8.1.2
-
8.1.3 Computer Assets and Threats
- Reading: Computer Assets and Threats
Note: This topic is also missing resources for subunits 8.1.3.1-8.1.3.4.
The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Reading: Computer Assets and Threats
- 8.1.3.1 Hardware
- 8.1.3.2 Software
- 8.1.3.3 Data
- 8.1.3.4 Communication Lines
- 8.2 Malicious Software Overview
-
8.2.1 Malware and Viruses
- Reading: Auburn University: Dr. John Hamilton’s Comp6370 Lecture Notes: “Lecture 5 Malware” and “Lecture 6: Viruses”
Link: Auburn University: Dr. John Hamilton’s Comp6370 Lecture Notes: “Lecture 5 Malware” (PDF) and” Lecture 6 Viruses” (PDF)
Instructions: On the Auburn University webpage linked above, click on “Lesson Slides.” Then, select the link for “Lecture 5 Malware PDF” and “Lecture 6 Viruses PDF” to access the files. Read both lectures in their entirety (14 pages and 18 pages, respectively).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Purdue University: Avinash Kak’s Lecture Notes on Computer and Network Security: “Lecture 22: Malware: Viruses and Worms”
Link: Purdue University: Avinash Kak’s Lecture Notes on Computer and Network Security: “Lecture 22: Malware: Viruses and Worms” (PDF)
Instructions: Scroll down to lecture 22, and click on the link for “Malware: Viruses and Worms” to download the PDF file. Please read the entire file (46 pages). Note: this reading applies to the topics outlined in subunits 8.2.1 and 8.2.3.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Auburn University: Dr. John Hamilton’s Comp6370 Lecture Notes: “Lecture 5 Malware” and “Lecture 6: Viruses”
-
8.2.2 Bots
- Reading: Purdue University: Avinash Kak’s Lecture Notes on Computer and Network Security: “Lecture 29: Bots and Botnets”
Link: Purdue University: Avinash Kak’s Lecture Notes on Computer and Network Security: “Lecture 29: Bots and Botnets” (PDF)
Instructions: Scroll down to lecture 29, and click on the link for “Bots and Botnets” to download the PDF file. Please read the entire document (38 pages).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Purdue University: Avinash Kak’s Lecture Notes on Computer and Network Security: “Lecture 29: Bots and Botnets”
-
8.2.3 Worms
Note: This topic is covered by the Purdue University reading below subunit 8.2.1.
-
8.3 Security Techniques
- Reading: University of Illinois Chicago: John Bell’s Operating Systems Course Notes: “Protection”
Link: University of Illinois Chicago: John Bell’s Operating Systems Course Notes: “Protection” (HTML)
Instructions: Read the entire document. Notes: this applies to the topics outlined in subunits 8.3.1 and 8.3.2.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Microsoft Corporation’s “Security Strategies”
Link: Microsoft Corporation’s “Security Strategies” (HTML)
Instructions: Read the entire document
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: University of Illinois Chicago: John Bell’s Operating Systems Course Notes: “Protection”
-
8.3.1 Access Controls
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan’s and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 23: Authorization and Confidentiality”
Link: MIT Opencourseware: Professor Hari Balakrishnan’sand Professor Samuel Madden’s Computer Systems Engineering: “Lecture 23: Authorization and Confidentiality” (Adobe Flash)
Also available in:
iTunesU and MP4
Instructions: Watch the entire video (39:30 minutes).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan’s and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 23: Authorization and Confidentiality”
-
8.3.2 Authentication
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan’s and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 22: Authentication”
Link: MIT Opencourseware: Professor Hari Balakrishnan’s and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 22: Authentication” (Adobe Flash)
Also available in:
iTunesU and MP4
Instructions: Watch the entire video (about 52 minutes).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan’s and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 22: Authentication”
-
8.3.3 Intrusion Detection
- Reading: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s "Guide to Intrusion Detection and Prevention Systems"
Link: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s "Guide to Intrusion Detection and Prevention Systems" (PDF)
Instructions: Scroll down to SP 800-94, and click on the link that appears after the title “Guide to Intrusion Detection and Prevention Systems.” Read from the beginning to the end of Chapter 3 (33 pages.)
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s "Guide to Intrusion Detection and Prevention Systems"
-
8.3.4 Malware Defense
- Reading: Auburn University: Dr. John Hamilton’s Comp6370 Lecture Notes: “Lecture 7 Virus Detection and Prevention "
Link: Auburn University: Dr. John Hamilton’s Comp6370 Lecture Notes: “Lecture 7 Virus Detection and Prevention” (PDF)
Instructions: On the Auburn University website linked above, click on “Lesson Slides.” Then, select the link for “Lecture 7 Detection and Prevention PDF” to access the reading. Read the entire lecture (16 pages).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Auburn University: Dr. John Hamilton’s Comp6370 Lecture Notes: “Lecture 7 Virus Detection and Prevention "
-
Unit 9: Networking
Computer networking has become an increasingly important field. When we discuss networking, we are not just referring to connecting computers together in one location but also about broader connections through the Internet. This unit will provide the student with an introduction to networking and serve as a primer for CS402
Unit 9 Time Advisory show close
Unit 9 Learning Outcomes show close
-
9.1 Introduction
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan’s and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 9: Introduction to Networks”
Link: MIT Opencourseware: Professor Hari Balakrishnan’sand Professor Samuel Madden’s Computer Systems Engineering: “Lecture 9: Introduction to Networks” (Adobe Flash)
Also available in:
iTunesU and MP4
Instructions: Watch the video starting at 12 minutes until the end.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Olivier Bonaventure’s Computer Networking: Principles, Protocols, and Practice. “Chapter 2. Introduction”
Link: Olivier Bonaventure’s Computer Networking: Principles, Protocols, and Practice. “Chapter 2. Introduction” (HTML)
Instruction: Read up to but not including 2.1.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Lecture: YouTube: University of California, Berkeley: Professor John Kubiatowicz’s “Lecture 22 Networking II”
Link: YouTube: University of California, Berkeley: Professor John Kubiatowicz’s “Lecture 22 Networking II” (YouTube)
Instructions: Watch the entire video (about 1 hours and 21 minutes).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan’s and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 9: Introduction to Networks”
-
9.2 Protocol Architecture
- Reading: Olivier Bonaventure’s Computer Networking: Principles, Protocols and Practice. “Chapter 2. Introduction”
Link: Olivier Bonaventure’s Computer Networking: Principles, Protocols and Practice. “Chapter 2. Introduction” (HTML)
Instruction: Click on the link for “2.1 Services and Protocol”. Read all of Section 2.1.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Lecture: MIT Opencourseware: Professor Hari Balakrishnan’s and Professor Samuel Madden’s Computer Systems Engineering: “Lecture 10: Layering and Link Layer”
Link: MIT Opencourseware: Professor Hari Balakrishnan and Professor Samuel Madden: Computer Systems Engineering: “Lecture 10: Layering and Link Layer” (Adobe Flash)
Also available in:
iTunesU and MP4
Instructions: Watch the entire video (47:34 minutes). This video will also begin to discuss TCP/IP, which we will cover more fully in subunit 9.3.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Olivier Bonaventure’s Computer Networking: Principles, Protocols and Practice. “Chapter 2. Introduction”
-
9.3 The Reference Models
- Reading: Olivier Bonaventure’s Computer Networking: Principles, Protocols, and Practice. “Chapter 2. Introduction”
Link: Olivier Bonaventure’s Computer Networking: Principles, Protocols, and Practice. “Chapter 2. Introduction” (HTML)
Instruction: Click on the link for “2.2 The Reference Models.” Read all of Section 2.2. This reading also applies to the topics outlined
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Olivier Bonaventure’s Computer Networking: Principles, Protocols, and Practice. “Chapter 2. Introduction”
- 9.3.1 Five Layers
-
9.3.2 TCP/IP
- Reading: Haifu Linux Club: TCP/IP Networking
Link: Haifu Linux Club: TCP/IP Networking (HTML)
Instructions; Read through the entire set of slides (40 pages total). Use the “Next” and “Prev” links at the top of the page to navigate through the pages. The slides introduce some additional protocols based upon the TCP/IP protocol.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: Gary C. Kessler’s “An Overview of TCP/IP Protocols and the Internet”Link: Gary C. Kessler’s “An Overview of TCP/IP Protocols and the Internet” (HTML)Instructions: Read the entire document.Terms of Use: Please respect the copyright and terms of use displayed on the webpage above
See a broken link? Please let us know!
- Reading: Haifu Linux Club: TCP/IP Networking
-
9.3.3 OSI
- Web Media: Networking Tips: Haris’s “OSI Model Explained by Animation”
Link: Networking Tips: Haris’s “OSI Model Explained by Animation” (Adobe Flash)
Instructions: Watch the brief 1-minute animation.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Lecture: YouTube: San Francisco City College: Isaias Leiva’s "Introduction to the OSI Model"
Link: YouTube: San Francisco City College: Isaias Leiva’s "Introduction to the OSI Model" (YouTube)
Instructions: Watch the entire video (about 1 hour).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Web Media: Networking Tips: Haris’s “OSI Model Explained by Animation”
- 9.4 Network Intrusion Detection
-
9.4.1 Wired Networks
- Reading: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s “Guide to Intrusion Detection and Prevention Systems”
Link: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s “Guide to Intrusion Detection and Prevention Systems” (PDF)
Instructions: Scroll down to SP 800-94, and click on the link that appears after the title “Guide to Intrusion Detection and Prevention Systems.” Read all of Chapter 4 (15 pages.) This section also presents some basic networking concepts.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage aboveSee a broken link? Please let us know!
- Reading: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s “Guide to Intrusion Detection and Prevention Systems”
-
9.4.2 Wireless
- Reading: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s "Guide to Intrusion Detection and Prevention Systems"
Link: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s "Guide to Intrusion Detection and Prevention Systems" (PDF)
Instructions: Scroll down to SP 800-94, and click on the link that appears after the title “Guide to Intrusion Detection and Prevention Systems.” Read all of Chapter 5 (13 pages.) This section also presents some basic wireless networking concepts.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s "Guide to Intrusion Detection and Prevention Systems"
-
9.4.3 Network Behavior Analysis
- Reading: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s Guide to Intrusion Detection and Prevention Systems
Link: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s "Guide to Intrusion Detection and Prevention Systems" (PDF)
Instructions: Scroll down to SP 800-94, and click on the link that appears after the title “Guide to Intrusion Detection and Prevention Systems.” Read all of Chapter 6 (8 pages.) This section also presents some basic wireless networking concepts.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: National Institutes of Standards and Technology: Karen Scarfone’s and Peter Mell’s Guide to Intrusion Detection and Prevention Systems
-
Final Exam
- Final Exam: The Saylor Foundation's CS401 Final Exam
Link: The Saylor Foundation's CS401 Final Exam
Instructions: You must be logged into your Saylor Foundation School account in order to access this exam. If you do not yet have an account, you will be able to create one, free of charge, after clicking the link.See a broken link? Please let us know!
- Final Exam: The Saylor Foundation's CS401 Final Exam
Questions? Consult the FAQ's!


