सॉफ़्टवेयर को समझने का सबसे सीधा तरीका यह है — hardware वह शरीर है जिसे तुम छू सकते हो, और software वह मन है जो उस शरीर को चलाता है। बिना software के, एक computer सिर्फ़ धातु और प्लास्टिक का ढेर है।
सरल परिभाषा: सॉफ़्टवेयर निर्देशों (instructions) का वह संग्रह है जो computer को बताता है कि क्या करना है और कैसे करना है। ये निर्देश किसी programming language में लिखे जाते हैं और machine language में बदलकर processor तक पहुँचते हैं।
एक बैंक की analogy लो — SBI की building और ATM machine hardware है। लेकिन banking application जो खाताधारक के पैसे track करती है, जो ATM को निर्देश देती है कि कितने पैसे निकालने हैं — वह software है। बिना उस software के, ATM machine बस एक बंद लोहे का डिब्बा है।
SBI Clerk परीक्षा में software से सीधे प्रश्न आते हैं — विशेष रूप से:
यह topic इसलिए महत्वपूर्ण है क्योंकि यह computer awareness के प्रश्नों की नींव है। OS scheduling, testing methods, database normalization — ये सब software concepts के ही विस्तार हैं।
सॉफ़्टवेयर को मुख्यतः तीन श्रेणियों में बाँटा जाता है:
1. सिस्टम सॉफ़्टवेयर (System Software)
यह वह software है जो hardware को manage करता है और अन्य software को चलाने का वातावरण तैयार करता है। यह directly hardware से बात करता है।
मुख्य उदाहरण:
याद रखो — system software background में चलता है, user इसे directly इस्तेमाल नहीं करता। तुम Word open करते हो, लेकिन OS तुम्हारे बिना बुलाए ही memory allocate करता है।
2. एप्लिकेशन सॉफ़्टवेयर (Application Software)
यह end-user के किसी specific काम के लिए बना software है।
| प्रकार | उदाहरण | |--------|---------| | Word Processing | MS Word, LibreOffice Writer | | Spreadsheet | MS Excel, Google Sheets | | Database | MS Access, MySQL | | Web Browser | Chrome, Firefox | | Email Client | MS Outlook, Thunderbird | | Media Player | VLC, Windows Media Player |
Application software को दो भागों में बाँट सकते हैं:
3. यूटिलिटी सॉफ़्टवेयर (Utility Software)
यह system software और application software के बीच की श्रेणी है। यह computer के maintenance और optimization के लिए होता है।
उदाहरण:
4. फर्मवेयर (Firmware)
Firmware वह software है जो hardware device में permanently store रहता है — ROM या Flash memory में। यह hardware को basic level पर control करता है।
उदाहरण: BIOS/UEFI (motherboard का firmware), Printer का internal software, Router का firmware।
Firmware को तुम आसानी से बदल नहीं सकते — इसीलिए यह software और hardware के बीच की कड़ी मानी जाती है।
OS सबसे महत्वपूर्ण system software है। इसके मुख्य कार्य:
Process Management: OS यह तय करता है कि कौन सा program कब और कितने समय के लिए CPU का उपयोग करेगा। इसके लिए scheduling algorithms उपयोग होते हैं:
Memory Management: RAM को processes के बीच बाँटना।
File System Management: Files और folders को organize करना, access control देना।
Device Management: Input/Output devices को manage करना।
| प्रकार | विशेषता | उदाहरण | |--------|----------|---------| | Single-user, Single-tasking | एक समय में एक ही user, एक ही task | MS-DOS | | Single-user, Multi-tasking | एक user, एक साथ कई tasks | Windows, macOS | | Multi-user | एक साथ कई users | Linux Server, UNIX | | Real-Time OS | तय समय में response देना ज़रूरी | RTOS (embedded systems में) | | Distributed OS | कई computers को एक जैसा दिखाना | Google's Fuchsia | | Mobile OS | Mobile devices के लिए | Android, iOS |
SBI Clerk में यह concept भी आता है:
जब भी software की category पूछी जाए, यह 3-step pattern लगाओ:
S = System (background में चलता है, hardware manage करता है?) A = Application (user के specific काम के लिए?) F = Firmware (hardware में permanently stored?)
उदाहरण: "Antivirus किस category में है?" — Background में चलता है, लेकिन user directly use करता है और maintenance के लिए है → Utility Software (System Software का subset)।
Standard method: 4-5 options में से सोचना → 30 सेकंड। इस pattern से: 8-10 सेकंड।
परीक्षा में जब भी पूछा जाए "कौन सा algorithm starvation cause करता है?" — सीधे SJF (Shortest Job First) चुनो।
Logic: SJF में छोटी jobs को हमेशा priority मिलती है। अगर लगातार छोटी jobs आती रहें, तो बड़ी job indefinitely wait करती रहेगी — यही starvation है।
Round Robin में हर job को equal time slice मिलती है → starvation नहीं। FCFS में order fixed है → starvation नहीं।
यह pattern याद रखो: SJF = Starvation का खतरा। Standard approach (सब algorithms सोचना): 40 सेकंड। इस trick से: 5 सेकंड।
Black/White/Gray Box Testing का प्रश्न हो तो:
Black = Blind (code नहीं दिखता, सिर्फ़ input-output) White = Window (code की पूरी transparency, सब दिखता है) Gray = Glimpse (थोड़ा दिखता है, थोड़ा नहीं)
प्रश्न में key phrase देखो: "internal code structure की जानकारी के बिना" → तुरंत Black Box। "कोड के सभी paths test करना" → White Box।
4 options में सोचने का समय: 35 सेकंड। BW-G चाबी से: 8 सेकंड।
Firmware पहचानने का एक ही rule: Hardware + Permanently Stored = Firmware।
अगर question में ये शब्द हों — BIOS, UEFI, ROM में stored, boot process, embedded device — तो answer firmware है।
Confusion: "क्या OS भी permanently stored होता है?" — नहीं। OS hard disk पर होता है और RAM में load होता है। Firmware ROM/Flash में permanently burned होता है।
Step count: बिना rule के — 3 steps confusion। Rule के साथ — 1 step।
इन तीनों की boundary याद रखने के लिए:
जब भी "hardware और software के बीच की कड़ी" पूछें → Firmware। जब भी "user को directly दिखने वाला software" पूछें → Application Software। जब भी "computer को चलाने वाला software" पूछें → OS (System Software)।
यह 3-point anchor याद रखो — 5 में से 3 computer questions इसी से solve होते हैं।
परीक्षा में software-related प्रश्न देखते ही यह mental checklist चलाओ:
Step 1 — Software का काम क्या है?
Step 2 — Specific keywords देखो:
Step 3 — Elimination लगाओ: अगर दो options confusing लगें तो पहले clearly गलत options हटाओ। Computer questions में distractor options अक्सर नकली या invented terms होते हैं (जैसे "ELIMINATE" clause — SQL में ऐसा कोई clause नहीं होता)।
Step 4 — Confirm करो: क्या चुना हुआ answer question के हर शब्द को satisfy करता है? एक बार mentally check करो।
पूरा process: 20-25 सेकंड।
क्यों यह प्रश्न: ऑपरेटिंग सिस्टम scheduling एक ऐसा concept है जो बार-बार परीक्षाओं में आता है। Starvation किस algorithm में होती है — यह SBI Clerk, IBPS Clerk, और SSC CGL तीनों में पूछा जाता है।
समाधान का रास्ता: प्रश्न में "लंबे प्रोसेस की स्टार्वेशन" key phrase है। Round Robin में हर process को बराबर समय मिलता है → starvation नहीं। FCFS में order fixed है → starvation नहीं। SJF में हमेशा छोटी process को priority → लंबी process indefinitely wait कर सकती है → यही starvation है। Options A और B तुरंत eliminate करो। Option D (Priority Scheduling) में भी starvation possible है, लेकिन यह SJF का direct और classic case है। Explanation confirm करता है कि SJF सही answer है।
क्यों यह प्रश्न: Software testing के प्रकार — Black/White/Gray Box — SBI Clerk computer section में directly पूछे जाते हैं। "Internal code की जानकारी" वाली phrase सबसे common trigger है।
समाधान का रास्ता: प्रश्न में "internal code structure की जानकारी के बिना" — यह Black Box की defining characteristic है। White Box में code पूरा दिखता है → eliminate। Gray Box में कुछ knowledge होती है → eliminate। Unit Testing एक level of testing है, type नहीं → eliminate। Black Box एकमात्र सही answer। BW-G trick से 8 सेकंड में solve।
क्यों यह प्रश्न: Database normalization SBI Clerk के computer section में increasingly पूछा जा रहा है। 3NF और transitive dependency का pair याद रखना ज़रूरी है।
समाधान का रास्ता: प्रत्येक Normal Form एक specific problem हल करता है — यह pattern याद करो:
"Transitive dependency" शब्द देखते ही → 3NF। BCNF गलत क्यों? BCNF transitive dependency के बाद का step है, यह primary answer नहीं। Option C सही।
Utility Software को Application Software मान लेना: Antivirus, Disk Defragmenter जैसे tools utility software हैं, application software नहीं। Key difference: utility software system maintenance के लिए है, application software user के specific business/personal काम के लिए।
Firmware को Software का प्रकार न मानना: कुछ students firmware को hardware मान लेते हैं। Firmware software ही है — बस यह ROM/Flash में permanently store होता है। यह hardware और software का intersection है, लेकिन category में software है।
FCFS में Starvation मान लेना: FCFS में starvation नहीं होती — order पहले से fixed है। Starvation तब होती है जब किसी process को कभी CPU ही नहीं मिलता। FCFS में अगर तुम पहले आए, तो तुम्हें CPU ज़रूर मिलेगा — बस देर लग सकती है (Convoy Effect अलग समस्या है)।
Black Box = Incorrect Testing समझना: कुछ students सोचते हैं कि Black Box testing कमज़ोर होती है। नहीं — यह user के perspective से testing है और बहुत valuable है। परीक्षा में "internal knowledge" ही key differentiator है।
OS को केवल Windows/Linux तक सीमित रखना: Android, iOS भी mobile operating systems हैं। प्रश्न अगर पूछे कि "mobile OS का उदाहरण" → Android और iOS दोनों सही हैं। इन्हें application software मत मानो।
Compiler और Interpreter को Application Software मानना: ये language translators हैं और system software का हिस्सा हैं — application software नहीं। Compiler पूरे program को एक बार में translate करता है; Interpreter line-by-line करता है।