Paging
Available memory is divided into fixed sized pages, each has its own address. A process is loaded into RAM is allocated sufficient pages, they may not be contiguous.
Internal Fragmentation → When a page is not filled completely.
Segmentation
Available memory is allocated to a RAM process in chunks, the size is not fixed, the chunks may not be contiguous, this is priority based.
External Fragmentation → Chunk size changes and a gap too small to fill is left.
Virtual Memory
When demand for RAM exceeds its capacity, any program that is not needed or is not in use is switched to virtual memory to make room in the RAM.
Single User Os
Only one user can use the system at a time.
Multi-User Os
Multiple users can log in and connect to the system from different locations simultaneously.
Embedded Os
Highly Specialised to control a machine.
Real Time Os
An OS that is intended to serve real time applications to process data as it comes in.
Distrubuted Os
An OS where the software is spread over a collection of independent, networked, communicating and physically seperate nodes.
Round-Robin Scheduling
Treated as a circular queue, a small execution time interval is defined as a time quantum.
First-Come First-Serve Scheduling
First job to arrive will be executed until completion, and so on.
Shortest Remaining Time Scheduling
As a new job arrives, time until completion is estimated, the job with the shortest time is executed. If another job with shorter time arrives it will be executed first.
Shortest Job First Scheduling
Same as shortest remaining time, but it will not move on until its current job has been finished.
Multi-Level Feedback Queue Scheduling
Different levels of priority. If a job has used too much of the CPU then it is moved down a level. If a job has not had enough CPU usage it will move up a level.