Exploring Operating Systems
Daily OS Explorations
Day 01: Process Concept
Day 02: Process States and Transitions
Day 03: Process Creation
Day 04: Process Scheduling Basics
Day 05: Advanced Scheduling Algorithms
Day 06: Context Switching
Day 07: Thread Concept
Day 08: Thread Creation and Management
Day 09: Thread vs Process
Day 10: Multilthreading Models
Day 11: Concurrency Fundamentals
Day 12: Mutex and Semaphores
Day 13: Deadlocks
Day 14: Deadlock Detection Algorithms
Day 15: Memory Management
Day 16: Logical vs Physical Address Space
Day 17: Contiguous Memory Allocation
Day 18: Memory Allocation Algorithms
Day 19: Paging Mechanism
Day 20: Page Replacement Algorithms
Day 21: Memory Segmentation
Day 22: Virtual Memory
Day 23: Memory Allocation Internals
Day 24: Dynamic Memory Management
Day 25: File System
Day 26: File System Structure
Day 27: File Allocation Method
Day 28: Free Space Management
Day 29: File Protection Mechanisms
Day 30: Input/Output System Management
Day 31: Disk Scheduling Algorithms
Day 32: The Art of Interrupt Handling
Day 33: Advanced System Call Implementation
Day 34: Linux Kernel Module Development
Day 35: Inter-Process Communication (IPC)
Day 36: Shared Memory
Day 37: Socket Programming
Day 38: CPU Scheudling
Day 39: Real-Time Operating Systems Internals
Day 40: Linux Kernel Memory Management
Day 41: Process Synchronization
Day 42: Resource Allocation Graph Theory
Day 43: Memory Fragmentation
Day 44: Cache Management Internals
Day 45: File System Journaling
Day 46: Device Driver Development
Day 47: Security Mechanism in Kernel
Day 70: Thread Synchronization