What is an operating system (OS)?
An operating system is system software that manages computer hardware, software resources, and provides common services for computer programs.
Name three main functions of an operating system.
Managing hardware resources, providing a user interface, and executing and providing services for applications software.
What is a kernel in an operating system?
The kernel is the core part of an OS, responsible for managing system resources, hardware, and communication between software and hardware.
What is the difference between a process and a thread?
A process is an independent program in execution with its own memory space, while a thread is the smallest unit of execution within a process, sharing the process's resources.
What is multitasking in an operating system?
Multitasking is the ability of an OS to execute multiple tasks or processes simultaneously.
Define virtual memory.
Virtual memory is a memory management technique that gives an application the impression it has contiguous working memory, while actually using physical memory fragments and possibly disk storage.
What is a system call?
A system call is a request from a program to the operating system to perform a task that the program does not have direct permission to execute.
What is an interrupt?
An interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention.
Explain the concept of context switching.
Context switching is the process of storing the state of a process or thread and restoring the state of another, allowing multiple processes to share a single CPU resource.
What is a file system?
A file system controls how data is stored and retrieved, managing files and directories on a storage device.
What are device drivers?
Device drivers are specialized programs that allow the operating system to communicate with hardware devices.
What is a deadlock?
A deadlock is a situation in which two or more processes are unable to proceed because each is waiting for the other to release a resource.
Describe the concept of paging.
Paging is a memory management scheme that eliminates the need for contiguous allocation of physical memory by dividing memory into fixed-sized pages.
What is a scheduler?
A scheduler is a system component that decides which process runs at a given time, managing process execution order and CPU time.
What is the difference between user mode and kernel mode?
User mode is a restricted processing mode for applications, while kernel mode has full access to hardware and system resources, used by the operating system's core components.
Define swapping in the context of operating systems.
Swapping is the process of moving processes between main memory and a storage device to ensure that main memory is efficiently used.
What is a real-time operating system (RTOS)?
An RTOS is designed to process data as it comes in, typically without buffering delays, suitable for applications requiring consistent, predictable response times.
Explain the term "bootloader."
A bootloader is a small program that initializes the operating system during the boot process of a computer.
What is memory fragmentation?
Memory fragmentation is the condition of a memory system when most of the free memory is split into small, non-contiguous blocks, reducing efficiency.
What is the role of a command-line interface (CLI)?
A CLI allows users to interact with the operating system by typing commands into a text-based interface.
What is a GUI?
A Graphical User Interface (GUI) allows users to interact with the operating system through graphical elements like windows, icons, and menus.
What is process synchronization?
Process synchronization is a mechanism to ensure that two or more processes do not execute certain parts of their program simultaneously to avoid conflicts.
Define semaphore in operating systems.
A semaphore is a synchronization tool used to control access to a common resource in concurrent systems by multiple processes.
What is a critical section?
A critical section is a part of a program that accesses shared resources and must not be concurrently accessed by more than one thread or process.
Explain the concept of a hypervisor.
A hypervisor is software that creates and manages virtual machines by allowing multiple operating systems to run concurrently on a single physical machine.
What is the purpose of a task scheduler?
A task scheduler manages the execution of tasks, ensuring efficient CPU use by determining which task runs when and for how long.
What is the difference between preemptive and non-preemptive multitasking?
Preemptive multitasking allows the OS to control process execution, interrupting processes, while non-preemptive multitasking relies on processes to voluntarily yield control.
Define the term "thrashing."
Thrashing occurs when a system spends most of its time swapping pages in and out of memory rather than executing instructions, leading to low performance.
What is a shell in the context of operating systems?
A shell is a user interface that provides access to various services of an operating system, typically through a command-line or graphical interface.