Operating System Fundamentals Flashcards
Describe operating systems, including their roles, basic functions, and importance to software applications (65 cards)
embedded operating system
An operating system designed for specialized devices dedicated to specific tasks.
For example, banking machines or industrial control systems
firmware
Specific software installed on device hardware like fitness monitors or routers, providing essential functionality and control.
hypervisor
Software that enables the creation and management of virtual machines, allowing multiple operating systems to run on a single physical machine simultaneously.
kernel
The core component of an operating system that manages resources and acts as an interface between software applications and hardware.
mobile operating system
Operating systems tailored for mobile devices like smartphones and tablets, optimized for touch-based interaction and app efficiency.
operating system (OS)
Software that manages hardware resources and provides services for computer programs, facilitating user interaction and software execution.
shell
The interface that allows users to interact with an operating system, typically through command-line interfaces.
type 1 hypervisor
A bare-metal hypervisor that operates directly on hardware, enabling the creation and management of multiple virtual machines.
Examples include VMware ESXi and Microsoft Hyper-V.
type 2 hypervisor
A hypervisor that requires a host operating system and runs as an application within it, facilitating virtual machine creation and management.
Examples include Oracle VM VirtualBox and VMware Workstation.
virtual machine (VM)
A software emulation of a physical computer that operates within a host environment, allowing multiple operating systems to run concurrently on a single physical machine.
application hardware interface
The intermediary layer between software applications and hardware components, facilitating interaction and functionality.
application programming interface (API)
A set of protocols and tools that allows different software applications to communicate and integrate, enhancing interoperability and development efficiency.
CPU usage
The percentage of time the central processing unit (CPU) spends executing instructions for a specific task or process, indicating the load or demand on the CPU.
Disk Management
A Windows utility that manages disk drives, partitions, and volumes, enabling tasks like creating, formatting, resizing, and deleting volumes.
driver
Software that enables an OS to communicate with hardware devices by translating commands from the OS into instructions that the hardware can understand and execute.
file system
A method or structure for organizing and storing computer files on storage devices, such as hard drives, SSDs, or removable media, defining how data is accessed and stored.
hardware abstraction layer (HAL)
A software layer that abstracts hardware details and provides a consistent interface for the OS to interact with different hardware configurations.
hardware configuration
The arrangement and setup of physical hardware components within a computer system.
Includes connections, settings, and compatibility considerations
input/output (I/O)
The process of exchanging data between an information processing system (such as a computer) and the outside world, typically through peripherals like keyboards, mice, or printers.
memory management
The process of managing computer memory resources to optimize system performance, involving tasks like allocation, deallocation, and usage monitoring of RAM.
multitasking
The ability of an OS to execute multiple tasks or processes concurrently, allowing users to run multiple applications simultaneously.
process management
Involves managing processes running on a computer, including tasks such as starting, stopping, prioritizing, and monitoring processes to ensure efficient use of system resources.
print driver
A type of driver specifically designed to facilitate communication between an OS and a printer, ensuring proper printing functionality.
processor scheduling
The process by which the OS allocates CPU time to processes, managing their execution and priority levels to optimize system performance and responsiveness.