1.2.1 - Systems Software Flashcards
What is systems software?
Programs that control the hardware and operation of the computer system.
1- Acts as an interface between the processor and the user and makes the hardware useable by the operator.
2- Gives a platform to run and allow access to other software.
3- Provides housekeeping software and manages applications.
What is an operating system?
An OS is a set of software programs designed to manage the hardware of the system. A modern OS has several purposes:
1- Controls the hardware of the system through software like resource management, hardware drivers, systems software, task management, scheduling, memory management, paging, segmentation and virtual memory.
2- Acts a platform on which applications software can run and deals with issues that the software may have e.g. storage of files.
3- Provides the operator with a suitable HCI to allow communication between user and hardware e.g. command line interface.
4- Handles communications between computer devices using rules and protocols to govern communication e.g.
across a network.
5- Handles translation of code through compilers, interpreters, assemblers to translate HLL/LLL into machine code.
6- Has many utility software programs used to carry out housekeeping tasks on the system to maintain the hardware.
7- Uses job scheduling to provide fair access to processor according to set rules.
What is memory management and what does it allow?
1- Organises the use of main memory by converting logical addresses to physical addresses.
2- Ensures no space is wasted by partitioning programs into chunks.
3- Allows programs to share memory to protect processes’ data from each other.
4- Ensures programs can’t access each other’s memory unless legitimately required to.
5- Allocates memory to allow separate processes to run at the same time and reallocates memory when necessary.
6- Allows programs larger than main memory to run.
7- Provides security to protect the OS.
What is paging?
Memory is divided into pages which are fixed sizes. These pages are made to fit sections of memory. Pages are physical divides and programs are split up to fit into a given number of pages.
What is segmentation?
Memory is divided into different sized segments. Segments are complete sections of programs which are LOGICALLY divided to fit data. To do this it will split the program into two parts and place them in available spaces.
What are the differences between paging and segmentation?
-Pages are fixed sizes, segments are different size.
-Pages are made to fit sections of memory, segments are complete sections of programs.
-Pages are physical divides, segments are logical divides.
What are the similarities between paging and segmentation?
-Are assigned to memory when needed to allow programs to run despite insufficient memory.
- Are stored on a backing store disk to swap parts of programs used for virtual memory.
- Allow programs to be stored in memory non-contiguously.
- May cause disk threshing when more time spent swapping pages than processing so computer may ‘hang’.
How does virtual memory work?
When the memory available is insufficient, an allocated area of a secondary storage device is used to allow large programs to run.
Uses a backing store as additional memory for temporary storage.
Swaps pages using paging between RAM and backing store to make space in RAM for pages needed.
Holds part of the program not currently in use.
High rate of disk access may cause computer to ‘hang’ when the disk is relatively slow and more time is spent transferring pages between memory and disk than processing. This problem is called disk threshing.
What is an interrupt?
Signal from hardware or software indicating that an event has occurred or that a process needs attention.
What is the interrupt service routine (ISR)?
A program with a set of instructions that need to be FDE’D to carry out the operations of the interrupt.
This means the program counter needs to be changed to the point to the address of the first instruction of the interrupt.
What happens to instructions/values stored in registers when there is an interrupt?
The values are copied into a stack, saving them for later.
Once the interrupt is complete we pop the frame off the top of the stack which allows us to retrieve the previous values and load them back into the registers to carry on with the instructions that were taking place before the interrupt.
What are the 6 steps of the ISR?
1) Check the interrupt register by comparing the priority of the incoming interrupt with the current task.
2) If it is of a lower or equal priority to the current task, then the current task continues.
3) If it is of higher priority, the CPU completes the current FDE cycle.
4) The contents of registers are copied to a LIFO stack stored in memory.
5) The location of the appropriate ISR is loaded by loading the relevant value into the PC.
6) When the ISR is complete:
Flags are reset to inactive state
Further interrupts are checked and serviced if necessary
Previous state contents are popped from the stack and are loaded back into the registers in order to resume
processing.
What are 5 scheduling algorithms?
Round Robin
FCFS
SJF
STR
MLFQ
What is MLFQ?
Multi-Level feedback queues-Several ready queues are used each with a different scheduling algorithm in.
What is a distributed operating system (DSOS)?
Allows the multiple computers, resources or processors on a network to work together on the same problem and be treated as a single system. Shares processing and the data between different systems on a network in order to reduce bottlenecks.