Computer के लिए सॉफ्टवेयर बहुत ही जरुरी चीज़ है यू समझ लीजिये की कम्प्यूटर शरीर है तो सॉफ्टवेयर उसकी आत्मा है जिस प्रकार आत्मा के बिना शरीर का कोई काम नहीं है उसी प्रकार Software के बिना कम्प्यूटर भी नहीं चल सकता।
सॉफ्टवेयर कम्प्यूटर सिस्टम के सभी हॉर्डवेयर संसाधनों का उपयोग करता है. सॉफ्टवेयर अनेक प्रकार के होते है और इनका कार्य भी अनेक प्रकार का होता है। तो चलिए सॉफ्टवेयर के बारे में पूरी जानकारी प्राप्त करतें है –
सॉफ्टवेयर क्या है – What is software
सॉफ्टवेयर कई प्रोग्रामों से मिलकर बना होता है। यह कम्प्यूटर के अनेक कार्यों को करने में मदद करता है। सॉफ्टवेयर को हार्डवेयर संसाधनों का Utilization भी कहा जाता है। यदि हॉर्डवेयर को हम computer का शरीर मानते है तो सॉफ्टवेयर की तुलना computer की दिमाग से कर सकतें हैं।
जिस तरह बिना दिमाग का सरीर बेकार है उसी तरह बिना सॉफ्टवेयर का कम्प्यूटर का कोई अस्तित्व नहीं है। उदाहरण के लिए हम माउस का उपयोग करते है तो उसे भी चलाने के लिए सॉफ्टवेयर की जरुरत पड़ती है।
इसमें एप्लीकेशन सॉफ्टवेयर, सिस्टम सॉफ्टवेयर, मिडिलवेयर आदि आते है। Application software जैसे वर्ड प्रॉसेसर के युजर के लिए Productive task को निष्पादित करता है। system software जैसे ऑपरेटिंग system को हॉर्डवेयर के साथ इंटरफेस कर इंटरफेस युजर इंटरफेस तथा application के लिए आवश्यक सेवाओं को संपन्न करता है।
जब हम computer चालू करते है तो सबसे पहले सॉफ्टवेयर रैम में लोड होता है। और Central processing unit में एक्जीक्यूट होता है।सबसे निचे स्तर पर सॉफ्टवेयर मशीन लेंग्वेज में कम्प्यूटर के उन प्रोसेसर के लिए व्यक्तिगत रूप से प्रोग्राम किये गए होते है।
सॉफ्टवेयर निर्देशों का एक व्यवस्थित क्रम होता है। जो कम्प्यूटर हार्डवेयर की स्थिति को एक विशेष क्रम में व्यवस्थित करता है। सॉफ्टवेयर को machine लेंग्वेज व high level लेंग्वेज में लिखा जाता है।
सॉफ्टवेयर को असेम्ब्ली लेंग्वेज में भी लिखा जाता है जो प्राकृतिक भाषा वर्णमाला का प्रयोग कर मशीनी लेंग्वेज का Mnemonic representation होता है। असेम्ब्ली लेंग्वेज को असेम्ब्लर के माध्यम से आब्जेक्ट कोड को असेम्बल किया जाता है।
सॉफ्टवेयर की आवश्यकता क्यों हैं – What is software required for
दोस्तों जिस तरह आप किसी ऐसे मशीन जिसको आप जानते ही नहीं है उसे चला नहीं पाएंगे। उसी प्रकार आपको एक मॉनिटर और एक CPU व कीबोर्ड दे दिया जाए तो आप उसको तब तक उपयोग नहीं कर सकतें जब तक उसमे आपरेटिंग सिस्टम लोड न किया जाए।
इससे आप समझ सकते है की कम्प्यूटर की सर्वप्रथम आवश्यकता आपरेटिंग सिस्टम है, जो की एक सॉफ्टवेयर है। जो सिस्टम सॉफ्टवेयर के अंतर्गत आता है।
किसी सॉफ्टवेयर की मुख्य आवश्यकता कम्प्यूटर मोबाईल आदि Gadget को चालू करने के लिए होता है। जब आप अपने computer में ऑपरेटिंग सिस्टम को लोड कर लेते है, तब आपका कम्प्यूटर चालू करने लायक हो जाता है।
इसके बाद आपको कम्प्यूटर में जो-जो जरुरी सॉफ्टवेयर है उनकी जरुरत पड़ेगी। अलग-अलग कार्य जैसे ग्राफिक्स, ऑफिस, चार्ट आदि के लिए सॉफ्टवेयर (Application) की आवश्यकता पड़ेगी।
इसके अलावा अगर आपका computer virus से संक्रमित हो जाए तो आपको फिर से Utility नामक सॉफ्टवेयर की आवश्यकता पड़ेगी। कहने का मतलब यह है कि आपको आवश्यकता के अनुशार समय-समय पर सॉफ्टवेयर की जरुरत पड़ती रहेगी।
आइये इसके बारे में कुछ जानते है –
सॉफ्टवेयर के आवश्यकता इसलिए है –
- सॉफ्टवेयर की आवश्यकता कम्प्यूटर को प्रारम्भ करने में।
- पत्र टाइप करने के लिए सॉफ्टवेयर।
- चार्ट निर्माण के लिए सॉफ्टवेयर।
- Presentation निर्माण में सॉफ्टवेयर।
- Data management में सॉफ्टवेयर।
- Internet के उपयोग में सॉफ्टवेयर।
- ऑपरेटिंग सिस्टम के कार्य के लिए सॉफ्टवेयर।
सॉफ्टवेयर के प्रकार – Types of software
आज के समय में आपको बाजार में हजारो की संख्या में सॉफ्टवेयर मिल जायेंगे तो चलिए सॉफ्टवेयर वे विभिन्न प्रकारों को जानते है – सॉफ्टवेयर के सिस्टम को मुख्य 3 भागों में बाट सकतें है – सिस्टम सॉफ्टवेयर, प्रोग्रामिंग सॉफ्टवेयर और Application सॉफ्टवेयर हालांकि इस तरह इनको अलग अलग रखना स्पष्ट या सहीं नहीं है।
सिस्टम सॉफ्टवेयर कम्प्यूटर हॉर्डवेयर और कम्प्यूटर सिस्टम को चलाने में सहायता करता है। इसमें ऑपरेटिंग सिस्टम, डिवाइस ड्राइवर, सर्वर्स, यूटिलिटीज आदि शामिल हैं।
प्रोग्रामिंग सॉफ्टवेयर साधारणतः किसी प्रोग्राम को विभिन्न प्रोग्रामिंग लेंग्वेज को अधिक सुविधा पूर्वक तरीके से उपयोग करते हुए computer प्रोग्राम और सॉफ्टवेयर को लिखने में सहायता के लिए tools प्रदान कराता है। इस tool में text editor, कम्पाइलर, इंटरप्रेटर, लिंकर, debugger आदि शामिल हैं।
Integrated development environment इन सभी tool को एक सॉफ्टवेयर बंडल में merge कर देता है। और प्रोग्राम को कम्पाइलिंग, इंटरप्रेटिंग, डीबगिंग, ट्रेसिंग आदि के लिए बहुत सी commands को टाइप करने की जरुरत नहीं रहती है क्योंकि IDE में साधारणतः एक विकशित ग्रफिकल युजर इंटरफ़ेस या GUI होता है।
Application सॉफ्टवेयर द्धारा यूजर एक या एक से अधिक विशिस्ट कार्यों को पूरा कर सकता है। सामान्य application में व्यापारिक सॉफ्टवेयर शैक्षिक सॉफ्टवेयर, मेडिकल सॉफ्टवेयर, डाटाबेस और computer गेम शामिल है।
Application का उपयोग सबसे ज्यादा व्यापार जगत करता है। परन्तु सॉफ्टवेयर का प्रयोग लगभग सभी क्षेत्रों में मनुष्यों द्धारा हो रहा हैं।
सिस्टम सॉफ्टवेयर क्या है – What is a System software
यह एक ऐसा कम्प्यूटर सॉफ्टवेयर है जो हॉर्डवेयर Resources का प्रबंधन एवं नियंत्रण करता है ताकि Application सॉफ्टवेयर कार्य को पूरा कर सके, यह कम्प्यूटर सिस्टम का एक आवश्यक भाग होता है, जैसे ऑपरेटिंग सिस्टम।
यदि सिस्टम सॉफ्टवेयर को Non-volatile स्टोरेज जैसे इंटीग्रेट सर्किट में स्टोर किया जाता है तो इसे सामान्यतः फर्म वेयर का नाम दिया जाता है। विस्तार से देखें तो सिस्टम सॉफ्टवेयर प्रोग्रामों का एक समूह है जो computer सिस्टम में हॉर्डवेयर का संगठन व नियंत्रण करता है।
ऑपरेटिंग सिस्टम क्या है – What is operating system
यह एक ऐसा पहला सॉफ्टवेयर है जो computer के स्टार्ट होने के बाद लोड होता है। आप जानते होंगे की computer system के booting के लिए यह अत्यंत आवश्यक सॉफ्टवेयर है।
यह केवल कम्प्यूटर सिस्टम में booting के ही लिए नहीं बल्कि दूसरे Application सॉफ्टवेयर और यूटिलिटी सॉफ्टवेयर को कम्प्यूटर पर चलाने के लिए भी आवश्यक है।
सोर्स कोड के निर्माण के बाद प्रोग्रामर को Source code को कम्प्यूटर पर एक्जीक्यूट करने से पहले मशीन कोड में परिवर्तन करने की आवश्यकता होती है।
मशीन कोड एक तथा 0 की एक सीरीज होती है सोर्स कोड को परिवर्तित करने का यह कार्य दो तरह के प्रोग्राम की सहायता से संचालित किया जाता है।
कम्पाइलर क्या है – What is compiler
Executable file बनाने के लिए सोर्स कोड को मशीन कोड में परिवर्तित करता है इस Executable file के अवयव object code कहलाते हैं। प्रोग्रामर इस Executable object code को किसी भी सामान कम्प्यूटर पर copy करने के बाद एक्जीक्यूट करते है।
दूसरे शब्दों में कहा जाये तो प्रोग्राम एक बार कम्पाइल हो जाने के बाद स्वतंत्र एक्जीक्यूटेबल फॉइल बन जाता है, जिसको एक्जीक्यूट होने के लिए कम्पाइलर की आवश्यकता नहीं होती है।
प्रत्येक पप्रोग्रामिंग भाषा की आवश्यकता होती है जो कोड को परिवर्तित करती है। उदाहरण के लिए C लेंग्वेज को C कम्पाइलर तथा पास्कल लेंग्वेज को पास्कल के कम्पाइलर की आवश्यकता होती है।
इंटरप्रेटर क्या है – What is interpreter
यह एक प्रोग्राम होता है जो हाई लेवल लेंग्वेज में लिखे प्रोग्राम के एक-एक निर्देश को बारी-बारी से मशीनी भाषा (Machine language) में परिवर्तित करके एक्जीक्यूट करता है। यह हाई लेवल लेंग्वेज के प्रोग्रामों के सभी निर्देशों को एक साथ Machine language में परिवर्तित नहीं करता है।
Interpreter प्रत्येक निर्देश को Machine language में परिवर्तित कर एक्जिक्यूट भी करता है। इसलिए अनुवाद के समय प्रोग्राम का एक्जीक्यूशन भी होता है। यह मेमोरी में जगह भी कम लेता है और Source program की मेमोरी में Object program भी नहीं बनाता है क्योंकि प्रत्येक line और Instruction को अनुदित करने के साथ ही यह उसे Execute भी कर देता है।
कोई निर्देश में Error है तो यह तत्काल उसे इंगित करता है। उसमे प्रोग्रामर सुधार करता है। उसके बाद ही यह पुनः उसे मशीनी भाषा में परिवर्तित करके एक्जीक्यूट करता है इस प्रकार error को ढूँढना Interpreter की सहायता से आसान हो जाता है।
लेकिन यह कोई object program नहीं बनाता है। इसलिए हाई लेवल लेंग्वेज का प्रोग्राम जब भी हम पुनः एक्जीक्यूट करते है। तो उसका अनुवाद मशीनी भाषा में इंटरप्रेटर करता है, इसलिए Interpreter की हमेशा आवश्यकता होती है।
Interpreter उपयोग में आसान है क्योकि इसमें program के error को ढूंढने में आसानी होती है। असेम्ब्लर एक प्रोग्राम है जो असेम्ब्ली लेंग्वेज का मशीन लेंग्वेज में अनुवाद करता है, इंटरप्रेटर तथा कम्पाइलर की भाति हाई लेवल को मशीन लेंग्वेज में परिवर्तित करता है। असेम्ब्लर Mnemonic कोड को बाइनरी कोड में बदलता है।
लिंकर एवं लोडर क्या है – What are linker and loader
लिंकर को लिंक एडिटर भी कहा जाता है। यह एक प्रोग्राम है जो कम्पाइलरों द्धारा बनाये गए एक या अधिक object को लेकर उन्हें एक एक्जिक्यूटेबल प्रोग्राम में असेम्बल करता है। लोडर वह प्रोग्राम है जो लिंकर प्रोग्राम के कार्यों को पूरा करता है और उसके बाद उस प्रोग्राम को एक्जीक्यूटेबल फाइल में सुरक्षित किये बिना उस एक्जिक्यूटेबल प्रोग्राम को action के लिए मेमोरी इमेज के रूप में Schedule करता है। लोडर प्रोग्राम application प्रोटोटाइपिंग और परीक्षण के लिए उपयोगी होते हैं।
डिबगर क्या है और क्या करता है – What is a debugger, what does it do
जब प्रोग्राम बनाया जाता है तब error न आये एसा संभव नहीं है। इसलिए इस समस्या से निपटने के लिए डिबगर नाम का प्रोग्राम उपयोग किया जाता है। यह ऐसा प्रोग्राम है जो अन्य प्रोग्राम को जांचने एवं डिबग करने की क्षमता रखता है। जब प्रोग्राम क्रेश होता है तो डिबगर original कोड में उस position को दिखाता है।
यदि यह सोर्स लेबल का डिबगर हो या सिम्बॉलिक डिबगर जो की सामान्यतः इंटीग्रेटिड डेवलॅपमेंट एनवायरमेंट में देखा जा सकता है। यदि यह निम्न स्तरीय डिबगर या मशीनी भाषा डिबगर है तो यह डिसअसेम्ब्ली में उस पंक्ति को दर्शाता है।
किसी प्रोग्राम बग के कारण जब प्रोग्राम continue नहीं चल पाता है तो यह crash होता है। सामान्य रूप से डिबगर और अधिक sophisticated भी प्रदान करता है। इनमे प्रोग्राम को step by step संचालित करना, ब्रेक पाइंट की सहायता से किसी विशेष event पर प्रोग्राम को रोक देना, व कुछ वेरिएबल्स के मानों को ट्रैक करना शामिल है।
एप्लीकेशन सॉफ्टवेयर क्या है – What is Application software
यह कम्प्यूटर सॉफ्टवेयर का ही एक क्रम है जो युजर द्धारा इक्षा के अनुसार कार्य को करने के लिए प्रत्यक्ष रूप से कम्प्यूटर की Capabilities को नियोजित करता है। application software के उदाहरण वर्ल्ड प्रॉसेसर, मिडिया प्लेयर व Spreadsheet है।
कभी-कभी कई application को एक साथ एक पैकेज के रूप में बंडल बनाकर application suite के नाम से सूचित किया जाता है। माइक्रोसॉफ्ट ऑफिस तथा Open office.org जो वर्ड प्रोसेसर, स्प्रेडशीट तथा कई अन्य अनेक application को एक साथ पेश करते है।
suit के अलग-अलग application के यूजर इंटरफ़ेस लगभग सामान होते है। जिससे युजर के लिए प्रत्येक application को सीखना और उपयोग करना आसान हो जाता है।
प्रायः इसमें कुछ क्षमताएं एसी होती है की ये आपस में उपयोगकर्ता के लाभ हेतु आपस में Interact होती है। जैसे एक स्प्रेड शीट application में बनी एक स्प्रेडशीट को एक वर्ड प्रोसेसर डाक्यूमेंट में लाना संभव होता है।
युजर द्धारा विकशित सॉफ्टवेयर भी application सॉफ्टवेयर कहलाता है। User-written software, User written सिस्टम को युजर की विशिस्ट आवश्यकताओं को पूरा करने योग्य बनाते है।
User written सॉफ्टवेयर में स्प्रेडशीट template, वर्ल्ड प्रॉसेसर मेक्रो, Scientific simulation, ग्राफिक्स, Animation scripts शामिल है। साथ ही ई-मेल फ़िल्टर भी एक प्रकार का युजर सॉफ्टवेयर है, युजर स्वयं ही इस सॉफ्टवेयर को लिखते है।
कुछ प्रकार के Embedded systems में युजर के लिए application सॉफ्टवेयर तथा ऑपरेटिंग सिस्टम में अंतर करना संभव नहीं हो पाता जैसे की VCR, DVD प्लेयर, और माइक्रो वेव ओवन को नियंत्रित करने वाले सॉफ्टवेयर में देखा जा सकता है।
कार्य के अनुसार सॉफ्टवेयर के प्रकार –
user के लिए मुख्य कार्य करने वाले प्रोग्राम application software कहलाते हैं।
आइये कुछ application सॉफ्टवेयर को जानते है –
- Word processor – डाक्यूमेंट पत्र आदि बनाने के लिए।
- Spreadsheet – संख्यात्मक समस्याओं के समाधान हेतु, एक calculator से लाखों गुणा अधिक तेज़ी के साथ।
- Presentation software – बड़े प्रोजेक्टर तथा स्क्रीन पर व्यावसायिक रणनीतियों को बेहतर ढंग से प्रस्तुत करने के लिए।
- Database management system – डाटा को एकत्र करने, उसे व्यवस्थित करने तथा उसे सुचना के रूप में उपलब्ध करने के लिए।
- Graphics and designing software – सरल व कठिन प्रकार के चित्र बनाने के लिए तथा विकृत फोटोग्राफ को सुन्दर व आकर्षक रूप देने के लिए।
यूटिलिटी सॉफ्टवेयर क्या है – What is a utility software
इसे सर्विस प्रोग्राम के नाम से भी जाना जाता है। यह एक प्रकार का computer सॉफ्टवेयर है जिसे विशेष रूप से कम्प्यूटर हॉर्डवेयर, ऑपरेटिंग सिस्टम, व एप्लीकेशन सॉफ्टवेयर को Manage करने में सहायता के लिए डिजाइन किया गया है।
अनेक प्रकार के युटिलिटी सॉफ्टवेयर बाजार में उपलब्ध है जिनको आप जानते ही होंगे, जैसे Disk Defragmenter, System profilers, Archive युटिलिटी, वायरस स्कैनर, कम्प्रेशन युटिलिटी, एन्क्रिप्शन युटिलिटी आदि।
डिस्क डीफ्रैग्मेंटेर सॉफ्टवेयर – Disk Defragmenter software
यह एक युटिलिटी सॉफ्टवेयर है जो एसे कम्प्यूटर फाइल को ढूंढता है जिसकी विषय वस्तु हार्ड डिस्क पर disjointed fragments में स्टोर हो जाती है। और डिस्क की कुशलता बढ़ाने के लिए इन खण्डों को एक साथ मिलाता है। एक disk checker हार्ड डिस्क की विषय वस्तु को स्कैन कर सकता है।
ऐसी फाइल्स का पता लगाने के लिए जो किसी तरह से corrupted हो चुके है या सही ढंग से सेव नहीं किये गए है। Disk cleaner software ऐसी फाइल्स का पता लगा सकता है जो कम्प्यूटर ऑपरेशन्स के लिए अनावश्यक है या जरुरी जगहों पर कब्जा किये हुए है। डिस्क क्लीनर युजर को यह निर्धारित करने में सहायता प्रदान करता है की एक भरी हुई disk में से किसे delete किया जाये।
सिस्टम प्रोफाइलर्स सॉफ्टवेयर – System profile software
यह इंस्टाल किये गए सॉफ्टवेयर व कम्प्यूटर से जुड़े हुए हॉर्डवेयर के बारे में विस्तृत सुचना उपलब्ध कराता है। backup सॉफ्टवेयर कम्प्यूटर में संग्रहित सभी सूचनाओं का एक कॉपी तैयार करता है
तथा डिस्क के ख़राब हो जाने के स्थिति में पुरे सिस्टम के डाटा को पुनः स्टोर करता है या फिर फाइलों के गलती से मिट जाने के कारण उस विशेष फाइलों को restore करता है।
वायरस स्कैनर सॉफ्टवेयर – Virus scanner software
यह फाइल और फोल्डर में से कम्प्यूटर वायरसों को स्कैन करता है।
कम्प्रेशन युटिलिटी सॉफ्टवेयर – Compression utilities software
कम्प्रेशन युटिलिटी हार्ड डिस्क में अधिक सुचना के भंडारण के लिए हार्ड डिस्क की contents को compress करता है। कम्प्रेशन युटिलिटी को जब एक फाइल उपलब्ध कराइ जाती है तो यह उसे सम्पीड़ित कर छोटे आकार की फाइल आउट पुट के रूप में देता है।
एनक्रिप्शन युटिलिटी सॉफ्टवेयर – Encryption utilities software
यह एक विशेष प्रकार की अल्गोरिदम का प्रयोग कर इनक्रिप्टेड फाइल का निर्माण करती है। इसके लिए इसे सामान्य टेक्स्ट तथा एक key प्रदान करनी होती है।
फ्री डोमेन सॉफ्टवेयर – Free domain software
यह सॉफ्टवेयर मूल रूप से Internet पर उपलब्ध होतें है। इन्हे इंटरनेट से डाउनलोड सकता है उदाहरण के लिए Freeware व Shareware . freeware ऐसा सॉफ्टवेयर है जिसका कोई शुल्क नहीं हैं अर्थात यह बिलकुल free है।
shareware इस सॉफ्टवेयर को एक निश्चित सीमा समय के लिए free में चलाया जा सकता है। और जब युजर इसे उपयोगी समझे तो इसके शुल्क का भुगतान करके खरीद सकता है, इसे भी internet से ही डाउनलोड किया जाता हैं।
ओपन सोर्स सॉफ्टवेयर – Open source software
यह सॉफ्टवेयर बिल्कुल ही नया concept है और सॉफ्टवेयर उध्योग में एक क्रांति है इसका सोर्स कोड नेट से डाउनलोड करने के लिए मुक्त कर दिया गया है और इसे अपनी आवश्यकता के अनुशार परिवर्तित व कस्टमाइज़ किया जा सकता है, लाइनक्स इसका उदाहरण है।
इस प्रकार के सॉफ्टवेयर की हानि यह है कि इनका कोई Standard form नहीं होता है, जिससे सामान्य युजर को परेशानी होती है।
इंटिग्रेटेड डेवलपमेंट एनवायरमेंट – Integrated development environment
इसे इंटिग्रेटेड डिजाइन एनवायरमेंट व इंटिग्रेटेड डिबगिंग एनवायरमेंट के रूप में भी जाना जाता है। यह कम्प्यूटर सॉफ्टवेयर का एक प्रकार है जो कम्प्यूटर प्रोग्रामर्स को सॉफ्टवेयर विकशित करने में सहायता करता है।
——***——
कम्प्यूटर संबंधित अन्य जानकारियां
- कम्प्यूटर क्या है?
- कम्प्यूटर के विभिन्न अंगों की जानकारी
- कम्प्यूटर का उपयोग सम्पूर्ण जानकारी
- कम्प्यूटर के विभिन्न प्रकार
- कम्प्यूटर की विभिन्न पीढ़ियां
- कम्प्यूटर की विशेषता सम्पूर्ण विश्लेषण
- कम्प्यूटर – सेंट्रल प्रोसेसिंग यूनिट
- कम्प्यूटर वायरस क्या है?
——*****——
अंतिम शब्द
आशा है की आपको हमारा यह लेख सॉफ्टवेयर क्या है ? Software kya hai in hindi. पसन्द आये, और आपके काम आये, अगर जानकारी अच्छी लगी हो तो शेयर जरूर करें
और हमारे Facebook पेज व Instagram और Twitter को join करें। अगर कोई सुझाव हो तो कॉमेंट जरूर करे- धन्यवाद,
Nice post
आपका बहुत-बहुत धन्यवाद