Exploring Operating Systems

Daily OS Explorations

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