1.2.1 Systems Software Flashcards
What is an operating system?
A collection of programs that work together to provide an interface between the user and computer.
Give some functions of an operating system.
- Memory management,
- Resource management,
- In/Output management,
- Interrupt management,
- Security,
- User interface,
- Utility software.
What are similarities and differences between paging and segmentation?
Both: Used when RAM space is insufficient, can cause disk thrashing.
Paging: Uses equal-sized sections called pages.
Segmentation: Uses variable-sized, logical sections called segments.
Describe how virtual memory is used when there is not enough RAM.
A section of hard drive is used to act as RAM.
Sections of programs not currently being used are temporarily moved into virtual memory through paging.
This frees up memory for other programs in RAM.
What is an interrupt?
A signal generated by software or hardware to indicate to the processor that a process needs attention.
Explain the stages of the Interrupt Service Routine.
- Interrupt register is checked at the end of each Fetch-Execute cycle,
- If there is an interrupt that exists with higher priority than the current process, the current contents of the registers in the CPU are transferred into a stack,
- The relevant interrupt service routine (ISR) is loaded into RAM,
- A flag is set to signal the ISR has begun,
- The flag is reset once the ISR has finished,
- Interrupt register checked again. If interrupts are higher priority, the process is repeated,
- If there are no interrupts with a higher priority, the contents of the stack are popped and placed back into the special memory registers,
- The Fetch-Execute cycle renews as before.
Are these scheduling algorithms pre-emptive or non pre-emptive?
FCFS, SRT, SJF, MLFQ, RR
Pre-emptive: RR, SRT, MLFQ
Non pre-emptive: FCFS, SJF
What are the advantages and disadvantages of using Multilevel Feedback Queues for scheduling?
Advantages: Services most urgent interrupts first.
Disadvantages: Hard to implement.
Define a real-time operating system and where it may be used.
Real-time operating systems perform a task within a guaranteed time frame. They are used in systems were a response within a given time frame is critical e.g. life support systems, self-driving cars, power systems.
Describe three functions of the BIOS.
Running tests upon the computer’s start-up:
- POST (Power-On Self Test) which ensures that all hardware is correctly connected and functional,
- Checking the CPU clock, memory and processor,
- Testing for external memory devices.
What does BIOS stand for?
Basic Input/Output System.
What is the role of a device driver?
To enable the operating system to interact with hardware devices.
Describe an instance in which a Virtual Machine may be used.
- Testing programs,
- Protection from malware,
- Running software compatible with different versions and types of operating systems.
Give one advantage and one disadvantage of intermediate code.
Advantage: Platform independent, portable.
Disadvantage: Slower execution.