Categories

Advertisement
⏱️ 5 min read

Process in Operating System: Definition, States, PCB Explained

N
By NotesMind
Advertisement

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.


 

Advertisement

💬 Leave a Comment & Rating