Looks like no one added any tags here yet for you.
Operating System
Software managing computer hardware and software resources.
Goals of Operating System
Efficiency, user convenience, and resource management.
Components of Computer System
Hardware, software, and user interface elements.
User View vs System View
User view focuses on usability; system view on functionality.
Kernel
Core component of an operating system managing resources.
Device Controller
Manages device operations and communicates with the CPU.
Interrupt
Signal indicating an event requiring immediate attention.
Device Driver
Software enabling communication between OS and hardware devices.
Interrupt Service Routine (ISR)
Code executed in response to an interrupt.
Interrupt Vector
Table mapping interrupts to their corresponding ISRs.
Features of Interrupt-Driven OS
Efficient resource management and responsive user interaction.
Nonmaskable Interrupt
Cannot be ignored; critical for system stability.
Maskable Interrupt
Can be ignored or delayed by the CPU.
Caching
Storing frequently accessed data for faster retrieval.
Direct Memory Access (DMA)
Allows devices to access memory without CPU intervention.
CPU Core
Basic processing unit of a CPU executing instructions.
2 Types of Multiprocessor Systems
Symmetric and asymmetric systems based on resource sharing.
Advantages of Multicore Design
Improved performance and energy efficiency in processing.
Graceful Degradation
System maintains functionality despite component failures.
Fault Tolerance
Ability to continue operation despite faults.
Asymmetric Cluster
Nodes perform different roles; not identical in function.
Symmetric Cluster
All nodes perform the same tasks and roles.
Mode Bit
Indicates current operating mode of the CPU.
Program vs Process
Program is static; process is dynamic execution instance.
Program Counter
Register tracking the next instruction to execute.
Single vs Multithreaded Process
Single requires one program counter; multithreaded needs multiple.
Data Migration
Transferring data between storage locations or systems.
Cache Coherency
Ensures consistency of data stored in cache.
Protection vs Security
Protection prevents unauthorized access; security ensures data integrity.
User and Group Control Methods
Access control lists, permissions, and authentication mechanisms.
Operating System Services
File management, process management, and device management.
I/O Operations vs File System Manipulation
I/O involves data transfer; file manipulation involves data management.
Resource Allocation
Assigning resources like CPU, memory, and I/O to processes.
System Call
Request for service from the operating system.
System Call Sequence
Steps to perform operations like file copying.
System Call Interface
Gateway for user programs to request OS services.
Parameter Passing Methods
Registers, stack, and block; stack preferred for simplicity.
printf() System Call
Invokes output operation to display formatted text.
Single Task System
Handles one task at a time.
Multitask System
Handles multiple tasks concurrently.
Object Files
Compiled code ready for linking into an executable.
Linker
Combines object files into a single executable.
Loader
Loads executable files into memory for execution.
Relocation
Adjusting addresses in code for memory placement.
Dynamically Linked Libraries
Shared libraries loaded at runtime for efficiency.
OS Development Requirements
Divided into functionality, performance, and usability.
OS Design Principle
Simplicity and modularity enhance maintainability.
OS Structures
Monolithic, microkernel, layered, and modular designs.
Modules
Self-contained components improving code organization.
Process Memory Sections
Divided into text, data, heap, and stack.
Activation Record
Data structure storing function call information on stack.
Process States
New, ready, running, waiting, terminated.
Process Control Block (PCB)
Data structure storing process information and state.
2 Process Scheduling Objectives
Maximize CPU utilization and minimize response time.
Process Scheduler
Allocates CPU to processes based on scheduling algorithms.
Scheduling Queues
Ready, waiting, and terminated queues managed by scheduler.
Degree of Multiprogramming
Number of processes in memory simultaneously.
CPU Scheduler
Selects which process to execute next.
I/O Bound Process
Spends more time waiting for I/O than computing.
CPU-Bound Process
Spends more time computing than waiting for I/O.
Context Switch
Switching CPU from one process to another.
Process Representation
Processes represented by PCB in the system.
Resource Allocation for Process
Resources allocated during process creation.
Parent Process Termination
Must release resources and terminate child processes.
Independent Process
Operates without relying on other processes.
Cooperating Process
Requires synchronization with other processes.
Process Cooperation Reasons
Resource sharing, communication, and data consistency.
Interprocess Communication Models
Message passing and shared memory for data exchange.
Synchronization Issues
Race conditions and deadlocks in shared memory.
Producer-Consumer Paradigm
Model for managing shared resources between processes.
Indirect Communication Method
Uses shared data structures for message exchange.
Blocking vs Nonblocking Message Passing
Blocking waits for message; nonblocking proceeds immediately.
Remote Procedure Calls
Enables execution of code on remote systems.
Types of Pipes
Anonymous and named pipes for interprocess communication.
Thread
Lightweight process with its own execution context.
Concurrency in Single vs Multicore
Single core executes tasks sequentially; multicore concurrently.
Types of Parallelism
Data and task parallelism for performance improvement.
Amdahl's Law
Formula to calculate speedup in parallel processing.
User Threads
Managed by user-level libraries, not OS.
Kernel Threads
Managed directly by the operating system.
User vs Kernel Thread Relationships
One-to-one, many-to-one, one-to-many, and hybrid models.
Asynchronous vs Synchronous Threading
Asynchronous allows non-blocking operations; synchronous waits.
Create/Join Strategy
Thread creation and synchronization method.
Implicit vs Explicit Threading
Implicit threading is automatic; explicit requires programmer control.
Methods for Implicit Threading
Task pools, thread pools, and futures.
Signal
Notification sent to a process to trigger action.
Asynchronous Signal
Delivered at any time; does not block execution.
Synchronous Signal
Delivered at a specific point in execution.
Default Signal Handler
Kernel-defined action taken when a signal is received.
Signal Delivery
Determined by the target process's signal handler.
Thread Cancellation
Terminating a thread before its completion.
Asynchronous Cancellation
Immediate thread termination regardless of state.
Deferred Cancellation
Thread checks for cancellation request before terminating.
Lightweight Process
Thread with minimal overhead for context switching.
Event Triggering Upcall
Notification to a process on event occurrence.
Nonpreemptive Scheduling
Running process cannot be interrupted.
Preemptive Scheduling
Allows interruption of running processes for others.
Dispatcher Job
Transfers control to the selected process.
Scheduling Algorithms
FCFS, SJF, and Round Robin for process management.
Average Wait Time Calculation
Total wait time divided by number of processes.