1/37
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Operating system
Collection of programs that work together to provide an interface between the user and computer
Operating system features
Memory management
Resource management
File management
Input/Output management
Interrupt management
Utility software
Security
User interface
Paging
Memory is split up into equal sized sections (pages) that can then be swapped between main memory and the hard disk
Segmentation
Splitting up memory into logical sized divisions (segments
)Virtual memory
Uses a section of the hard drive to act as RAM when the space in main memory is insufficient. Programs that are not currently in use are temporarily moved into virtual memory
What is the issue with paging, segmentation and virtual memory?
They cause disk thrashing. This is when the computer 'freezes' and occurs as a result of pages being swapped too frequently between the hard disk and main memory
Interrupts
Signals generated by software or hardware to indicate to the processor that a process needs attention.
Different types of interrupts have different priorities and they are stored in order of their priority in an interrupt register
Interrupt Service Routine
The processor checks the contents of the interrupt register at the end of each FDE cycle
If an interrupt exists that is of higher priority to the process being executed, the current contents of the special purpose registers in the CPU are temporarily transferred into a stack
The processor responds to the interrupt by loading the appropriate interrupt service routine into RAM
Scheduling
Ensures all sections of programs being run receive a fair amount of processing time
Pre-emptive
Jobs are actively made to start and stop by the operating system
e.g. MFQ, SRT, RR
Non pre-emptive
Once a job is started, it is left alone until it is completed
e.g. FCFS, SJF
Round Robin
Each job is given a time slice of processor time within which it is allowed to execute
Once each job in the queue has used its first time slice, the OS again grants each job an equal slice of processor time
This continues until a job has been completed
Advantages of round robin
Ensures each job is seen to
Disadvantages of round robin
Longer jobs will take much longer for completion due to being inefficiently split up into multiple cycles
Does not take into account job priority
First come first served
Jobs are processed in chronological order
Advantages of first come first served
Straightforward to implement
Disadvantages of first come first served
Does not allocate processor time based on priority
Multilevel feedback queues
Makes use of multiple queues, each which is ordered based on a different priority
Advantages of multilevel feedback queues
Allocates processor time based on priority
Disadvantages of multilevel feedback queues
Difficult to implement
Shortest job first
The queue storing jobs to be processed is ordered according to the time required for completion, with the longest jobs being serviced at the end
Advantages of shortest job first
Suited to batch systems
Disadvantages of shortest job first
Requires the processor to calculate how long each job will take which is not always possible
Risk of processor starvation
Shortest remaining time
The queue storing jobs to be processed is ordered according to the time left for completion, with the least time to completion being serviced first
Advantages of shortest remaining time
Reduces waiting time
Disadvantages of shortest remaining time
Risk of processor starvation
Processor starvation
When a particular process does not receive enough processor time in order to execute and be completed
Distributed Operating System
Runs across multiple devices, allowing the load to spread across multiple computer processors
Embedded Operating System
Performs a small range of specific tasks
Multi-tasking Operating System
Enables the user to carry out tasks seemingly simultaneously by using time slicing to quickly switch between programs and applications in memory
Multi-user Operating System
Makes use of one computer within a multi-user system. Therefore a scheduling algorithm must be used to determine ensure processor time is shared fairly between jobs
Real Time Operating System
Used in time-critical computer systems and designed to perform a task within a guaranteed time frame
BIOS
The first program that runs when a computer is switched on
Key tests BIOS runs before the operating system is loaded into memory
Bootstrap
The program that loads the operating system from the hard disk into main memory
Device drivers
Allow the operating system to interact with hardware
When a piece of hardware is used it is the device driver that communicates this request to the OS And high can then produce the relevant output
Virtual machine
A theoretical computer that is a software implementation of a computer system. It provides an environment with a translator for intermediate code to run
Intermediate code
Code that is halfway between machine code and object code