OS Functions Items Flashcards
OS definition.
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. It acts as an intermediary between the hardware and user applications, facilitating communication and resource management.
Examples of different operating systems.
Windows (e.g., Windows 10)
macOS (e.g., macOS Big Sur)
Linux (e.g., Ubuntu, CentOS)
Unix (e.g., FreeBSD, Solaris)
Android (for mobile devices)
iOS (for iPhones and iPads)
Chrome OS (for Chromebooks)
Embedded operating systems (e.g., FreeRTOS, VxWorks)
Different types of computers exist (personal, mobile devices, servers, embedded). How different are operating systems for different computer types.
Personal computers: Designed for individual use, running general-purpose operating systems like Windows, macOS, or Linux.
Mobile devices: Operating systems for mobile devices like smartphones and tablets are optimized for touch input and resource efficiency, such as Android and iOS.
Servers: Server operating systems prioritize stability, security, and scalability to support network services and applications efficiently, like Windows Server, Linux distributions (e.g., CentOS, Ubuntu Server), or specialized server OSs like FreeBSD or Solaris.
Embedded systems: Operating systems for embedded devices are tailored for specific hardware and applications, focusing on real-time responsiveness, small footprint, and power efficiency, such as FreeRTOS for microcontrollers or embedded Linux distributions like OpenWrt for routers.
What is operating system kernel (central part of OS).
The operating system kernel is the core component of the OS responsible for managing hardware resources, providing essential services, and facilitating communication between hardware and software components. It controls the execution of processes, manages memory, handles I/O operations, and enforces security policies.
List of operating systems functions. For each item on this list, be ready to give a short description.
Process management: Creation, scheduling, and termination of processes.
Memory management: Allocation, protection, and deallocation of memory resources.
File system management: Organization, storage, and retrieval of data on storage devices.
Device management: Control and coordination of hardware devices, including I/O operations.
User interface: Provides a user-friendly interface for interaction with the system.
Security and access control: Enforces security policies, authentication, and access control mechanisms.
Networking: Facilitates communication and data exchange between devices over a network.
Error handling: Detects and resolves errors and exceptions occurring during system operation.
What is multitasking? How is it arranged?
Multitasking is the ability of an operating system to execute multiple tasks (processes or threads) concurrently, allowing users to run multiple applications simultaneously. It is arranged through time-sharing, where the CPU switches rapidly between executing different tasks, giving the illusion of parallel execution.
What are user and kernel modes? What are user and kernel level programs/processes.
User mode: A restricted mode where user-level applications run, with limited access to hardware resources and protected from directly accessing critical system functions.
Kernel mode: Also known as supervisor mode or privileged mode, it provides unrestricted access to hardware resources and allows execution of critical system functions. Only the operating system kernel executes in this mode.
User-level programs/processes: Run in user mode, interacting with the OS through system calls to perform tasks like file operations, network communication, etc.
Kernel-level programs/processes: Execute in kernel mode, managing hardware resources, handling interrupts, and performing low-level operations critical for system operation.
What is virtual memory?
Virtual memory is a memory management technique that enables a computer to use more memory than physically available by temporarily transferring data from RAM to disk storage. It provides a larger address space for programs, allowing them to run larger applications or multiple processes concurrently.
What are interrupts? What are interrupt handlers? What issues interrupts? What is the sequence of things that happen when the interrupt arrives?
Interrupts are signals generated by hardware devices or software events that request the attention of the CPU to perform a specific task or handle an event.
Interrupt handlers are routines in the operating system that respond to interrupts by executing predefined actions, such as servicing I/O requests or handling hardware errors.
Hardware devices or software events can issue interrupts to request CPU attention.
When an interrupt arrives, the CPU saves its current state, transfers control to the appropriate interrupt handler, processes the interrupt, and then restores the previous state to resume normal execution.
What are drivers?
Drivers are software components that facilitate communication between an operating system and hardware devices. They translate generic OS commands into device-specific instructions, allowing applications to interact with hardware devices without needing to know the intricate details of device operation.
What is a file? What is a file system? What is a logical disk?
A file is a collection of data stored as a unit under a specific name in a file system.
A file system is a method used by operating systems to organize and store files on storage devices such as hard drives, SSDs, or optical discs. It defines the structure and metadata associated with files, including attributes like permissions, size, and location.
A logical disk refers to a partition or volume within a storage device that appears as a separate entity to the operating system. It can be formatted with a file system and assigned a drive letter (in Windows) or mounted to a directory (in Unix-like systems) for access.
What are networking protocols?
Networking protocols are sets of rules and conventions that govern communication between devices on a network. They define standards for data exchange, addressing, routing, error detection, and correction, enabling devices to communicate effectively over networks.
What is operating systems API?
An operating system API (Application Programming Interface) is a set of functions, procedures, and data structures provided by an operating system that allows applications to interact with the OS and access its services and features. APIs provide a standardized interface for developers to write software applications that run on different operating systems without needing to know the underlying details of the OS implementation.