Two Objectives of Operating System
Convenience and Efficiency
What is an Operating System
Program that controls the execution of application programs and acts an interface between applications and the computer hardware
How does an operating system conceal complexity?
Protect users and programmers from having to work with horrendous complexity
How do the OS and hardware work together?
How does the OS do memory management?
How does the OS do Task management?
How does the OS do File management?
How does the OS do Device management?
Use device drivers to respond to requests to open, read, write and close devices
Essential hardware features for an OS
What is a process?
Running a program
What does a process include?
What is context switching?
The state of a running process is saved, and another process is given processor resources
What is a process control block?
A data structure used by a computer operating system to store all the information about a process
What are the different types of scheduling?
What is long-term scheduling?
The decision to add to the pool of processes to be executed
What is medium-term scheduling?
The decision to add to the number of processes that are partially or fully in main memory
What is short-term scheduling?
The decision as to which available process will be executed by the processor
What is I/O scheduling?
The decision as to which process’s pending I/O request shall be handled by an available I/O device
What is swapping?
The operating system stores a queue of processes wanting to execute (Processes on the disk, queue in the kernel). As space becomes available, the processes are loaded and when a process finishes it is removed. Stalled processes are swapped out e.g. waiting for I/O
What is partitioning?
A memory management technique that divides a computer’s memory into sections for use by programs
What is the difference between fixed size and variable size partitions?
Fixed size
- Logarithmic distribution of partition sizes
- Easy to administer
Variable size
- Memory is allocated as required
- Fragmentation makes it harder to load incoming processes
What is a logical address?
An address seen by the process and is relative to the programs address space.
What is a physical address?
An actual location in memory
What is a base address?
The current starting location of the process