Process in Operating System: Definition, States, PCB Explained
Process Kya Hai? (Introduction to Process in Operating System)
परिचय: Process क्या है?
Definition
Process is a Program in Execution.
यानी जब कोई Program CPU द्वारा Execute होना शुरू करता है, तब वही Process कहलाता है।
दूसरे शब्दों में:
Process = Program + Execution + Resources + Current State
Program सिर्फ Instructions का एक समूह होता है, जबकि Process उन्हीं Instructions का Running Instance होता है — यानी जब Program असल में काम कर रहा होता है।
Real-Life Example
मान लीजिए आपके Computer में MS Word Install है। जब तक आप उसे Open नहीं करते, वो सिर्फ एक Program है। लेकिन जैसे ही आप उसे Open करते हैं:
- Memory Allocate होती है
- CPU Time मिलता है
- File Open होती है
- Keyboard Input लिया जाता है
अब वही Program एक Process बन जाता है।
Program (Disk पर Stored)
↓
Execute
↓
Process (RAM में Running)
Process की विशेषताएँ (Characteristics)
- Dynamic Entity होती है
- Execution के दौरान इसकी State बदलती रहती है
- CPU Time की जरूरत पड़ती है
- Memory Allocate होती है
- Resources का इस्तेमाल करती है
- हर Process का अपना Process ID (PID) होता है
Components of Process
Process चार मुख्य Components से मिलकर बनी होती है।
| S.No | Component | Description |
|---|---|---|
| 1 | Object Program (Code) | Execute होने वाला Program Code |
| 2 | Data | Program जिस Data पर काम करता है |
| 3 | Resources | CPU, Memory, Files, I/O Devices आदि |
| 4 | Status | Current State (New, Ready, Running आदि) |
1. Object Program (Code)
ये Program की सभी Instructions होती हैं जिन्हें CPU Execute करता है।
int a = 10;
int b = 20;
int c = a + b;
यह पूरा Code Object Program कहलाता है।
2. Data
Program Execution के दौरान जिस Data पर काम करता है — जैसे Name, Age, Salary, Roll Number।
3. Resources
Process को चलने के लिए कई Resources चाहिए होते हैं — CPU, RAM, Hard Disk, Printer, Keyboard, Mouse, Network, Files। अगर ये Resources उपलब्ध न हो, तो Process को Wait करना पड़ता है।
4. Status
Status बताता है कि Process इस वक्त किस State में है — New, Ready, Running, Waiting या Terminated।
Process Memory Layout
जब Process Execute होती है, तो Memory कई हिस्सों में बंट जाती है:
High Address
─────────────────────
Stack (Local Variables)
─────────────────────
Heap (Dynamic Memory)
─────────────────────
Data Segment (Global Variables)
─────────────────────
Text Segment (Program Code)
─────────────────────
Low Address
Program vs Process
यह Exam का सबसे महत्वपूर्ण सवाल है, इसलिए ध्यान से समझें:
| Program | Process |
|---|---|
| Static Entity | Dynamic Entity |
| Disk में Stored रहता है | RAM में Execute होता है |
| Execution नहीं होती | Execution होती है |
| Resources नहीं लेता | Resources इस्तेमाल करता है |
| Passive | Active |
| Instructions का Collection | Running Instance |
| State नहीं होती | अलग-अलग States होती हैं |
| PID नहीं होता | PID होता है |
आसान उदाहरण से समझें:
- Recipe Book = Program, Food Cooking = Process
- Movie File = Program, Movie Playing = Process
Process Control Block (PCB)
Definition
PCB (Process Control Block) Operating System द्वारा बनाया गया एक खास Data Structure है, जिसमें Process से जुड़ी सारी जानकारी Store रहती है। जब भी कोई नई Process Create होती है, OS उसका PCB तुरंत बना देता है।
PCB क्यों जरूरी है?
अगर CPU किसी Process को रोककर दूसरी Process चलाएगा, तो पहली Process की जानकारी कहीं Store करनी होगी ना? यही जानकारी PCB में रखी जाती है, ताकि बाद में वही Process वहीं से दोबारा शुरू हो सके।
PCB में कौन-कौन सी जानकारी होती है?
- Process ID (PID)
- Process State
- Program Counter
- CPU Registers
- Priority
- Memory Information
- Scheduling Information
- Accounting Information
- I/O Status Information
────────────────────────
Process Control Block
────────────────────────
Process ID
Process State
Program Counter
CPU Registers
Priority
Memory Pointer
I/O Status
Accounting Information
────────────────────────
Process States
Execution के दौरान Process कई States से गुजरती है। मुख्यतः पाँच States होती हैं:
New → Ready → Running → Waiting → Ready → Running → Terminated
1. New State
जब Process पहली बार Create होती है।
2. Ready State
Process Execute होने के लिए तैयार है, लेकिन CPU उपलब्ध नहीं है। ये सभी CPU का इंतजार Ready Queue में करती हैं।
3. Running State
CPU इस वक्त उस Process को Execute कर रहा है। Single CPU System में एक समय पर केवल एक ही Process Running होती है।
4. Waiting (Blocked) State
Process किसी Event का इंतजार कर रही होती है — जैसे Printer, Keyboard, Mouse, Disk, Network या किसी I/O Operation का।
5. Terminated State
जब Process का Execution पूरी तरह खत्म हो जाता है।
Complete Process State Diagram
┌──────┐
│ New │
└──────┘
│ Admit
▼
┌──────────┐
│ Ready │
└──────────┘
│ CPU Scheduler
▼
┌──────────┐
│ Running │
└──────────┘
│ │
I/O Request Exit
▼ ▼
┌──────────┐ ┌────────────┐
│ Waiting │ │ Terminated │
└──────────┘ └────────────┘
│
I/O Complete
▼
Ready Queue
Process Scheduling
Definition
Process Scheduling वह प्रक्रिया है जिसमें Operating System ये तय करता है कि Ready Queue में मौजूद कौन-सी Process अगली बार CPU पाएगी।
Process Scheduling क्यों जरूरी है?
जब कई Processes Ready हो और CPU सिर्फ एक हो, तो ये Decide करना ज़रूरी है कि CPU पहले किसे मिलेगा। यही काम Process Scheduler करता है।
Objectives of Process Scheduling
- Maximum CPU Utilization
- Maximum Throughput
- Minimum Waiting Time
- Minimum Turnaround Time
- Minimum Response Time
- Fairness
- बेहतर Performance
Scheduling Queues
Operating System तीन मुख्य प्रकार की Queues Maintain करता है:
Job Queue → Ready Queue → Device Queue
1. Job Queue
System में आने वाली सभी नई Processes यहाँ रखी जाती हैं।
2. Ready Queue
जो Processes CPU मिलने का इंतजार कर रही होती हैं।
3. Device Queue
जो Processes किसी I/O Device (जैसे Printer) का इंतजार कर रही होती हैं।
Process Scheduling Queue Diagram
┌───────────┐
│ Job Queue │
└───────────┘
│
▼
┌────────────┐
│ Ready Queue│
└────────────┘
│ CPU Scheduler
▼
┌────────────┐
│ Running │
└────────────┘
│ │ │
Time Slice │ │ Exit
Expired │ │ │
│ ▼ ▼
│ Terminated
│
I/O Request
▼
┌──────────────┐
│ Device Queue │
└──────────────┘
│
I/O Completed
▼
Ready Queue
Time Slice Expired क्या होता है?
अगर Round Robin Scheduling में किसी Process का Time Quantum खत्म हो जाए और Process अभी पूरी न हुई हो, तो:
- CPU उससे वापस ले लिया जाता है
- Process को फिर से Ready Queue में भेज दिया जाता है
Running → Time Quantum Over → Ready Queue
Fork a Child Process
Unix/Linux आधारित Operating System में एक Process नई Process बना सकती है, जिसे Child Process कहा जाता है।
Parent Process → fork() → Child Process
Wait for Interrupt
अगर कोई Process किसी Interrupt (जैसे Keyboard Input, Mouse Click, Disk Read) का इंतजार कर रही हो, तो वो Waiting State में चली जाती है।
Running → Interrupt Wait → Waiting → Interrupt Received → Ready
FAQs
Q1. Process aur Program me kya antar hai?
Program ek static collection of instructions hota hai jo disk me stored rehta hai, jabki Process us program ka running instance hota hai jo RAM me execute hota hai aur resources use karta hai.
Q2. Process Control Block (PCB) kya kaam karta hai?
PCB ek data structure hai jisme process se judi sabhi jaankari (PID, state, program counter, registers) store rehti hai, taaki CPU switch karne par process ko wahin se resume kiya ja sake.
Q3. Process ki kitni main states hoti hain?
Process ki paanch main states hoti hain — New, Ready, Running, Waiting aur Terminated.
💬 Leave a Comment & Rating