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.