Operating System
OS Part-1
OS Part-2
- File Concepts and Access methods
- Free Space Management and Allocation methods
- Directory Systems and Protection
- File Organization, Sharing and Implementation issues
- Disk and Drum Scheduling
- I/O Devices Organisation & I/O Buffering
- I/O Hardware, Kernel I/O subsystem and Transforming I/O Requests to Hardware Operations
- Device Drivers and Path Management
- Device Driver Sub Modules and Procedure
- Device Scheduler and Handler
- Interrupt Service Routine (ISR)
- File System in Linux and Windows
OS Part-3
- Process and Process Control Block(PCB)
- Process Scheduling( Preemptive and Non Preemptive)
- Scheduling Algorithms
- Algorithm Evaluation
- Multiple Processor Scheduling
- Real Time Scheduling
- Operations on Processes
- Threads
- Inter-Process Communication
- Precedence Graphs
- Critical Section Problem
- Semaphores
- Classical Problems of Synchronization
- DeadLock
- Deadlock Prevention and Avoidance
- Deadlock Detection and Recovery
- Process Management in Linux
OS Part-4
- Memory Hierarchy in OS
- Concepts of Memory Management
- MFT and MVT
- Logical and Physical Address Space
- Swapping
- Contiguous and Non Contiguous Memory Allocation
- Paging
- Segmentation
- Paging Combined with Segmentation
- Structure and Implementation of Page Table
- Virtual Memory in OS
- Cache Memory Organization
- Demand Paging
- Page Replacement Algorithms
- Allocation of Frames and Thrashing
- Demand Segmentation
OS Part-5
- Distributed Operating System: Introduction and Types
- Distributed OS: Design Issues
- Distributed OS: File System
- Distributed OS: Remote File Access
- Remote Procedure Call(RPC)
- Remote Method Invocation(RMI)
- Distributed Shared Memory
- Parallel Processing and Concurrent Programming
- Security and Threats Protection in Distributed OS
- Security Design Principles and Authentication in Distributed OS
- Sensor Network and Parallel OS
Concept of Parallel Processing & Concurrent Programming in Operating System
Parallel Processing aur Concurrent Programming dono hi multitasking aur performance optimization ke liye important concepts hain. Operating systems me inka use multiple processes aur threads ko efficiently execute karne ke liye hota hai.
Parallel Processing vs Concurrent Programming
Feature | Parallel Processing | Concurrent Programming |
---|---|---|
Definition | Multiple tasks execute simultaneously | Multiple tasks execute independently, but may not be simultaneous |
Execution | Truly parallel execution | Task switching between processes or threads |
Hardware Support | Requires multiple processors/cores | Can work on single processor |
Example | Running multiple computations on a multi-core CPU | Running multiple threads in a single program (like handling user inputs while downloading a file) |
Parallel Processing
Parallel processing ka matlab hai ek time me multiple tasks ko execute karna taaki execution speed badh sake. Ye tab possible hota hai jab ek system me multiple processors ya cores available ho.
Types of Parallel Processing
-
1. Bit-level Parallelism – Ek processor ek time pe multiple bits ko process karta hai.
-
2. Instruction-level Parallelism – CPU ek time me multiple instructions execute karta hai.
-
3. Task Parallelism – Alag-alag processors alag-alag tasks execute karte hain.
-
4. Data Parallelism – Ek hi data ko multiple processors process karte hain.
Diagram: Parallel Processing Architecture
+-----------+ +-----------+ +-----------+
|Processor 1|--->|Processor 2|--->|Processor 3|
+-----------+ +-----------+ +-----------+
\ | /
\________ Shared Memory _______/
Yahan har processor simultaneously data ko execute kar raha hai.
Example of Parallel Processing
Weather Forecasting – Supercomputers parallel processing ka use karke multiple calculations ko ek saath execute karte hain.
Gaming – Modern games me graphics rendering ko multiple processors process karte hain.
Concurrent Programming
Concurrent programming ek aisa approach hai jisme multiple tasks ko overlap karke execute kiya jata hai taaki system ki efficiency badh sake.
How It Works?
-
Ek single CPU bhi concurrency handle kar sakta hai by switching between tasks.
-
Multiple threads ya processes ek hi CPU time share karte hain.
-
Thread scheduling ka use hota hai taaki multiple tasks ek saath lag sakein.
Diagram: Concurrent Execution
+---------+ +---------+ +---------+
|Process 1|--->|Process 2|--->|Process 3|
+---------+ +---------+ +---------+
| | |
|____________ CPU ____________|
Yahan ek hi CPU time ko divide karke multiple processes ko execute kar raha hai.
Example of Concurrent Programming
Chat Applications – User typing bhi kar sakta hai aur messages bhi receive kar sakta hai ek hi time me.
Web Browsers – Multiple tabs ek saath open ho sakti hain bina ek dusre ko block kiye.
Key Differences Between Parallel & Concurrent Execution
Feature | Parallel Processing | Concurrent Processing |
---|---|---|
Execution Model | Simultaneous execution | Overlapping execution |
CPU Requirement | Multiple cores/processors | Single or multiple CPUs |
Thread Switching | Not needed | Required |
Example | GPU-based graphics rendering | Multi-threaded web server |
Benefits of Parallel & Concurrent Processing
Faster Execution – Tasks jaldi complete hote hain.
Better Resource Utilization – CPU aur memory ka efficient use hota hai.
Improved Responsiveness – Systems user inputs ko jaldi process kar sakte hain.
Scalability – Zyada processors hone par performance aur improve hoti hai.
Challenges in Parallel & Concurrent Programming
Race Conditions – Jab multiple processes same resource ko access karte hain.
Deadlocks – Jab do processes ek dusre ka wait karte hain aur execution ruk jata hai.
Synchronization Issues – Multiple threads ya processes ka correct execution ensure karna.
Debugging Difficulty – Parallel aur concurrent programs ko debug karna mushkil hota hai.
Conclusion
Parallel Processing aur Concurrent Programming dono multi-tasking aur high-performance computing ke liye zaroori hain. Parallel processing hardware-dependent hota hai, jabki concurrency software-level scheduling ka use karta hai. Modern operating systems dono techniques ka combination use karte hain taaki better performance aur efficiency achieve ki ja sake.