Systems Software Flashcards
What is the role of an Operating System?
The operating system acts as an interface between the hardware and software.
What is the kernel?
The kernel is part of the OS that is responsible for the most low-level hardware operations (e.g: managing CPU, memory devices, etc)
What are the 4 main functions of an OS?
- User Interface
- Memory Management
- Peripheral Management
- Multitasking
Why is memory management necessary?
- Allows programs larger than memory to run
- Protects programs from overwriting each other
What are the two main methods for an OS to manage memory?
Memory Paging and Memory Segmentation
What is memory paging?
Data is split up physically into equally-sized pages and placed in non-contiguous memory spots.
How does the OS know where to locate specific memory pages?
Given an address, the Operating System(OS)/Memory Management Unit(MMU) translates it to a primary memory location.
What is memory segmentation?
Memory is split up logically into modules/functions, and are placed in non-contiguous memory locations.
What is virtual memory?
Using secondary storage as a temporary store when RAM is full. Programs/data not in use are moved to and from virtual memory via paging.
What is an issue with paging/segmentation/virtual memory?
Disk thrashing is when pages are swapped between virtual memory and RAM too much, and less time is spent actually running programs.
What is a Distributed OS?
A distributed OS coordinates multiple computers to act as one or to contribute resources to a task.
What is an Embedded OS?
An embedded OS is designed for specific hardware/functions, typically can’t be changed, and uses the device hardware/power efficiently.
What are the five main types of OS?
- Distributed OS
- Embedded OS
- Multi-Tasking OS
- Multi-User OS
- Real-Time OS
What is a Multi-User OS?
Allows multiple users to use the computer at the same time. Typically found in servers, but must use a scheduling algorithm so users get enough CPU time.
What is a Multi-Tasking OS?
Makes it seem as though processes are done in parallel by giving different processes different amounts of CPU time and quickly going through them. Used in most PCs.
What is an interrupt?
A signal is generated by software or hardware to indicate to the processor that a process needs attention.
What is a Real-Time OS?
A real-time OS is designed to process certain data within a guaranteed time frame, and is found in time-sensitive systems like self-driving cars.
They typically have fail-safe features such as backup hardware.
Why does an OS need scheduling?
The OS needs scheduling so that processes are given a fair amount of CPU time, and appear to be operating in parallel.
What is the Interrupt Service Routine?
When the CPU receives an interrupt, the ISR will evaluate the interrupt’s importance, storing it in a queue or servicing it if need be.
What are the 5 main scheduling algorithms?
- Round Robin
- First Come, First Serve
- Shortest Job First
- Shortest Remaining Time First
- Multi-level Feedback Queue
What is the Round Robin algorithm?
Each job is given an equal amount of CPU time, and if not finished, is sent to the back of the queue.
What is the First Come, First Serve algorithm?
The first task is the queue is completely processed, then the second, etc.
What is the Shortest Job First algorithm?
The shortest job in the queue is given priority. The current job is completed fully even if a shorter job now exists.
What is the Shortest Remaining Time algorithm?
The job with the least amount of time left before it MUST be finished is given priority. Jobs that don’t need to be done immediately are given low priority.