कंप्यूटर एक ऐसी मशीन है जो अपने आप में कुछ भी करने में असमर्थ है। उसे कार्य करने के लिए निर्देशों की आवश्यकता होती है। इन्हीं निर्देशों का व्यवस्थित समूह सॉफ्टवेयर कहलाता है। सॉफ्टवेयर हार्डवेयर को यह बताता है कि क्या करना है और कैसे करना है। सॉफ्टवेयर को छुआ नहीं जा सकता, देखा नहीं जा सकता, परंतु उसके प्रभाव हम हर कदम पर अनुभव करते हैं। जब हम किसी गेम को खेलते हैं, दस्तावेज़ बनाते हैं, चित्र संपादित करते हैं या वेब ब्राउज़ करते हैं, तब कंप्यूटर में चल रहे सॉफ्टवेयर ही कार्य कर रहे होते हैं। सॉफ्टवेयर को मुख्यतः दो श्रेणियों में बाँटा जाता है - सिस्टम सॉफ्टवेयर और एप्लीकेशन सॉफ्टवेयर। इस अध्याय में हम सॉफ्टवेयर के प्रकार, उनकी विशेषताओं, उदाहरणों और उपयोगों के बारे में विस्तार से अध्ययन करेंगे।
2. सॉफ्टवेयर क्या है? (What is Software)
सॉफ्टवेयर प्रोग्रामों, निर्देशों और डेटा का संग्रह है जो कंप्यूटर को विशिष्ट कार्य करने में सक्षम बनाता है। इसे 'प्रोग्राम' या 'प्रोग्रामों का समूह' भी कहा जा सकता है। सॉफ्टवेयर के प्रमुख लक्षण निम्नलिखित हैं:
सॉफ्टवेयर भौतिक नहीं होता, अर्थात इसे छुआ नहीं जा सकता।
यह डेटा और निर्देशों से मिलकर बनता है।
यह हार्डवेयर को नियंत्रित करता है तथा उसका समन्वय करता है।
सॉफ्टवेयर के बिना हार्डवेयर बेकार है; हार्डवेयर और सॉफ्टवेयर दोनों मिलकर कंप्यूटर सिस्टम बनाते हैं।
सॉफ्टवेयर को कॉपी किया जा सकता है, स्थापित (इंस्टॉल) किया जा सकता है और अपडेट किया जा सकता है।
3. सॉफ्टवेयर के प्रकार (Types of Software)
सॉफ्टवेयर को मुख्यतः दो श्रेणियों में विभाजित किया जाता है:
सिस्टम सॉफ्टवेयर (System Software): यह सॉफ्टवेयर कंप्यूटर सिस्टम के स्वयं के संचालन का प्रबंधन करता है। यह हार्डवेयर और एप्लीकेशन सॉफ्टवेयर के बीच सेतु का कार्य करता है। इसका मुख्य कार्य कंप्यूटर के सभी संसाधनों (CPU, मेमोरी, डिवाइस) को नियंत्रित करना और उपयोगकर्ता के लिए मशीन को उपयोग योग्य बनाना है।
एप्लीकेशन सॉफ्टवेयर (Application Software): यह सॉफ्टवेयर उपयोगकर्ता के विशिष्ट कार्यों को पूरा करने के लिए बनाया जाता है। यह सिस्टम सॉफ्टवेयर के ऊपर कार्य करता है। दस्तावेज़ बनाना, स्प्रेडशीट तैयार करना, गेम खेलना, चित्र संपादित करना आदि इसके कार्य हैं।
इसके अतिरिक्त यूटिलिटी सॉफ्टवेयर (Utility Software) भी होता है, जो सिस्टम का रखरखाव और सुरक्षा करता है, जैसे एंटीवायरस, डिस्क क्लीनअप टूल। कुछ पुस्तकों में इसे सिस्टम सॉफ्टवेयर का ही भाग माना जाता है।
4. सिस्टम सॉफ्टवेयर (System Software)
सिस्टम सॉफ्टवेयर वह सॉफ्टवेयर है जो कंप्यूटर की हार्डवेयर तथा अन्य सॉफ्टवेयर को नियंत्रित एवं प्रबंधित करता है। यह पृष्ठभूमि में चलता रहता है और सामान्य उपयोगकर्ता इसके साथ सीधे संपर्क नहीं करता। सिस्टम सॉफ्टवेयर के मुख्य भाग हैं:
ऑपरेटिंग सिस्टम (Operating System): यह सबसे महत्वपूर्ण सिस्टम सॉफ्टवेयर है, जैसे विंडोज, लिनक्स, मैक ओएस, एंड्रॉयड। यह कंप्यूटर के प्रारंभ (बूट) होते ही लोड होता है और सभी संसाधनों का प्रबंधन करता है।
भाषा अनुवादक (Language Translators): ये उच्च स्तरीय प्रोग्रामिंग भाषाओं (जैसे Python, C++) में लिखे प्रोग्रामों को मशीन भाषा में बदलते हैं ताकि कंप्यूटर उन्हें समझ सके। इनमें कंपाइलर, इंटरप्रेटर और असेंबलर शामिल हैं।
डिवाइस ड्राइवर (Device Drivers): ये छोटे प्रोग्राम हैं जो ऑपरेटिंग सिस्टम और हार्डवेयर डिवाइस (प्रिंटर, माउस, ग्राफिक कार्ड) के बीच संवाद स्थापित करते हैं।
यूटिलिटी प्रोग्राम (Utility Programs): ये सिस्टम के रखरखाव, बैकअप और सुरक्षा के कार्य करते हैं, जैसे एंटीवायरस, डिस्क डिफ़्रेग्मेंटर, डिस्क क्लीनअप।
5. एप्लीकेशन सॉफ्टवेयर (Application Software)
एप्लीकेशन सॉफ्टवेयर वह सॉफ्टवेयर है जो उपयोगकर्ता के किसी विशेष कार्य को पूरा करने के लिए बनाया गया होता है। यह सीधे उपयोगकर्ता की सेवा करता है। एप्लीकेशन सॉफ्टवेयर को दो भागों में बाँटा जा सकता है:
सामान्य उद्देश्य सॉफ्टवेयर (General Purpose Software): जैसे वर्ड प्रोसेसर (MS Word), स्प्रेडशीट (MS Excel), प्रेजेंटेशन (MS PowerPoint), वेब ब्राउज़र (Chrome, Firefox)। ये सभी उपयोगकर्ताओं के विभिन्न सामान्य कार्यों के लिए उपयोग होते हैं।
विशेष उद्देश्य सॉफ्टवेयर (Specific Purpose Software): जैसे बिलिंग सॉफ्टवेयर, विद्यार्थी प्रबंधन सॉफ्टवेयर, एयरलाइन आरक्षण सॉफ्टवेयर, वेतन प्रबंधन सॉफ्टवेयर। ये किसी विशेष संगठन या कार्य के लिए ही बनाए जाते हैं।
एप्लीकेशन सॉफ्टवेयर का कार्य करने के लिए सिस्टम सॉफ्टवेयर की उपस्थिति आवश्यक है। एप्लीकेशन सॉफ्टवेयर सिस्टम सॉफ्टवेयर की सहायता से ही हार्डवेयर तक पहुँच पाता है।
6. कंपाइलर और इंटरप्रेटर (Compiler and Interpreter)
प्रोग्रामिंग भाषाओं में लिखे स्रोत कोड को मशीन भाषा में बदलने के दो मुख्य तरीके हैं:
कंपाइलर (Compiler): यह पूरे प्रोग्राम को एक साथ पढ़कर मशीन भाषा में अनुवाद करता है और त्रुटियों की एक साथ सूची प्रदान करता है। अनुवाद के बाद प्राप्त फ़ाइल को बार-बार चलाया जा सकता है। उदाहरण: C, C++ के कंपाइलर।
इंटरप्रेटर (Interpreter): यह प्रोग्राम की प्रत्येक पंक्ति को क्रम से पढ़कर तुरंत उसका अनुवाद और निष्पादन करता है। यदि किसी पंक्ति में त्रुटि हो, तो वहीं रुक जाता है। Python एक इंटरप्रेटर-आधारित भाषा है।
कंपाइलर पूरे प्रोग्राम का अनुवाद करता है, जबकि इंटरप्रेटर पंक्ति-दर-पंक्ति अनुवाद और निष्पादन करता है। इसी कारण इंटरप्रेटर धीमा होता है, परंतु डिबगिंग में अधिक सहायक होता है।
7. सॉफ्टवेयर के वितरण के मॉडल (Software Distribution Models)
फ्रीवेयर (Freeware): बिना किसी कीमत के उपयोग किया जाने वाला सॉफ्टवेयर, जिसका वितरण निःशुल्क होता है। जैसे Adobe Acrobat Reader, Skype।
शेयरवेयर (Shareware): वह सॉफ्टवेयर जो कुछ समय या सीमित सुविधाओं के लिए निःशुल्क मिलता है, परंतु पूर्ण उपयोग के लिए भुगतान करना पड़ता है। जैसे WinRAR।
ओपन सोर्स सॉफ्टवेयर (Open Source Software): वह सॉफ्टवेयर जिसका स्रोत कोड सार्वजनिक रूप से उपलब्ध होता है और उपयोगकर्ता उसे बदल, सुधार और वितरित कर सकते हैं। जैसे Linux, LibreOffice, Python।
कमर्शियल सॉफ्टवेयर (Commercial Software): वह सॉफ्टवेयर जिसे खरीदकर ही उपयोग करना पड़ता है। इसका स्रोत कोड बंद रहता है। जैसे Windows, MS Office।
प्रॉपराइटरी सॉफ्टवेयर (Proprietary Software): जिसका स्वामित्व और स्रोत कोड किसी कंपनी के पास रहता है; उपयोग के लिए लाइसेंस लेना आवश्यक है।
त्वरित पुनरावृत्ति तालिकाएँ
तालिका 1: सॉफ्टवेयर के प्रकार
प्रकार
कार्य
उदाहरण
सिस्टम सॉफ्टवेयर
हार्डवेयर व संसाधन प्रबंधन
Windows, Linux, ड्राइवर
एप्लीकेशन सॉफ्टवेयर
उपयोगकर्ता के विशिष्ट कार्य
MS Word, Excel, Chrome
यूटिलिटी सॉफ्टवेयर
रखरखाव व सुरक्षा
एंटीवायरस, डिस्क क्लीनअप
तालिका 2: भाषा अनुवादक
अनुवादक
कार्यशैली
उदाहरण भाषा
कंपाइलर
पूरे प्रोग्राम का एक साथ अनुवाद
C, C++
इंटरप्रेटर
पंक्ति-दर-पंक्ति अनुवाद व निष्पादन
Python, BASIC
असेंबलर
असेंबली भाषा को मशीन भाषा में बदलना
असेंबली भाषा
तालिका 3: सॉफ्टवेयर वितरण मॉडल
मॉडल
मूल्य
स्रोत कोड
फ्रीवेयर
निःशुल्क
बंद
शेयरवेयर
आंशिक निःशुल्क
बंद
ओपन सोर्स
प्रायः निःशुल्क
खुला
कमर्शियल
भुगतान
बंद
माइंड मैप
graph TD
A["कंप्यूटर सॉफ्टवेयर"] --> B["सिस्टम सॉफ्टवेयर"]
A --> C["एप्लीकेशन सॉफ्टवेयर"]
B --> D["ऑपरेटिंग सिस्टम"]
B --> E["भाषा अनुवादक: कंपाइलर, इंटरप्रेटर"]
B --> F["डिवाइस ड्राइवर, यूटिलिटी"]
C --> G["सामान्य उद्देश्य: Word, Excel"]
C --> H["विशेष उद्देश्य: बिलिंग सॉफ्टवेयर"]
D --> I["Windows, Linux, Mac OS"]
E --> J["कंपाइलर: C, C++ / इंटरप्रेटर: Python"]
महत्वपूर्ण आरेख (SVG)
सामान्य गलतियाँ
सॉफ्टवेयर को छुआ जा सकता है समझना: सॉफ्टवेयर भौतिक वस्तु नहीं है; केवल हार्डवेयर (जैसे माउस, कीबोर्ड) को छुआ जा सकता है।
Windows को एप्लीकेशन सॉफ्टवेयर मानना: Windows एक ऑपरेटिंग सिस्टम है, जो सिस्टम सॉफ्टवेयर की श्रेणी में आता है, एप्लीकेशन सॉफ्टवेयर में नहीं।
कंपाइलर और इंटरप्रेटर में भ्रम: कंपाइलर पूरे प्रोग्राम का एक साथ अनुवाद करता है, जबकि इंटरप्रेटर पंक्ति-दर-पंक्ति। इन्हें उल्टा लिखना सामान्य त्रुटि है।
एंटीवायरस को एप्लीकेशन सॉफ्टवेयर बताना: एंटीवायरस यूटिलिटी/सिस्टम रखरखाव सॉफ्टवेयर है, क्योंकि यह सिस्टम की सुरक्षा करता है।
शेयरवेयर और फ्रीवेयर में अंतर न करना: फ्रीवेयर पूर्ण निःशुल्क होता है, जबकि शेयरवेयर सीमित समय/सुविधाओं के बाद भुगतान माँगता है।
कमर्शियल और ओपन सोर्स में भ्रम: कमर्शियल सॉफ्टवेयर का स्रोत कोड बंद होता है, जबकि ओपन सोर्स सॉफ्टवेयर का स्रोत कोड सार्वजनिक रूप से उपलब्ध रहता है।
डिवाइस ड्राइवर का कार्य भूल जाना: ड्राइवर ऑपरेटिंग सिस्टम और हार्डवेयर के बीच संवाद स्थापित करता है; यह स्वयं हार्डवेयर नहीं होता।
परीक्षा युक्तियाँ
सॉफ्टवेयर के दो मुख्य प्रकार (सिस्टम और एप्लीकेशन) तथा उनके कम से कम दो-दो उदाहरण अवश्य याद रखें।
कंपाइलर और इंटरप्रेटर का तुलनात्मक अंतर एक तालिका के रूप में लिखें, इससे अंक निश्चित मिलते हैं।
वितरण मॉडल (फ्रीवेयर, शेयरवेयर, ओपन सोर्स, कमर्शियल) को 'स्रोत कोड' की दृष्टि से वर्गीकृत करके याद करें।
'सॉफ्टवेयर और हार्डवेयर के बीच संबंध' वाले प्रश्न में उदाहरण देना न भूलें, जैसे "सॉफ्टवेयर बिना हार्डवेयर बेकार है"।
परिभाषा प्रश्नों में सटीक शब्द (जैसे 'निर्देशों का समूह') का प्रयोग करें, क्योंकि सटीकता पर अंक निर्भर करते हैं।
ऑपरेटिंग सिस्टम के उदाहरण (Windows, Linux, macOS, Android) और उसके प्रमुख कार्यों को याद रखें, यह अक्सर पूछा जाता है।
Python को इंटरप्रेटर-आधारित भाषा के रूप में सही लिखें, क्योंकि इससे अगले अध्यायों (पायथन) की समझ भी मजबूत होगी।
निष्कर्ष
सॉफ्टवेयर कंप्यूटर की आत्मा है। इसके बिना हार्डवेयर केवल एक निर्जीव मशीन है। सिस्टम सॉफ्टवेयर कंप्यूटर के संसाधनों को प्रबंधित करता है और एप्लीकेशन सॉफ्टवेयर उपयोगकर्ता के विशिष्ट कार्यों को पूरा करता है। ऑपरेटिंग सिस्टम, भाषा अनुवादक, डिवाइस ड्राइवर और यूटिलिटी प्रोग्राम सिस्टम सॉफ्टवेयर के मुख्य घटक हैं। कंपाइलर और इंटरप्रेटर प्रोग्रामों को मशीन भाषा में बदलने के दो भिन्न तरीके हैं। सॉफ्टवेयर के वितरण मॉडल (फ्रीवेयर, शेयरवेयर, ओपन सोर्स, कमर्शियल) यह बताते हैं कि सॉफ्टवेयर किस प्रकार उपयोगकर्ताओं तक पहुँचता है। आज के डिजिटल युग में ओपन सोर्स सॉफ्टवेयर (Linux, Python) का महत्व तेज़ी से बढ़ रहा है। इस अध्याय का ज्ञान ऑपरेटिंग सिस्टम और प्रोग्रामिंग भाषाओं को समझने की नींव तैयार करता है।