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:
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
What is the role of a device driver?
Enable the OS to interact with hardware devices
Describe an instance in which a VM may be used:
Any from:
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