1.2.1 Flashcards
Systems software
What is a driver?
A piece of software which allows the OS to interact with a hardware device.
How can a driver make it possible for the same printer to work multiple types of hardware.
The driver software is hardware/OS dependent. So the routines will vary according to the platform, but the OS does not need to know how they are implemented.
Describe what is meant by hardware redundancy.
Crucial hardware components are duplicated so that if one component fails, another is automatically brought into operation.
State a function the BIOS performs at start up.
- Initialise/check hardware
- Load OS into RAM
Describe what is meant by fail-safe.
A system or component that comes into operation in the event of a failure which deals with the resulting situation quickly and safely.
What are the functions of an operating system?
- Memory management
- Interrupt service routines
- Processor scheduling
- I/O management
- Backing store management
What is an operating system?
An operating system is a set of programs that manages the operation of the computer for the user. It acts as a bridge between the user and the computer’s hardware.
What is memory management?
Memory management is the allocation and management of space within memory for running programs.
What is paging?
Paging is a technique that splits memory into smaller fixed sizes of 4Kb each. These ‘pages’ aren’t always contiguous and so a page table is used to map the logical addresses to their physical locations in RAM.
What is segmentation?
Segmentation splits memory into smaller segments of varying length depending on program structure.
Define virtual memory.
Virtual memory is when secondary storage is used as an extension of memory.
Why is virtual memory needed.
Memory is not limitless, therefore to allow the system to keep running the OS swaps pages of temporarily inactive jobs to secondary storage.
What are some of the downsides to virtual memory?
- Secondary storage is typically slower than RAM.
- There is an overhead in swapping pages in and out of memory which can impact performance
What is an interrupt?
An interrupt is a signal from a software program, hardware device, or internal clock to the CPU.
What is the purpose of interrupt service routines?
At the end of each FDE cycle the CPU checks for interrupts. If a signal is present it suspends the current program by placing its PC and register values onto the system stack, and a interrupt service routine is called to process the interrupt. Different interrupts have different routines.
How does a computer appear to be multitasking?
Processor scheduling
What are the objectives of a processor scheduler?
- Maximise throughput
- Be fair to all users on a multi-user system
- Provide acceptable response times to all users
- Ensure hardware resources are kept as busy as possible
Name the different types of scheduler
- Round robin
- First come First Served
- Shortest remaining time
- Shortest job first
- Multi-level feedback queues
How does round robin schedule tasks?
Processes are despatched on a first in first out (FIFO) basis, with each process in turn being given a time slice (a limited amount of CPU time). If the process does not complete before the time expires, or before a higher priority interrupt occurs, the despatcher gives the CPU to the next process. After each other running processes has either completed or used their time slice the original program will then get another time slice in order try and complete its task.
Explain the first come first served scheduler
Jobs are processed in the order in which they arrived, with no system of priorities
How does shortest remaining time schedule tasks?
The process with the smallest estimated completion time is run next. This tends to reduce the number of waiting jobs, and the number of small jobs waiting behind big jobs. Its disadvantage is that it requirees knowledge of how long a job will take.
What are multi-level feedback queues?
MLFQs is an algorithm used in scheduling to:
- Give preference to short jobs
- Give prefence to I/O bound processes
- Separate processes into categories based on their need for the processor
What is shortest job first?
This is a scheduling algorithm that processes jobs that have the smallest estimated running time first. It minimises the amount of short programs running but has the drawback of needing time estimations.
Explain backing store management.
When files and applications are loaded, they are transferred from backing storage into memory. The OS is required to keep a directory of where files are stored so that they can be quickly accessed. Similiarly, it needs to know which areas of storage are free so that new files or applications can be saved.