Functions of operating systems
User
Device Driver
Application Software
File management
Utility Programs
Hardware
Memory/resource
User interface
Types of operating systems
Embedded
Multi-user
Multi-tasking
Real time
Distributive
Distributive operating system
One job is split up into several tasks + each task is run on a separate computer
Multi-tasking operating system
Runs on a standalone computer + can run many jobs at the same time
Multi-user operating system
Multiple users on the same computer and each person gets a slice of the processor at once
Embedded operating system
Contains a minimal user interface, accepts input from sensors, limited amount of RAM + has no permanent data storage devices. Intended to perform specific tasks for devices that are not a computer
Real time operating system
Must respond quickly to any inputs/sensors, must be able to deal with multiple inputs simultaneously, must have failsafe mechanisms + must incorporate redundancy
3 ways OS manages memory
Paging
Segmentation
Virtual memory
Virtual Memory
Data that is in RAM which is not currently being used to be transferred to the hard disk drive
Paging
Memory is divided into fixed sized pages of 4KB each + a process currently in memory may be held in non-continuous pages
Types of Scheduling
Round Robin (RR)
First Come First Serve (FCFS)
Shortest Job First (SJF)
Shortest Time Remaining (STR)
Multi Level Feedback (MLF)
Round Robin
Each task has an equal amount of time in the processor until the instructions are complete
First Come First Serve
Whatever job is first in the queue, gets completed first, no matter how long it takes
Shortest Job First
Whatever instruction has the least amount of time left to complete goes to the front of the queue for execution first
Shortest time remaining
The task with the shortest time left to complete goes first
Multi-level feedback
Divides the task into multiple queues based on their priorities