Topic | Name | Description |
---|---|---|
Course Syllabus | Course Syllabus | |
1.1: History of Operating Systems | What Is an Operating System? | Watch this video from 1:09:27 to the end. This video gives a nice overview of operating systems. |
History of Operating Systems | Read this article. |
|
1.2: Operating System Structure | OS History, Services, and Structure | Watch this lecture. |
1.2.1: Abstract Computer Component Overview | Computer System Overview | Read this article. |
1.2.2: Functional Overview | What Is an Operating System? | Read this article that describes operating systems. |
1.3: Different Operating Systems Overview | Different 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 | 32-bit and 64-bit Explained | Read this article. |
32-bit and 64-bit Frequently Asked Questions | Read these questions and answers. |
|
1.3.2: UNIX-based | The Unix Operating System: Mature, Standardized and State-of-the-Art | Read this white paper. |
1.3.2.1: Linux (Ubuntu, Fedora, etc.) | What Is Linux? | Read this article. |
1.3.2.2: Solaris | Solaris | Read this article for an overview of the operating systems Solaris 8, Solaris 9, Solaris 10, and OpenSolaris. |
1.3.3: Windows | Microsoft Windows | Read this article for a good overview of the Windows operating system. |
1.3.4: Mobile | iOS (Apple) | Read this article. |
Android | Read this article. |
|
Windows Phone | Read this article. |
|
1.3.5: Real-Time | Introduction to Real-Time Systems | Read this article to give you a good overview of real-time systems. |
Introduction to Embedded and Real-Time Operating Systems | Read this article to give you an introduction to Embedded and Real-Time Operating Systems. |
|
Real-time Operating Systems and Microkernels | Read this article for a good overview of real-time operating systems. |
|
Embedded System Software | Read this article for a good synopsis of many of the commercial real-time operating systems. |
|
VxWorks | Read this article. |
|
QNX | Read this article. |
|
2.1: Concurrency | 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. |
Concurrency | Read this handout. |
|
2.2: Processes | Processes | Watch this video. |
Processes and Process Management | Read these lecture notes. |
|
The Process Concept | Read these slides. |
|
2.3: Threads | A Brief Introduction to Threads | Read this article. |
Threads and Concurrency | Read these slides. |
|
Threads | Watch this video. |
|
More on Threads | Read this page. |
|
2.4: Context Switch | Context Switching | Read this article. |
Context Switches | Read this article. |
|
Processes and Threads | Read slides 4 through 10. |
|
Putting the P in Threads | Read this article. |
|
3.1: Synchronization: Relevance and Problems | Synchronization | Watch this lecture. |
Introduction to Synchronization | Read chapter 1 on pages 1–6. |
|
3.2: Race Conditions | Introduction to Race Conditions | Read these slides. |
3.3: Semaphores | Mutual Exclusion, Semaphores, Monitors, and Condition Variables | Watch this lecture. |
Semaphores | Read chapter 2 on pages 7–9 and chapter 4 on pages 61–120. |
|
Java Semaphores | Read this page. |
|
Programming Paradigms | Watch this lecture. |
|
Monitors and Condition Variables | Read this document. |
|
4.1: Scheduling General Objective | Thread Scheduling | Watch the first lecture from 54:30 to the end, and watch the second lecture until 31:00. |
CPU Scheduling | Read this document. |
|
4.2: Goals | More on CPU Scheduling | Read these notes. |
4.3: Types | Types of CPU Scheduling | Read the first seven slides. |
4.4: Algorithms | Scheduling Algorithms | Read these slides. |
Unit 4 Exercises and Assessment | CPU Scheduling Simulation Exercises | |
5.1: Definition | Deadlock | Watch the first lecture starting at 52:40, and watch the second lecture until 43:15. |
Deadlock | Read these lecture notes. |
|
5.2: Deadlock Prevention and Avoidance | Operating Systems | Read slides 10 through 16. |
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 | Deadlock | Read this document. |
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. |
|
6.1: Overview of Memory Management | Memory Management | Read these slides. |
6.1.1: Memory Hierarchy | Overview of Memory Hierarchy | Read this page. |
6.1.2: OS Interaction with Memory Levels | Paging | Read the first seven slides. |
6.1.3: Virtual Memory | Virtual Memory | Read these notes. |
More on Virtual Memory | Watch this lecture. |
|
6.2: Allocating Memory | Memory Management | Read these notes. |
Memory Management Simulation | Complete this assignment. You can check your answers against the answer key. |
|
6.3: Memory Access | Segmentation | Read these notes. |
Intel Memory Management | Read this document. |
|
The GDT | Read this article. |
|
Paging and Memory Access | Read these notes. |
|
7.1: Introduction to File Systems | File Systems and Disk Management | Read this document. |
File Systems | Watch this lecture. |
|
7.2: File Allocation Methods | File Management | Read this page and be sure to complete the simulations for each type of file management. |
The File System | Read these slides. |
|
7.3: Disk Management Algorithms | File Systems and Disk Management | Read these slides. |
Queueing Models | Watch the first lecture starting at 1:00:25, and watch the second lecture until 60:00. |
|
Disk Scheduling | Read slides 4 through 15. |
|
Unit 7 Activities | Disk Scheduling Simulation Lab | Complete both parts of the lab. Compare your results to the second part with those contained in the answer key. |
File System Simulation Lab | Follow all directions and complete the laboratory. Save your results to a Word document as instructed and compare your results to the answer key. |
|
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. |
|
8.1: Introduction to Security | Introduction to Security | Watch this video. |
Protection and Security | Read this document. |
|
More on Security | Read this document. |
|
8.2: Malicious Software Overview | Malware: Viruses and Worms | Read these notes. |
Bots and Botnets | Read these notes. |
|
8.3: Security Techniques | Protection | Read this page. |
Security Strategies | Read this page. |
|
Security Techniques | Watch these lectures. |
|
Intrusion Detection and Prevention Systems | Read this publication up to the end of Chapter 3. |
|
9.1: Introduction | Introduction to Networks | Watch this lecture. |
Computer Networking | Read this introduction. |
|
More on Networking | Watch this lecture. |
|
9.2: Protocol Architecture | Layering and the Link Layer | Watch this lecture. |
9.3: The Reference Models | Computer Networking | Read this section. |
TCP/IP Networking | Read these slides. |
|
An Overview of TCP/IP Protocols and the Internet | Read this section. |
|
Animation of the OSI Model | Watch this animation. |
|
Introduction to the OSI Model | Watch this video. |
|
9.4: Network Intrusion Detection | Intrusion Detection and Prevention Systems | Read chapters 4, 5, and 6. |
Study Guide | CS401 Study Guide | This study guide will help you get ready for the final exam. It discusses the key topics in each unit, walks through the learning outcomes, and lists important vocabulary terms. It is not meant to replace the course materials! |
Course Feedback Survey | Course Feedback Survey |