abstracts: simiplify what the hardward actually looks like.
arbitrates: manage, oversee and control the hardward use.
Errata
@2:14 in the video, it should read mmap (memory) instead of malloc (memory).
- mmap is a POSIX-compliant Unix system call
- malloc is a standard C library function
Errata
At 1:46 an image of the hardware cache, fire, and ice cube appear. This image is not well explained in the video, so here is a better explanation:
Because context switches will swap the data/addresses currently in cache, the performance of applications can benefit or suffer based on how a context switch changes what is in cache at the time they are accessing it.
A cache would be considered hot (fire) if an application is accessing the cache when it contains the data/addresses it needs.
Likewise, a cache would be considered cold (ice) if an application is accessing the cache when it does not contain the data/addresses it needs -- forcing it to retrieve data/addresses from main memory.
Errata
Here is a more readable version of the Windows vs. Linux System Calls diagram (starting @ 1:24).
64bit system: SETGID
32bit, 16bit system have add the bit number
any possible service that any one of the applications can require or
that any type of hardware will demand
is already part of the OS. eg, may include several possible file systems
we have to go through these interfaces to before implementation
Modules may come from different code bases and can be a source of bug
but Modular OS delivers significant improvements over monolitic approach
at os level, microkernel may support services such as to represent an executing application, its address space, and its context, so a thread.
Everything else , all other software components, applications like databases, as well as software that we typically think of as an operating system component, like file system, device drivers, everything else will run outside of the operating system kernel at user level.
For this reason, this microkernel-based organization of OS requires lots of inter-process interactions. interprocess communications will be one of the core abstractions, along with address spaces and threads.
verifiability => Microkernel OS is usually used in embeded system and control system