Description
In this course, you will learn :
- The fundamentals of CPU virtualization and memory, including CPU scheduling, process virtualization, and API virtualization.
- Concurrency concepts, with a focus on locks, semaphores, and how to triage concurrency bugs such as deadlocks.
Syllabus :
- Introduction
- Processes
- Process API
- Direct Execution
- CPU Scheduling
- Multi-Level Feedback
- Lottery Scheduling
- Multi-CPU Scheduling
- Address Space
- Memory API
- Address Translation
- Segmentation
- Free Space Management
- Introduction to Paging
- Translation Lookaside Buffers
- Advanced Page Tables
- Swapping: Mechanisms
- Swapping: Policies
- Complete VM Systems
- Concurrency and Threads
- Thread API
- Locks
- Locked Data Structures
- Conditional Variables
- Semaphores
- Concurrency Bugs
- Event-Based Concurrency
- I/O Devices
- Hard Disk Drives
- Redundant Disk Arrays (RAID)
- iles and Directories
- File System Implementation
- Fast File System
- FSCK and Journaling
- Log-Structured File System
- Flash-based SSDs
- Persistence: Data Integrity and Protection
- Distributed Systems
- Network File System (NFS)
- Andrew File System (AFS)