#### [[notes_OS_Operating Systems]] **Creator**:: [[Nathan Eloe]] **Source**:: [[00_intro_to_os 1.pdf]] **Covers**:: [[Computer Science]] # [[notes_OS_Operating Systems]] - [[Kernel Space]] - memory locations the kernel and other processes that have no restrictions in access to harware, instructions or memory locations execute from - [04:33](https://www.youtube.com/watch?v=ORLqB_2a1PQ#t=273.99443777493286) - [[User Space]] - restricted memory locations from which process cannot access harware or kernel memory directly - [05:28](https://www.youtube.com/watch?v=ORLqB_2a1PQ#t=328.145502912262) - [[Monolithic Kernel]] - All kernil services ([[Virtual File System| VFS]], schedulers, device drivers) live in [[Kernel Space]] and share memory while communicated through the [[Application Binary Interface | ABI]] Q: What are the pros and cons of monolithic vs micro kernels A: [[Monolithic Kernel]]s are faster and more volatile but more difficult to extend while [[Micro Kernel]]s are slower but more robust smaller and easier to extend - [[Micro Kernel]] [06:44](https://www.youtube.com/watch?v=ORLqB_2a1PQ#t=404.3835089923706) - [[Kernel Space]] only holds [[Inter Process Communication | IPC]], [[CPU]] scheduling and virtual memory while all other services run in user space using sockets and message passing to communicated - [01:31](https://www.youtube.com/watch?v=ORLqB_2a1PQ#t=91.4331031411438) [[ENIAC]] first computer with no OS - [[Monolithic vs Micro Kernels]]