Operating Systems

What happens between your app and the hardware: processes, memory and files.

Intermediate8 modules29 lessonsFree · no sign-up
0 of 29 lessons published
View syllabus

Syllabus

01 IntroductionWhat an OS does. 4 lessons
  1. 1.1What is an operating system?Coming soon
  2. 1.2Types of operating systemsComing soon
  3. 1.3Kernel, shell and system callsComing soon
  4. 1.4Boot processComing soon
02 ProcessesPrograms in action. 4 lessons
  1. 2.1Process and process statesComing soon
  2. 2.2Process control blockComing soon
  3. 2.3Context switchingComing soon
  4. 2.4Inter-process communicationComing soon
03 ThreadsLightweight processes. 2 lessons
  1. 3.1Threads and multithreading modelsComing soon
  2. 3.2User vs kernel threadsComing soon
04 CPU SchedulingWho runs next? 4 lessons
  1. 4.1Scheduling criteriaComing soon
  2. 4.2FCFS, SJF and priority schedulingComing soon
  3. 4.3Round robinComing soon
  4. 4.4Multilevel queue schedulingComing soon
05 SynchronisationAvoiding clashes. 3 lessons
  1. 5.1Critical section problemComing soon
  2. 5.2Mutex and semaphoresComing soon
  3. 5.3Classic problems: producer-consumer, dining philosophersComing soon
06 DeadlocksWhen everyone waits forever. 4 lessons
  1. 6.1Deadlock conditionsComing soon
  2. 6.2Deadlock prevention and avoidanceComing soon
  3. 6.3Banker's algorithmComing soon
  4. 6.4Deadlock detection and recoveryComing soon
07 Memory ManagementSharing RAM between programs. 5 lessons
  1. 7.1Contiguous allocationComing soon
  2. 7.2PagingComing soon
  3. 7.3SegmentationComing soon
  4. 7.4Virtual memory and demand pagingComing soon
  5. 7.5Page replacement algorithmsComing soon
08 Storage and FilesDisks and file systems. 3 lessons
  1. 8.1File systemsComing soon
  2. 8.2Directory structureComing soon
  3. 8.3Disk scheduling algorithmsComing soon