1/42
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Functions of an operating system?
provide user interface (CLI or GUI)
controls hardware (device drivers,I/O control)
platform on which software can run
security & protection (user authentication,access control)
memory management (virtual memory,paging,memory allocation & deallocation
file management (creating,deleting,editing,access control)
network management (communication devices on a network)
process management (scheduling,process creation & termination)
utility software (maintain hardware e.g. disk clen,backup etc.)
Mnemonic to remember functions of an operating system?
umbrellas create protection shielding many from nasty puddles underfoot
What does memory management do?
organise use of main memory by partitioning,allocating and reallocating memory
What does memory management allow?
programs larger than main memory to run
separate processes to run simultaneously
How does memory management ensure that no space is wasted?
by converting logical addresses (virtual) into physical addresses (on hardware)
What does memory management protect the OS and programs from?
accessing each other’s memory unless required
What does paging do?
partitions memory into fixed sized physical divisions (pages) made to fit sections of memory
(doesn’t care about splitting up programs that need to be together just splits wherever will fit in memory)
What does segmentation do ?
partitions memory into variable sized logical divisions which hold complete sections of programs
(split in different sizes and considers programs need to stay together)
What are similarities between paging and segmentation?
use virtual memory to swap parts of programs
allow programs larger than memory to run
allows programs to be stored non contiguously in memory (blocks not consistent)
both ways of partitioning memory
may cause disk threshing if more time is spent swapping pages than processing
What is virtual memory’s role in memory management?
holds parts of programs that are not currently in use
What are features of virtual memory in terms of memory management?
allow large programs to run when there is insufficient memory
uses backing store (hardware storage) as additional memory
swaps pages between RAM and backing store to make space for pages needed
What is an interrupt?
signal to processor causes break to execution of current routine to obtain processor time
What does an interrup indicate?
process/device needs servicing for a higher priority task to avoid delays, data loss & use the processor efficiently
(most urgent task performed first)
Describe an interrupt service routine (ISR)?
check interrupt register & compare priority
if low/equal priority current tasks continues
if higher priority CPU completes current FDE then…
contents of registers copied into LIFO stack stored in memory
the location of the appropriate ISR is copied into PC
What happens when the ISR is completed?
flags reset to inactive status
further interrupts checked & serviced if needed
previous contents popped from stack and copied into registers to resume processing
What is a scheduler?
a program that manages amount of time processes have in the CPU
Roles of the scheduler?
process max. amount of jobs in least amount of time
maximise users w/ fast response times & no apparent delay
utilises resources & processor time efficiently depending on priorities
What does preemptive mean?
current process can be interrupted if higher priority task enters the queue
What does non-preemptive mean?
process can’t be interrupted until it completes/burst time is over
What is burst time?
total time process takes to complete its execution
What are the 5 five scheduling algorithms?
Round Robin (RR)
First Come First Serve (FCFS)
Multilevel Feedback Queues (MLFQ)
Shortest Job First (SJF)
Shortest Time Remaining (STR)
What is the mnemonic to remember scheduling algorithms?
Roaring Flames Make Spectacular Sounds
Describe Round Robin (RR)?
preemptive
each process is given a small time slice
after time is over it is put back into the ready queue
Describe First Come First Serve (FCFS)?
non - preemptive
jobs processed in order of arrival
fist job = first in running state
Describe Multi Level Feedback Queues (MLFQ)?
preemptive
multiple queues w/ different priorities
jobs able to move between queues as priorities change
Describe Shortest Job First (SJF)?
non - preemptive
picks job w/ shortest time ad runs until finished
Describe Shortest Time Remaining (STR)?
preemptive
scheduler estimates length of each process
picks one w/ least amount of time & runs it
if job added w/ shorter time it switches to that one
What are the 5 types of operating systems?
distributed
embedded
multi tasking
multi user
real time
Word to remember types of OS?
DERMM
Describe a distributed OS
shares processing & data between multiple computers to work together as a single system
Describe an embedded OS
built into a device w/ limited resources
Describe a multitasking OS
runs multiple programs apparently simultaneously using separate windows for each task
each receive a slice of processor time before going onto next task
user can switch between programs
Describe a multi user OS
one computer w/ multiple terminals each given a small time slice in turn
allows multiple users to access computer resources simultaneously using flags, priorities & separating user and data rights
Describe a real time OS
data processed immediately
no delay guaranteeing response within a given time frame
What does BIOS stand for?
Basic Input Output System
What does the BIOS do to start up the computer?
contains the computer start up instructions
loads settings
checks hardware/peripheral devices are available and reports errors
loads the operating system
What is a device driver?
piece of software
instructions to enable peripherals & OS to communicate & configure hardware
What is a virtual machine?
theoretical computer that provides an environment where a translator is available
What are the features of a virtual machine?
uses interpreter to run intermediate code
slower than compiler & has limited access to low level features (e.g. GPU access)
used to test program compatibility - run an OS inside another OS
What is intermediate code?
partly translated simplified code produced by compiler (between high level and machine code)
Where can intermediate code run and what does it improve?
on any computer using an interpreter
improves portability between machines
What are positives of intermediate code?
improves portability between machines
same code can be obtained from different high level languages
allows sections of code to be written in different languages by different programmers
suitable for specific tasks - as is error free & protects intellectual property
What is a negative of intermediate code?
needs translation and additional software to run so slower than executable code