Systems Flashcards
Operating system
Software that controls the computer’s hardware and software resources.
Allows applications to interact with the hardware.
Performs memory management and security.
Paging
Divided into pages of equal sizes, stored in page frames
Can be stored non-contiguously
Page table used to keep track of which page frame is allocated to each page.
Segmentation
Divided into segments of varying sizes to fit the memory requirements of each process.
Can be stored non-contiguously.
OS tracks their physical location with a segment table.
Can be leakage.
Virtual memory
Extends the memory available by using secondary storage.
Swaps parts of a process that are not in use.
Slower than main memory.
Interrupt
A signal sent to the processor to request immediate attention.
ISR (Interrupt Service Routine) responds to the request.
Current FDE cycle is finished, current contents of registers is moved to memory, interrupt dealt with then does back to process.
Round robin
Gives each process a time slice.
Cycles through them until all are finished.
Every task is allocated processing time without a long wait.
As more processes run, the time slice for each gets smaller so more urgent tasks are less likely to be completed.
First come first served
Processes run from start to finish in the order they are received.
Once started a process will definitely be completed.
Starvation may occur.
Can be long wait times.
Shortest job first
Processes queued in order of their total time to complete.
Reduces wait times.
Starvation if shorter jobs keep being added.
Shortest time remaining
If a new task with a shorter time is added it will move on to that.
Delays longer processes.
The less a process has left to do, the higher its priority.
Multi-level feedback queue
Each queue has a different level of priority. Processes are chosen based on which queue and how much time it’s already had.
If used too much time it moves to a lower priority queue, if has been idle moves to higher priority.
Important jobs are dealt with sooner.
Avoids starvation.
Distributed OS
Coordinates the communication between separate computers joined together by network connections.
Data and instructions that need to be processed will be split between each computer.
Useful when processor-intensive tasks need to be completed and a single processor is not powerful enough.
Embedded OS
Used in computers which only serve a specific purpose eg washing machine.
Provide hardware reliability and ensure efficient use of resources.
System not very flexible.
Multi-tasking OS
Perform a variety of tasks on the same OS, eg personal computers.
Manages the computer’s resources to provide the illusion of running multiple tasks at once.
Multi-user OS
Provides the facilities for multiple users to access the same system. Controls the consumption of resources so that users can access it without affecting others.
Real time OS
Support applications that need to process data to produce a particular output as quickly as possible.
Not likely to be as flexible as others as they need to ensure a consistent response to inputs within a guaranteed time period.
Eg plane autopilot system and driverless cars to ensure extremely fast response times.