Please enable JavaScript.
Coggle requires JavaScript to display documents.
Operating System Concepts - Coggle Diagram
Operating System Concepts
OS Features & Structures
Process Management
Creation, scheduling, termination of processes
Memory Management
Allocation and tracking of memory for programs
File System Management
Organization, storage, retrieval, and data control
Device Management
Controls hardware via drivers
Security & Protection
Prevents unauthorized access, enforces permissions
Prevents unauthorized access, enforces permissions
OS Structure & Components
User Interface Layer
GUI or CLI for user interaction
System Call Interface
Bridge for applications to access OS services
Kernel Layer
Manages processes, memory, I/O, files
Hardware Layer
Represents physical hardware layer
Process Communication & Synchronization
Threading Models
Single-threaded Model
One thread per process
Simpler but less efficient
Multi-threaded Model
Threads share process resources
Enables parallelism
Thread Benefits
Responsiveness
Resource Sharing
Economy
Processes and States
Process
A program in execution
Process State
Describes current status: running, waiting, ready
Process Control Block (PCB)
Holds process info: state, program counter, registers
Shared across threads
Critical-Section Problem
Definition
Problem of ensuring that only one process/thread accesses a shared resource at a time
Requirements
Mutual Exclusion, Progress, Bounded Waiting
Software Solution
Peterson’s Algorithm
Scope
Applies to two threads
Memory Management
Objectives and Functions
Allocation
Assign memory to processes
Protection
Prevent unauthorized access
Relocation
Adjust memory addresses dynamically
Sharing and Organization
Manage shared and structured memory use
Physical vs Virtual Address Space
Physical Address Space
Actual memory addresses
Virtual Address Space
Supports Relocation
Provides Protection
Improves Flexibility
Mapped by MMU (Memory Management Unit)
Memory Mapping Techniques
Base and Limit Registers
Defines valid physical address range
Blocks illegal memory access
Relocation Register
Used for dynamic address translation
Enables flexible process movement during execution
Files, Mass Storage & I/O
File System Management
Objectives
Organized data storage and retrieval
Functions
Create, delete, read, write, permission control
Supported Operations
Open / Close
Read / Write
Reliability & Performance
Depends on fault tolerance, file structure, access time
Directory Structures
Single-Level Directory
All files in one directory
Two-Level Directory
Each user has their own directory
Tree-Structured Directory
Subdirectories allowed
Acyclic Graph Directory
Files/directories shared via links
General Graph Directory
Allows cycles (rare), needs garbage collection
Mass Storage Structure
Memory Allocation & Deallocation
Input/Output (I/O) Systems
Types of Devices
Storage devices (e.g., SSDs, HDDs) Storage devices (e.g., SSDs, HDDs) Output devices (e.g., printer, monitor)
Storage devices use disk scheduling and block organization
Hardware & Software Layers
Device Controllers & Drivers (hardware)
OS I/O Subsystem (software)
Integration with Memory
Memory-Mapped I/O
Direct Memory Access (DMA)
I/O needs buffer space for device communication
Buffering
Buffers needed for device communication
Scheduling
Disk scheduling and block organization
Protection & Security
Domain-Based Protection
Access rights depend on execution domain
Each domain includes a set of objects + allowed operations
Controlled by current process context
Access Matrix
2D table: subjects vs. objects
Shows allowed operations for each subject
Formal structure for resource access control
Threats and Countermeasures
Malware
Harmful software (viruses, worms, etc.)
Network Attacks
Denial of Service (DoS)
Sniffing
Spoofing
Security Measures
Covers program, system, and network-level security
Guards against internal and external threats
Monitors/logs system behavior
Detects and responds to malicious activity
Uses auditing tools to trace suspicious activity
Language-Based Protection
Uses programming language features to limit access
Enforced at compile time or runtime
Enables fine-grained control through code structure