1.2.1 Systems Software Flashcards
(28 cards)
What is an operating system?
A collection of programs that provide an interface between the user and the computer, managing memory, resources, files, input/output, interrupts, security, and the user interface.
Why are operating systems essential?
They allow users to communicate with the computer and manage hardware resources efficiently in devices like laptops, phones, and consoles.
Name some popular desktop and mobile operating systems.
Desktop: Windows, macOS. Mobile: iOS, Android.
What are the main functions/features of an operating system?
Memory management, resource management (scheduling), file management, input/output management (device drivers), interrupt management, utility software, security, and user interface.
What is memory management in operating systems?
It ensures main memory is shared efficiently between multiple programs using paging, segmentation, and virtual memory.
What is paging?
Memory is split into equal-sized pages, and programs are made up of pages which can be swapped between main memory and hard disk.
What is segmentation?
Memory is divided into logical segments of varying sizes representing blocks of code or program structure.
What is virtual memory?
Using a section of the hard drive as additional RAM when main memory is insufficient, swapping inactive parts of programs temporarily to disk.
What is disk thrashing?
When excessive paging causes the computer to spend more time swapping pages between memory and disk than running programs, causing the system to freeze or slow down.
What are interrupts?
Signals from software or hardware that alert the CPU to attend to a process immediately.
How does an interrupt get handled?
The processor checks an interrupt register, saves the current CPU state to a stack, runs the Interrupt Service Routine (ISR), then restores the CPU state.
What is an Interrupt Service Routine (ISR)?
A special routine run by the CPU to handle interrupts based on priority, ensuring higher priority tasks are serviced first.
What is the purpose of scheduling in operating systems?
To allocate processor time fairly between jobs and ensure efficient use of the CPU.
What are the two main types of scheduling algorithms?
Pre-emptive (the OS can interrupt jobs) and Non-pre-emptive (jobs run until completion).
Describe the Round Robin scheduling algorithm.
Each job gets a fixed time slice; jobs cycle through until completed. Fair but inefficient for long jobs.
Describe First Come First Served (FCFS) scheduling.
Jobs run in the order they arrive, simple but long jobs can delay others.
Describe Shortest Job First scheduling.
Jobs with the shortest processing time are prioritized to minimize average wait time but can cause starvation for long jobs.
Describe Shortest Remaining Time scheduling.
Jobs with the least remaining time are prioritized; similar benefits and risks to Shortest Job First.
Describe Multilevel Feedback Queues scheduling.
Multiple queues with different priorities are used, allowing complex prioritization but difficult to implement.
What are distributed operating systems?
OS that run across multiple devices to share processing load.
What are embedded operating systems?
Specialized OS designed for specific hardware and tasks, often with limited functionality and power consumption.
What is multi-tasking in operating systems?
Allowing multiple programs to run seemingly simultaneously via quick switching.
What is a multi-user operating system?
An OS that allows multiple users to access a single powerful computer simultaneously.
What is a real-time operating system?
An OS designed to guarantee task completion within a strict time frame for safety-critical applications.