"Operating Systems Course"

Written By Atticus Kuhn
Tags: "operatingsystems", "public", "project"
:PROPERTIES: :ID: 9b83150d-b8b5-46b7-8c46-03c1bf58c54f :mtime: 20240525071312 20240319060458 20240316061039 20240314093523 20240308080936 20240307034610 20240306102513 20240305024312 20240304105045 20240303091555 :ctime: 20240303091539 :END: #+title: Operating Systems Course #+filetags: :operatingsystems:public:project: The Operating Systems course at [[id:517f8b21-0d69-42dc-b902-0fd6ca8299e0][Cambridge]]. * Parts of the Course ** Part I Structures *** 01 Introduction *** 02 Protection - [[id:48e3b4fd-f8e2-45be-9b2a-f677529b7ceb][access matrix]] - [[id:05d03e4b-7378-42fc-a8b6-5e5289503536][Access Control List]] ** Part II CPU *** 03 Processes - [[id:ea9ceb4e-ff99-4939-ad40-90d5dae2d567][operating system process]] - [[id:6f77458f-4865-4da5-b6ac-691802b700df][process control block]] - [[id:fdb7311e-a7e3-4f86-83b0-3a6c6e5c3c47][operating system thread]] - [[id:2f3155e9-a235-47f7-bc69-22471cc0f558][context switch]] - [[id:64370e0d-7608-44dc-a647-28fe2e3ef3a4][process lifecycle]] - [[id:b46acdba-9a9d-4ec7-89f7-2ef1170e4457][process creation]] - [[id:ffd6e138-6cc4-450f-b3da-24edf74d4201][process termination]] - [[id:e5d5d8fe-b9b1-4f55-b965-0ef66cfcd3e6][interprocess communication]] *** 04 Scheduling - [[id:c3401d4b-100c-4660-b367-162598b46b23][CPU scheduler]] - [[id:906db23b-4030-4845-91d8-311dc1f76d95][Job Scheduler]] - [[id:23b8c096-f08e-4705-84d9-a04eceb00e7f][dispatcher]] - [[id:b60e36a6-1124-4ff8-9f4d-57b121870e3a][preemptive scheduler]] - [[id:c1b35d8f-418a-42ee-8c87-8290e6526b11][ready queue]] *** 05 Scheduling Algorithms - [[id:da770e35-84e4-4971-a798-d7eeeb01b808][CPU scheduling criteria]] - [[id:f550f660-122f-4288-a1f0-05e8921688cb][NUMA]] - [[id:e0599657-7d87-40f0-aa34-32a35d469e59][CPU scheduling algorithms]] - [[id:82e28271-2e3f-4e15-8e57-c0d922aed47d][convoy effect]] ** Part III Memory *** 06 Memory Management - [[id:44403b1a-2f62-4f77-a848-af51396f1333][address binding]] *** 07 Paging - [[id:83562885-8b11-40c2-9b18-951bd03bb863][paging]] - [[id:469f0f9f-5313-4442-843d-b244f8976577][demand paging]] - [[id:1de48b5e-d8c5-49e1-aa24-13ceed573b8f][copy on write]] - [[id:368ad26c-1ece-4d06-b665-e5bc14df8225][TLB]] *** 08 Virtual Memory -[[id:05c5d285-13cb-420b-98ba-1370be5c6c15][ page fault]] - [[id:a9596100-817a-475d-b171-767152220303][virtual memory]] - [[id:31878b60-3b84-4e7b-aaf2-3e070d9d53f9][page replacement algorithm]] - [[id:8c3b743c-8836-418b-a1be-3f5f10e35cf0][thrashing (memory)]] ** Part IV Input/Output and Storage *** 09 I/O Subsystem - [[id:f1434d6f-fa94-4f5e-af19-9f27df023821][polling]] - [[id:84d10aa1-0f12-46c7-92b4-9d0d50dd1a0b][DMA]] - [[id:ac051603-75b5-4337-b1ab-ce4c8482406b][types of IO devices]] - [[id:30a62e0f-4f16-4314-80c1-2e4c1669e97a][Types of IO Behavior]] - [[id:54e50c80-97b5-47fc-9249-b54e1c2fe2df][buffering]] - [[id:b6f5b357-3ecb-454f-866a-7770e1034638][Vectored IO]] *** 10 Storage & File Management - [[id:99efec8c-7668-4f79-96ad-b3d11d7f541a][disk scheduling algorithms]] - [[id:ed51220f-42e4-4491-8307-714a26a01224][inode]] ** Part V Case Study *** 11 Case Study I: UNIX (Linux) *** 12 Case Study II: UNIX (Linux)

See Also

Hardware InterruptCambridgeaccess matrixAccess Control Listoperating system processprocess control blockoperating system threadcontext switchprocess lifecycleprocess creationprocess terminationinterprocess communicationCPU schedulerJob Schedulerdispatcherpreemptive schedulerready queueCPU scheduling criteriaNUMACPU scheduling algorithmsconvoy effectaddress bindingpagingdemand pagingcopy on writeTLBpage faultvirtual memorypage replacement algorithmthrashing (memory)pollingDMAtypes of IO devicesTypes of IO BehaviorbufferingVectored IOdisk scheduling algorithmsinode

Leave your Feedback in the Comments Section