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 3 functions of an Operating System:
Three from:
Memory management
Resource management
I/O management
Interrupt management
Security
User interface
Utility software
What are the similarities and differences between paging and segmentation?
Both: Are 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 the 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 checked at the end of each FDE cycle
- If there is an interrupt that exists with a higher priority, 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 sent to signal the ISR has begun
- The flag is reset once the ISR is finished
- Interrupt register checked again. If interrupts are of a 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 FDE cycle renews as before
Which scheduling algorithms are preemptive and which ones are non-preemptive?
(First come first serve, shortest remaining time, shortest job first, multi-level feedback queues, round robin)
Preemptive: RR, SRT, MLFQ
Non-preemptive: FCFS, SJF
What are the advantages and disadvantages of using Multi-Level Feedback Queues for scheduling?
Advantage: Services most urgent interrupts first
Disadvantage: Hard to implement
Define a real-time operating system and when it may be used?
Perform tasks within a guaranteed time frame (critical).
Examples include life support systems, self-driving cars, etc.
Define three functions of BIOS
- POST (power on self test) which ensures that are hardware is correctly connected and functional
- Checking the CPU a lock, memory and processor
- Testing for external memory devices
What is the role of a device driver?
Enables the OS to interact with hardware devices
Describe an instance in which a VM may be used:
Any from:
- Testing programs
- Protection from malware
- Running software compatible with different versions and types of OS
Give one advantage and one disadvantage of intermediate code:
Advantage: Platform independent, portable
Disadvantage: Slower execution
Define Pre-emptive:
OS that actively start and stop jobs
eg. Multi-Level Feedback Queues, Shortest Remaining Time, Round Robin
Define Non Pre-emptive:
Once a job starts, the OS leaves it alone until it’s completed
eg. First Come First Served, Shortest Job First