a program that initialises and tests whether system hardware is functional and then loads the OS from the hard disk to the RAM when the computer turns on
Device Drivers
program supplied with a peripheral device allowing the OS to control and communicate with the device
Distributed Operating Systems
OS is spread over multiple computer servers on a network, acting as a single system to parallel process the job
Embedded OS
a specialised OS with limited resources and functionality, built in to control a single machine
First Come First Served (FCFS)
scheduling algorithm where processes are dealt with in the order they arrive (queue)
Intermediate Code
code partly translated between high-level and machine language produced by a compiler
Interrupts
a signal from hardware, software or the clock to alert the CPU
if the interrupt is higher priority than current task, current routine pauses and resumes after interrupt is executed
Interrupt Service Routine (ISR)
if an interrupt is high priority than current task, register contents transfer temporarily onto the system stack at the end of the current FDE cycle and the interrupt is handled
Memory Management
efficient organisation and allocation of main memory to the programs in use
Multi-Level Feedback Queues
a scheduling algorithm that uses multiple queues, each with a different priority
jobs can be moved between queues
Multi-tasking OS
an OS capable of running multiple tasks simultaneously
Multi-User OS
an OS consisting of one mainframe computer with multiple terminals
this lets multiple users access computer's resources
each user is given a time slice of the mainframe processor
Operating System (OS)
a set of programs managing the operation of the computer that's loaded into RAM everytime the computer is turned on
bridges user to hardware
Paging
separating memory into fixed sixed physical divisions called pages
processes in memory will be assigned an appropriate number of pages
Real Time OS
an OS where data is processed as it comes
responses are generated within a guaranteed timeframe
Round Robin
scheduling algorithm where each process is given an equal time slice and dealt with in a First In First Out basis
if a process doesn't finish within a time slice, it joins the end of the queue
Scheduling
allocating processor time to each application to make sure processor time is used efficiently when multitasking
Segmentation
separating memory into variable sized logical divisions called segments
a large program can be executed by consecutively running its segements
Shortest Job First
scheduling algorithm that picks the process with the shortest estimated running time and runs it till it's finished
Shortest Remaining Time
scheduling algorithm that picks the process with the shortest estimated time remaining
if a process with a shorter time is added, scheduler switches processes
Virtual Machines
any instance where software is used to take on the function of a machine
includes intermediate code/running an OS in another
Virtual Memory
an allocated area of secondary storage where pages of inactive jobs are swapped into to free up RAM for the current job