Operating System Concepts
(OP-SYS-CPTS.AE1)
/ ISBN: 978-1-64459-256-4
This course includes
Lessons
TestPrep
Lab
Mentoring (Add-on)
Operating System Concepts
Use the Operating System Concepts course and lab to understand the operating system software. The course and lab cover several topics such as data structures used in operating systems, computing environments, open-source and free operating systems, file system implementation, and many more. The course comes with labs that provide a virtual environment for users to explore and learn. The Operating system course describes the general organization of a computer system and the role of interrupts.
Lessons
-
19+ Lessons
-
6+ Exercises
-
72+ Quizzes
-
1346+ Flashcards
-
1346+ Glossary of terms
TestPrep
-
40+ Pre Assessment Questions
-
40+ Post Assessment Questions
Lab
-
14+ Performance lab
- What Operating Systems Do
- Computer-System Organization
- Computer-System Architecture
- Operating-System Operations
- Resource Management
- Security and Protection
- Virtualization
- Distributed Systems
- Kernel Data Structures
- Computing Environments
- Free and Open-Source Operating Systems
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Operating-System Services
- User and Operating-System Interface
- System Calls
- System Services
- Linkers and Loaders
- Why Applications Are Operating-System Specific
- Operating-System Design and Implementation
- Operating-System Structure
- Building and Booting an Operating System
- Operating-System Debugging
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Process Concept
- Process Scheduling
- Operations on Processes
- Interprocess Communication
- IPC in Shared-Memory Systems
- IPC in Message-Passing Systems
- Examples of IPC Systems
- Communication in Client–Server Systems
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Overview
- Multicore Programming
- Multithreading Models
- Thread Libraries
- Implicit Threading
- Threading Issues
- Operating-System Examples
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Basic Concepts
- Scheduling Criteria
- Scheduling Algorithms
- Thread Scheduling
- Multi-Processor Scheduling
- Real-Time CPU Scheduling
- Operating-System Examples
- Algorithm Evaluation
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Background
- The Critical-Section Problem
- Peterson's Solution
- Hardware Support for Synchronization
- Mutex Locks
- Semaphores
- Monitors
- Liveness
- Evaluation
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Classic Problems of Synchronization
- Synchronization within the Kernel
- POSIX Synchronization
- Synchronization in Java
- Alternative Approaches
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- System Model
- Deadlock in Multithreaded Applications
- Deadlock Characterization
- Methods for Handling Deadlocks
- Deadlock Prevention
- Deadlock Avoidance
- Deadlock Detection
- Recovery from Deadlock
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Background
- Contiguous Memory Allocation
- Paging
- Structure of the Page Table
- Swapping
- Example: Intel 32- and 64-bit Architectures
- Example: ARMv8 Architecture
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Background
- Demand Paging
- Copy-on-Write
- Page Replacement
- Allocation of Frames
- Thrashing
- Memory Compression
- Allocating Kernel Memory
- Other Considerations
- Operating-System Examples
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Overview of Mass-Storage Structure
- HDD Scheduling
- NVM Scheduling
- Error Detection and Correction
- Storage Device Management
- Swap-Space Management
- Storage Attachment
- RAID Structure
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Overview
- I/O Hardware
- Application I/O Interface
- Kernel I/O Subsystem
- Transforming I/O Requests to Hardware Operations
- STREAMS
- Performance
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- File Concept
- Access Methods
- Directory Structure
- Protection
- Memory-Mapped Files
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- File-System Structure
- File-System Operations
- Directory Implementation
- Allocation Methods
- Free-Space Management
- Efficiency and Performance
- Recovery
- Example: The WAFL File System
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- File Systems
- File-System Mounting
- Partitions and Mounting
- File Sharing
- Virtual File Systems
- Remote File Systems
- Consistency Semantics
- NFS
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- The Security Problem
- Program Threats
- System and Network Threats
- Cryptography as a Security Tool
- User Authentication
- Implementing Security Defenses
- An Example: Windows 10
- Summary
- Exercises
- Further Reading
- Bibliography
- Goals of Protection
- Principles of Protection
- Protection Rings
- Domain of Protection
- Access Matrix
- Implementation of the Access Matrix
- Revocation of Access Rights
- Role-Based Access Control
- Mandatory Access Control (MAC)
- Capability-Based Systems
- Other Protection Improvement Methods
- Language-Based Protection
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
- Overview
- History
- Benefits and Features
- Building Blocks
- Types of VMs and Their Implementations
- Virtualization and Operating-System Components
- Examples
- Virtualization Research
- Summary
- Exercises
- Further Reading
- Bibliography
- Advantages of Distributed Systems
- Network Structure
- Communication Structure
- Network and Distributed Operating Systems
- Design Issues in Distributed Systems
- Distributed File Systems
- DFS Naming and Transparency
- Remote File Access
- Final Thoughts on Distributed File Systems
- Summary
- Practice Exercises
- Exercises
- Further Reading
- Bibliography
Hands on Activities (Performance Labs)
- Understanding the Storage-Device Hierarchy
- Understanding the Transition from User to Kernel Mode
- Understanding Types of Linked Lists
- Understanding the System Calls
- Understanding the Procedure of Executing a Program
- Understanding the Structure of Darwin
- Learning the Process State Diagram
- Understanding the Multithreading Models
- Understanding Dispatch Latency
- Understanding the Safety Algorithm
- Understanding Steps in Handling a Page Fault
- Understanding Page Replacement Algorithms
- Understanding the Types of Disk Scheduling Algorithms
- Understanding the Allocation Methods
×