Fundamentals Of Operating Systems Flashcards
What is the definition of a program in the context of operating systems?
A set of instructions that the CPU can execute
Programs reside on storage devices and are loaded into RAM to become processes.
What is a process?
A program loaded into main memory that is executed by the CPU
It is also known as a set of instructions being executed.
What are the two main types of software?
- System software
- Application software
What is system software?
Essential part of computer operations that manages resources and facilitates program development
It controls and uses the hardware connected to the computer.
What is application software designed for?
Performing specific data processing or computational tasks for the user
These programs meet end-user requirements.
What is the role of the operating system?
Provides applications with a layer of abstraction from the computer hardware
It manages access to hardware and provides a consistent interface for application programs.
What are the common components of most operating systems?
- Kernel
- Interrupts
- Scheduler
- System configuration files
- Development tools
- Network tools
- Security tools
- User interface
- File management tools
- Machine resource management
What is the kernel in an operating system?
The core component of the operating system that manages system resources
It interacts directly with the hardware.
What are the objectives of an operating system?
- Convenience
- Efficiency
- Evolution
What is resource allocation in operating systems?
Allocation of the computer’s resources to processes
Define Input/Output (IO) services in the context of operating systems.
Provided via system calls that prevent processes from directly interacting with IO devices
What is the purpose of process management in an operating system?
Creating, deleting, suspending, resuming, and communicating between all processes
What is memory management?
Determines how memory is allocated to processes and manages memory access
It ensures processes do not interfere with each other.
What is the process control block (PCB)?
A record containing important current information about a process
It includes the process’s state, identification, priority, and resource usage.
What is inter-process communication (IPC)?
Allows processes to communicate with each other to achieve a common goal
What is a system call?
A request by a program for a service from the operating system’s kernel
What happens when a process issues a system call?
The processor execution mode changes from user mode to kernel mode
What is the difference between single-tasking and multi-tasking?
- Single-tasking: only one task runs at a time
- Multi-tasking: multiple tasks are scheduled to run, giving the illusion of simultaneous execution
Define the term ‘deadlock’ in operating systems.
A situation where processes are waiting for each other to release resources, causing them to be stuck indefinitely
What is scheduling in an operating system?
The process of switching CPU(s) between competing processes in a multi-tasking environment
What is time-sharing in the context of scheduling?
A method to achieve efficient CPU usage by allowing multiple processes to share the CPU
What is round robin scheduling?
Each process is assigned a time slice, and after the time is up, it is moved to the back of the queue
What is the purpose of priority scheduling?
To select the next process based on priority value, with lower numbers indicating higher priority
What is the difference between pre-emptive and non-pre-emptive scheduling?
- Pre-emptive: can interrupt a running process to switch to a higher priority process
- Non-pre-emptive: running processes cannot be interrupted