कम्प्यूटर सॉफ्टवेयर (Computer Software)
एक कम्प्यूटर सिस्टम अनेक इकाइयों का एक समूह होता है, जो एक या अनेक लक्ष्यों की प्राप्ति हेतु बनाया जाता है। उदाहरणार्थ- प्रयोगशाला भी एक सिस्टम है, जिसका लक्ष्य विविध प्रकार के शोध करना है तथा जिसकी अनेक इकाइयाँ, वैज्ञानिक शोधार्थी और वैज्ञानिक उपकरण इत्यादि हैं। इसी प्रकार कम्प्यूटर भी एक सिस्टम है, जिसका लक्ष्य विविध प्रकार के कार्य करना है तथा जिसकी इकाइयाँ हार्डवेयर तथा सॉफ्टवेयर हैं।
सॉफ्टवेयर (Software)
सॉफ्टवेयर, प्रोग्रामिंग भाषा में लिखे गए निर्देशों अर्थात् प्रोग्रामों की वह शृंखला है, जो कम्प्यूटर सिस्टम के कार्यों को नियन्त्रित करता है तथा कम्प्यूटर के विभिन्न हार्डवेयरों के बीच समन्वय स्थापित करता है, ताकि किसी विशेष कार्य को पूरा किया जा सके। इसका प्राथमिक उद्देश्य डेटा को सूचना में परिवर्तित करना है। सॉफ्टवेयर के निर्देशों के अनुसार ही हार्डवेयर कार्य करता है। इसे प्रोग्रामों का समूह भी कहते हैं। दूसरे शब्दों में, “कम्प्यूटरों में सैकड़ो की संख्या में प्रोग्राम होते हैं, जो अलग-अलग कार्यों के लिए लिखे या बनाए जाते हैं। इन सभी प्रोग्रामों के समूह को सम्मिलित रूप से सॉफ्टवेयर’ कहा जाता है।”
सॉफ्टवेयर के प्रकार (Types of Software)
सॉफ्टवेयर को उसके कार्यों तथा संरचना के आधार पर दो प्रमुख भागों में विभाजित किया गया है-
- सिस्टम सॉफ्टवेयर
- एप्लीकेशन सॉफ्टवेयर
- सिस्टम सॉफ्टवेयर (System Software)
जो प्रोग्राम कम्प्यूटर को चलाने, उसको नियन्त्रित करने, उसके विभिन्न भागों की देखभाल करने तथा उसकी सभी क्षमताओं का अच्छे से उपयोग करने के लिए लिखे जाते हैं, उनको सम्मिलित रूप से ‘सिस्टम सॉफ्टवेयर’ कहा जाता है। सामान्यतः सिस्टम सॉफ्टवेयर कम्प्यूटर के निर्माता द्वारा ही उपलब्ध कराया जाता है। वैसे यह बाद में बाजार से भी खरीदा जा सकता है। कम्प्यूटर से हमारा सम्पर्क या संवाद सिस्टम सॉफ्टवेयर के माध्यम से ही हो पाता है। दूसरे शब्दों में कम्प्यूटर हमेशा सिस्टम सॉफ्टवेयर के नियन्त्रण में ही रहता है, जिसकी वजह से हम सीधे कम्प्यूटर से अपना सम्पर्क नहीं बना सकते। वास्तव में सिस्टम सॉफ्टवेयर के बिना कम्प्यूटर से सीधा सम्पर्क नामुमकिन है, इसलिए सिस्टम सॉफ्टवेयर उपयोगकर्ता की सुविधा के लिए ही बनाया जाता है। सिस्टम सॉफ्टवेयर से हमें बहुत सुविधा हो जाती है, क्योंकि वह कम्प्यूटर को अपने नियन्त्रण में लेकर हमारे द्वारा बताए गए कार्यों को कराने तथा प्रोग्रामों का सही-सही पालन करने के दायित्व अपने ऊपर ले लेता है। सिस्टम सॉफ्टवेयर में वे प्रोग्राम शामिल होते हैं, जो कम्प्यूटर सिस्टम को नियन्त्रित करते हैं और उसके विभिन्न भागों के बीच उचित तालमेल बनाकर कार्य कराते हैं।
कार्यों के आधार पर सिस्टम सॉफ्टवेयर को दो भागों में बाँटा गया है-
(i) सिस्टम मैनेजमेंट प्रोग्राम
(ii) डवलपिंग सॉफ्टवेयर
(i) सिस्टम मैनेजमेंट प्रोग्राम (System Management Program)
ये वे प्रोग्राम होते हैं, जो सिस्टम का प्रबन्धन (Management) करने के काम आते हैं। इन प्रोग्राम्स का प्रमुख कार्य इनपुट आउटपुट तथा मैमोरी युक्तियों और प्रोसेसर के विभिन्न कार्यों का प्रबन्धन करना है। ऑपरेटिंग सिस्टम, डिवाइस ड्राइवर्स तथा सिस्टम यूटिलिटिज, सिस्टम मैनेजमेंट प्रोग्राम्स के प्रमुख उदाहरण हैं।
(a) ऑपरेटिंग सिस्टम (Operating System)
इसमें वे प्रोग्राम शामिल होते हैं जो कम्प्यूटर के विभिन्न अवयवों के कार्यों को नियन्त्रित करते हैं, उनमें समन्वय स्थापित करते हैं तथा उन्हें प्रबन्धित (Manage) करते हैं। इसका प्रमुख कार्य उपयोगकर्ता तथा हार्डवेयर के मध्य एक समन्वय स्थापित करना है।
ऑपरेटिंग सिस्टम कुछ विशेष प्रोग्रामों का ऐसा व्यवस्थित समूह है, जो किसी कम्प्यूटर के सम्पूर्ण क्रियाकलापों को नियन्त्रित रखता है। यह कम्प्यूटर के साधनों के उपयोग पर नजर रखने और उन्हें व्यवस्थित करने में हमारी सहायता करता है। ऑपरेटिंग सिस्टम आवश्यक होने पर अन्य प्रोग्रामों को चालू करता है, विशेष सेवाएँ देने वाले प्रोग्रामों का मशीनी भाषा में अनुवाद करता है और उपयोगकर्ताओं की इच्छा के अनुसार आउटपुट निकालने के लिए डेटा का प्रबन्धन करता है। वास्तव में यह प्रोग्रामों को कार्य करने के लिए एक आधार उपलब्ध कराता है। उदाहरण- एम. एस. डॉस, विण्डोज XP/98/2000/2003/2007/8/10, यूनिक्स, लाइनेक्स इत्यादि ऑपरेटिंग सिस्टम के कुछ उदाहरण हैं।
ऑपरेटिंग सिस्टम के कार्य (Functions of Operating System)
- कम्प्यूटर तथा उसके उपयोगकर्ता के बीच संवाद (Communication) स्थापित करना।
- कम्प्यूटर के सभी उपकरणों को नियन्त्रण में रखना तथा उनसे काम लेना।
- उपयोगकर्ता द्वारा दिए प्रोग्रामों का पालन कराना।
- सभी प्रोग्रामों के लिए आवश्यक साधन (मैमोरी, सीपीयू, प्रिण्टर आदि) उपलब्ध कराना।
- ऊपर बताए गए कार्यों में सहायक, दूसरे छोटे-छोटे कार्य करना या उनकी व्यवस्था करना।
(b) डिवाइस ड्राइवर (Device Driver)
ये एक विशेष प्रकार का सॉफ्टवेयर होता है, जो किसी युक्ति (Device) के प्रचालन (Operation) को समझाता है। ये सॉफ्टवेयर किसी युक्ति तथा उपयोगकर्ता के मध्य इण्टरफेस (Interface) का कार्य करते हैं। किसी भी युक्ति को सुचारू रूप से चलाने के लिए चाहे वो प्रिण्टर, माउस, मॉनीटर या की-बोर्ड ही हो, उसके साथ एक ड्राइवर प्रोग्राम जुड़ा होता है। यह ऑपरेटिंग सिस्टम के निर्देशों (Commands) को कम्प्यूटर के विभिन्न भागों के लिए उनकी भाषा में परिवर्तित करता है। डिवाइस ड्राइवर्स निर्देशों का ऐसा समूह होता है जो हमारे कम्प्यूटर का परिचय उससे जुड़ने वाले हार्डवेयर्स से करवाते हैं।
(ii) सिस्टम यूटिलीज़ (System Utilites)
ये प्रोग्राम कम्प्यूटर के रख-रखाव से सम्बन्धित कार्य करते हैं। ये प्रोग्राम्स कम्प्यूटर के कार्यों को सरल बनाने, उसे अशुद्धियों से दूर रखने तथा सिस्टम के विभिन्न सुरक्षा कार्यों के लिए बनाए जाते हैं। यूटिलिटी प्रोग्राम कई ऐसे कार्य करते हैं, जो कम्प्यूटर का उपयोग करते समय हमें कराने पड़ते हैं। उदाहरण के लिए, कोई यूटिलिटी प्रोग्राम हमारी फाइलों का बैकअप किसी बाहरी भण्डारण साधन पर लेने का कार्य कर सकता है। ये सिस्टम सॉफ्टवेयर के अनिवार्य भाग नहीं होते, परन्तु सामान्यतः उसके साथ ही आते हैं और कम्प्यूटर के निर्माता द्वारा ही उपलब्ध कराए जाते हैं।
- एप्लीकेशन सॉफ्टवेयर (Application Software)
एप्लीकेशन सॉफ्टवेयर उन प्रोग्रामों को कहा जाता है, जो हमारा वास्तविक कार्य कराने के लिए लिखे जाते हैं, जैसे- कार्यालय के कर्मचारियों के वेतन की गणना करना, सभी लेन-देन तथा खातों का हिसाब-किताब रखना, विभिन्न प्रकार की रिपोर्ट छापना, स्टॉक की स्थिति का विवरण देना, पत्र-दस्तावेज तैयार करना इत्यादि। कम्प्यूटर वास्तव में इन्हीं कार्यों के लिए खरीदे या बनाए जाते हैं। ये कार्य हर कम्पनी या उपयोगकर्ता के लिए अलग-अलग प्रकार के होते हैं, इसलिए हमारी आवश्यकता के अनुसार इनके लिए प्रोग्राम हमारे द्वारा नियुक्त प्रोग्रामर द्वारा लिखे जाते हैं। हालाँकि आजकले ऐसे प्रोग्राम सामान्य तौर पर सबके लिए एक जैसे लिखे हुए भी आते हैं, जिन्हें रेडीमेड सॉफ्टवेयर (Readymade Software) या पैकेज (Package) कहा जाता है, जैसे-एमएस-वर्ड, एमएस-एक्सल, टैली, कोरल ड्रॉ, पेजमेकर, फोटोशॉप आदि।
सामान्यतः एप्लीकेशन सॉफ्टवेयर दो प्रकार के होते हैं।
(i) सामान्य उद्देशीय सॉफ्टवेयर (General Purpose Software): – प्रोग्रामों का वह समूह, जिन्हें उपयोगकर्ता अपनी आवश्यकतानुसार अपने सामान्य उद्देश्यों की पूर्ति के लिए उपयोग में लाते हैं, सामान्य उद्देश्य के सॉफ्टवेयर कहलाते हैं। उदाहरणार्थ- ग्रॉफिक्स सॉफ्टवेयर। जिसके प्रयोग द्वारा उपयोगकर्ता निर्मित डेटा का चित्रपूर्ण ग्राफिक्स प्रस्तुतिकरण करता है।
ये सॉफ्टवेयर विशेष कार्यों से सम्बन्धित होते हैं, परन्तु इनका उद्देश्य केवल सामान्य कार्य करने के लिए होता है। जिसके कारण ये सॉफ्टवेयर लगभग हर क्षेत्र, हर संस्था तथा कार्यालय में दैनिक रूप से उपयोग में लाए जाते हैं। उदाहरण के लिए स्प्रेड शीट (Spread Sheet), डेटाबेस प्रबन्धन प्रणाली (Database Management System), ग्रॉफिक्स सॉफ्टवेयर (Graphics Software), शब्द संसाधन (Word Processing), कोरल ड्रॉ (Coral Draw), पेंट (Paint), एमएस पॉवर प्वॉइण्ट (MSPower point)।
(a) वर्ड प्रोसेसिंग सॉफ्टवेयर (Word Processing Software)
वर्ड प्रोसेसर एक विशेष प्रकार का सॉफ्टवेयर है, जिसकी सहायता से टेक्स्ट या दस्तावेज (Document) को संचालित किया जाता है। यह सॉफ्टवेयर डॉक्यूमेंट प्रीप्रेशन सिस्टम के नाम से भी जाना जाता है। यह सॉफ्टवेयर प्रिंट होने वाले मैटीरियल की कंपोजीशन, एडीटिंग, फॉर्मेटिंग और प्रिंटिंग आदि के लिए भी इस्तेमाल किया जाता है।
इस सॉफ्टवेयर में बनाए गये डॉक्यूमेंटस को बनाकर इन्हें भविष्य में उपयोग करने के लिए सुरक्षित (Save) कर दिया जाता है। तथा भविष्य में भी इन डॉक्यूमेण्ट्स में बदलाव किया जा सकता है। वर्ड प्रोसेसिंग सॉफ्टवेयर, आज के समय में सर्वाधिक प्रयोग होने वाला सॉफ्टवेयर है। उदाहरण के लिए माइक्रोसॉफ्ट वर्ड, वर्ड परफेक्ट (केवल Windows के लिए), एप्पल वर्ल्स (केवल Apple के लिए), openoffice Word आदि।
(b) इलेक्ट्रॉनिक स्प्रेडशीट्स (Electronic Spread Sheets): – इस सॉफ्टवेयर के द्वारा उपयोगकर्ता अपने डेटा को ‘रो’ तथा ‘कॉलम’ (Rows and Columns) के रूप में व्यवस्थित कर सकते हैं। ये रो और कॉलम्स सामूहिक रूप से स्प्रेडशीट कहलाते हैं। इन सॉफ्टवेयरों में अधिकतर स्प्रेडशीट बनाने, उन्हें सेव, एडिट और फॉर्मेट करने के फीचर होते हैं। उदाहरण के लिए माइक्रोसॉफ्ट एक्सेल, कोरेल क्वाटरों प्रो, लोटस 1-2-3 आदि।
(c) डेटाबेस मैनेजमेण्ट सिस्टम (Database Management System): – आर्गेनाइज्ड डेटा का ऐसा संग्रह, जिसमें जरूरत पड़ने पर डेटा को एक्सेस (Access), रिट्रीव (Retrieve) तथा फॉर्मेट (Format) किया जा सके, डेटाबेस मैनेजमेंट सिस्टम कहलाता है। इस सॉफ्टवेयर का कार्य डेटाबेस को क्रिएट, एक्सेस और मैनेज करना होता है। इस सॉफ्टवेयर का प्रयोग करके डेटाबेस में डेटा को जोड़ा जा सकता है, सुधारा जा सकता है और डिलीट किया जा सकता है। साथ-ही-साथ डेटा को व्यवस्थित तथा रिट्रीव (Sort and Retrieve) भी किया जा सकता है। उदाहरण के लिए माइक्रोसॉफ्ट एक्सीस, कोरेल पैराडॉक्स, लॉटस एप्रोच आदि।
(d) डेस्कटॉप पब्लिशिंग सॉफ्टवेयर (Desktop Publishing Sofware): – इन साफ्टवेयरर्स का प्रयोग ग्राफिक डिजाइनरों द्वारा किया जाता है। इन सॉफ्टवेयरों का प्रयोग डेस्कटॉप प्रिंटिंग तथा ऑन स्क्रीन इलेक्ट्रॉनिक पब्लिशिंग के लिए किया जाता है। उदाहरण के लिए क्वार्क एक्सप्रेस, एडोब पेजमेकर, 3B2, कोरेल ड्रॉ आदि।
(e) ग्राफिक्स सॉफ्टवेयर (Graphics Software): – ये सॉफ्टवेयर कम्प्यूटर पर पड़ी इमेज में बदलाव करने और उन्हें सुन्दर बनाने की अनुमति देते हैं। इन सॉफ्टवेयरर्स के द्वारा इमेजिस (Images) को रीटच (Retouch), कलर एडजस्ट (Colour adjust), एनहेन्स (Enhance) शैडो (Shadow) व ग्लो (Glow) जैसे विशेष इफैक्ट्स दिए जा सकते हैं। उदाहरण के लिए एडोब फोटोशॉप, पिज़ाप (Pizap) आदि
(f) मल्टीमीडिया सॉफ्टवेयर (Multimedia Software): – टेक्स्ट (Text), ऑडियो (Audio), वीडियो (Video), इमेज़िस (Images) तथा एनीमेशन (Animation) आदि के संयोजन को ‘मल्टीमीडिया’ कहते हैं। वे सॉफ्टवेयर जो ये सारी सुविधा प्रदान करते हैं। मल्टीमीडिया सॉफ्टवेयर कहलाते हैं।
(g) प्रज़ेण्टेशन सॉफ्टवेयर (Presentation Software): – प्रजेण्टेशन का अर्थ है अपने विचार, संदेश तथा अन्य सूचना को एक ऐसे सरल रूप में किसी ग्रुप के सामने प्रस्तुत करना, जिससे उस ग्रुप को वह सूचना आसानी से समझ आ सके। प्रेजेण्टेशन सॉफ्टवेयर इसी उद्देश्य के लिए प्रयोग किया जाता है जो सूचना को स्लाइड के रूप में प्रदर्शित करता है। इसके तीन मुख्य कार्य निम्नलिखित हैं।
- यह एक टेक्स्ट एडीटर प्रदान करता है जो टेक्स्ट को इन्सर्ट तता फॉर्मेट करने की अनुमति देता है। ग्राफिक चित्रों को इन्सर्ट तथा अपने हिसाब से बदलने की सुविधा प्रदान करता है।
- सामग्री को प्रदर्शित करने के लिए एक स्लाइड-शो (Slide-Show) प्रणाली प्रदान करता हैं।
- इस सॉफ्टवेयर का प्रयोग करके उपयोगकर्ता अपनी प्रजेण्टेशन को अधिक आकर्षक बना सकता है। उदहारण के लिए माइक्रोसॉफ्ट पावरपाइण्ट, कोरेल प्रजेण्टेशन्स इत्यादि।
प्रोग्रामिंग भाषाएँ (Programming Languages)
कम्प्यूटर एक मशीन है तथा हमारी सामान्य बोलचाल की भाषाओं में लिखे प्रोग्रामों को नहीं समझ सकता। इसलिए कम्प्यूटर के लिए विशेष प्रकार की भाषाओं में प्रोग्राम लिखे जाते हैं। इन भाषाओं को प्रोग्रामिग भाषाएँ कहते हैं। इन भाषाओं की अपनी एक अलग व्याकरण (Grammar) होती है और प्रोग्राम लिखते समय उनके व्याकरण का पालन करना आवश्यक है। आजकल ऐसी सैकड़ों भाषाएँ प्रचलन में हैं। ये भाषाएँ कम्प्यूटर और प्रोग्रामर के बीच सम्पर्क या संवाद बनाती है। कम्प्यूटर उनके माध्यम से दिए गए निर्देशों के समझकर उनके अनुसार कार्य करता है। ये निर्देश इस प्रकार दिए जाते हैं, कि उनका क्रमशः पालन करने से कोई कार्य पूरा हो जाए। प्रोग्रामिंग भाषाओं को तीन प्रमुख भागों में विभाजित किया गया है- निम्न स्तरीय भाषाएँ, मध्य स्तरीय भाषाएँ और उच्च स्तरीय भाषाएँ।
- निम्न स्तरीय भाषाएँ (Low Level Languages): – निम्न स्तरीय भाषाएँ कम्प्यूटर की आन्तरिक कार्यप्रणाली के अनुसार बनाई जाती है तथा ऐसी भाषाओं में लिखे गए प्रोग्रामों के पालन करने की गति अधिक होती है, क्योंकि कम्प्यूटर उसके निर्देशों का सीधे ही पालन कर सकता है। इनके दो प्रमुख उदाहरण हैं-
मशीनी भाषाएँ तथा असेम्बली भाषाएँ।
(a) मशीनी भाषाएँ (Machine Languages): – ये भाषा केवल बाइनरी अंको (0 या 1) से बनी होती है। प्रत्येक कम्प्यूटर के लिए उसकी अलग मशीनी भाषा होती है। मशीनी भाषा का प्रयोग प्रथम पीढ़ी के कम्प्यूटरों में किया जाता था तथा इनमें त्रुटियों का पता लगाना एवं उन्हें ठीक करना लगभग असम्भव होता है।
(b) असेम्बली भाषाएँ (Assembly Languages): – ये भाषाएँ पूरी तरह मशीनी भाषाओं पर आधारित होती है, परन्तु इनमें 0 से 1 की श्रृंखलाओं के स्थान पर अंग्रेजी के अक्षरों और कुछ गिने चुने शब्दों को कोड के रूप में प्रयोग किया जाता है। इन भाषाओं में लिखे गए प्रोग्रामों में त्रुटि का पता लगाना एवं उन्हें ठीक करना सरल होता है।
- मध्य स्तरीय भाषाएँ (Medium Level Languages): – ये भाषा निम्न स्तरीय तथा उच्च स्तरीय भाषाओं के मध्य पुल का कार्य करती है। C भाषा को मध्य स्तरीय भाषा कहा जाता है, क्योंकि इसमें उच्च स्तरीय तथा निम्न स्तरीय दोनों भाषाओं के गुण है।
- उच्च स्तरीय भाषाएँ (High Level Languages): – ये भाषाएँ कम्प्यूटर की आन्तरिक कार्यप्रणाली पर आधारित नहीं होती है। इन भाषाओं में अंग्रेजी के कुछ चुने हुए शब्दों और साधारण गणित में प्रयोग किए जाने वाले चिन्हों का प्रयोग किया जाता है। इनमें त्रुटियों का पता लगाना और उन्हें ठीक करना सरल होता है, किन्तु इन भाषाओं में लिखे प्रोग्राम्स को मशीनी भाषा में कम्पाइलर या इण्टरप्रेटर के द्वारा अनुवादित (Translated) कराया जाना आवश्यक होता है।
कुछ उच्च स्तरीय भाषाएँ तथा उनके अनुप्रयोग क्षेत्र (Some High Level Languages & Their Application Areas)
भाषा (Language) | वर्ष (Year) | डवलपर (Developer) | अनुप्रयोग क्षेत्र (Application Area) |
FORTRAN (Formula Translation) | 1957 | प्रोग्रामरस के एक समूह ने बेल प्रयोगशाला में विकसित की। | गणित के क्षेत्र के लिए (विशेषकर कैल्कुलेशन के लिए) |
ALGOL (Algorithmic Language) | 1958 | यूरोपियन तथा अमेरिकी कम्प्यूटर वैज्ञानिकों ने सामूहिक रूप से विकसित की। | वैज्ञानिक अनुप्रयोग के लिए |
LISP (List Processing) | 1958 | जॉन मकार्थी ने MIT इन्स्टीट्यूट में विकसित की। | आटफिशियल इण्टेलिजेन्स के क्षेत्र |
COBOL (Common Business Oriented Language) | 1950 | ग्रेस हूपर ने विकसित की। | बिजनेस परपज (Purpose) के लिए |
BASIC (Beginner’s All Purpose Symbolic Instruction Code) | 1964 | जॉन जी केमेनी और ई. कुटुंज ने डर्टमाउथ कालेज न्यू हैमिसपायर में विकसित की। | शिक्षण कार्य के लिए। |
PASCAL | 1970 | निकलोस विर्थ ने विकसित की। | शिक्षण कार्य के लिए। |
C | 1972 | डेनिस रिच ने बेल प्रयोगशाला में विकसित की। | सिस्टम प्रोग्रामिंग के लिए |
C++ | 1983 | बज़ारने स्ट्रोस्ट्रप ने बेल प्रयोगशाला में विकसित की। | सिस्टम ऑब्जेक्ट प्रोग्रामिंग के लिए |
JAVA | 1995 | जेम्स गोसलिंग ने सन माइक्रोसिस्टम में विकसित कीं। | इण्टरनेट आधारित प्रोग्रामिंग के क्षेत्र |
ऑपरेटिंग सिस्टम (Operating System)
ऑपरेटिंग सिस्टम कुछ विशेष प्रोग्रामों का ऐसा व्यवस्थित समूह है जो किसी कम्प्यूटर के सम्पूर्ण क्रियाकलापों को नियन्त्रित करता है। यह कम्प्यूटर के साधनों के उपयोग पर नज़र रखने और व्यवस्थित करने में हमारी सहायता करता है। ऑपरेटिंग सिस्टम आवश्यक होने पर अन्य प्रोग्रामों को चालू करता है। वास्तव में यह उपयोगकर्ता और कम्प्यूटर के हार्डवेयर के बीच इण्टरफेस का कार्य करता है।
ऑपरेटिंग सिस्टम की परिभाषाएँ (Definition of Operating System)
ऑपरेटिंग सिस्टम प्रमुख परिभाषाएँ निम्न हैं –
- ऑपरेटिंग सिस्टम एक ऐसा सॉफ्टवेयर प्रोग्रामों का समूह है जो मानव, एप्लीकेशन सॉफ्टवेयर और कम्प्यूटर हार्डवेयर के बीच संवाद स्थापित करता है।
- ऑपरेटिंग सिस्टम एक ऐसा प्रोग्राम है, जो कम्प्यूटर के विभिन्न अंगों को निर्देश देता है कि किस प्रकार से प्रोसेसिंग का कार्य सफल होगा।
- ऑपरेटिंग सिस्टम एक ऐसा सॉफ्टवेयर हैं, जो यूजर एवं कम्प्यूटर हार्डवेयर के बीच एक माध्यम (Interface) की भाँति कार्य करता है।
ऑपरेटिंग सिस्टम के प्रमुख कार्य (Main Functions of Operating System)
ऑपरेटिंग सिस्टम कम्प्यूटर के सफल संचालन की प्रक्रिया में एक महत्वपूर्ण भूमिका अदा करता है। इसके प्रमुख कार्य चार प्रकार के होते हैं-
- प्रोसेसिंग प्रबन्धन (Processing Management): – कम्प्यूटर के सेण्ट्रल प्रोसेसिंग यूनिट के प्रबन्धन का कार्य ऑपरेटिंग सिस्टम ही करता है। यह प्रबन्धन इस प्रकार से होता है कि सभी प्रोग्राम एक-एक करके निष्पादित होते हैं। ऑपरेटिंग सिस्टम सभी प्रोग्रामों के समय को सी. पी. यू. (CPU) के लिए विभाजित कर देता है।
- मैमोरी प्रबन्धन (Memory Management): – प्रोग्राम के सफल निष्पादन के लिए ऑपरेटिंग सिस्टम मैमोरी प्रबन्धन का अत्यन्त ही महत्वपूर्ण कार्य करता है। जिसके अन्तर्गत कम्प्यूटर मैमोरी में कुछ स्थान सुरक्षित रखे जाते हैं। जिनका विभाजन प्रोग्रामों के मध्य किया जाता है। तथा साथ ही यह भी ध्यान में रखा जाता है कि प्रोग्रामों को मैमोरी के अलग-अलग स्थान प्राप्त हो सके। किसी भी प्रोग्राम को इनपुट एवं आउटपुट करते समय आँकड़ों एवं सूचनाओं को अपने निर्धारित स्थान में संग्रहीत करने का कार्य भी ऑपरेटिंग सिस्टम का है।
- इनपुट-आउटपुट युक्ति प्रबन्धन (Input-Output Device Management): – डेटा को इनपुट यूनिट से पढ़कर मैमोरी में उचित स्थान पर संग्रहीत करने एवं प्राप्त परिणाम को मैमोरी से आउटपुट यूनिट तक पहुँचाने का कार्य भी ऑपरेटिंग सिस्टम का ही होता है। प्रोग्राम लिखते समय कम्प्यूटर को केवल यह बताया जाता है कि हमें क्या इनपुट करना है और क्या आउटपुट लेना है, बाकी का कार्य ऑपरेटिंग सिस्टम ही करता है।
- फाइल प्रबन्धन (File Management): – ऑपरेटिंग सिस्टम फाइलों को एक सुव्यवस्थित ढंग से किसी डायरेक्टरी में संग्रहीत करने की सुविधा प्रदान करता है। किसी प्रोग्राम के निष्पादन के समय इसे सेकण्डरी मैमोरी से पढ़कर प्राइमरी मैमोरी में डालने का कार्य भी ऑपरेटिंग सिस्टम ही करता है।
ऑपरेटिंग सिस्टम के प्रकार (Types of 0perating System)
- बैच प्रोसेसिंग ऑपरेटिंग सिस्टम (Batch Processing Operating System): – इस प्रकार के ऑपरेटिंग सिस्टम में एक प्रकार के सभी कार्यों को एक (Batch) के रूप में संगठित करके साथ में क्रियान्वित किया जाता है। इस कार्य के लिए बैच मॉनीटर सॉफ्टवेयर का प्रयोग किया जाता है। इस प्रकार के ऑपरेटिंग सिस्टम का प्रयोग ऐसे कार्यों के लिए किया जाता है, जिनमें उपयोगकर्ता के हस्तक्षेप की आवश्यकता नहीं होती। इस ऑपरेटिंग सिस्टम में किसी प्रोग्राम के क्रियान्वन के लिए कम्प्यूटर के सभी संसाधन उपलब्ध रहते हैं, इसलिए समय प्रबन्धन (Time Management) की आवश्यकता नहीं होती। ये ऑपरेटिंग सिस्टम संख्यात्मक विश्लेषण (Numerical Analysis), बिल प्रिष्टिग, पेरोल आदि में उपयोग किए जाते है।
- सिंगल यूज़र ऑपरेटिंग सिस्टम (Single User Operating System): – इस प्रकार के ऑपरेटिंग सिस्टम में एक बार में केवल एक उपयोगकर्ता को ही कार्य करने की अनुमति होती है। यह सबसे अधिक प्रयोग किया जाने वाला ऑपरेटिंग सिस्टम है। उदाहरण- विण्डोज 95/NT/2000 आदि।
- मल्टी यूज़र ऑपरेटिंग सिस्टम (Multi User Operating System): – मल्टी-यूज़र ऑपरेटिंग सिस्टम एक समय में एक से अधिक उपयोगकर्ता को कार्य करने की अनुमति देता है। ये ऑपरेटिंग सिस्टम सभी उपयोगकर्ता के मध्य सन्तुलन बनाकर रखता है। प्रत्येक प्रोग्राम की संसाधन सम्बन्धी जरूरत को पूरा करता है। साथ-ही-साथ ये इस बात की भी निगरानी करता है कि किसी एक उपयोगकर्ता के साथ होने वाली समस्या दूसरे उपयोगकर्ताओं पर प्रभाव न डालें। ये ऑपरेटिंग सिस्टम कम्प्यूटर के संसाधनों का सर्वाधिक उपयुक्त प्रयोग करता है। उदाहरण- यूनिक्स, वीएमएस (VMS) आदि।
- सिंगल टास्किंग ऑपरेटिंग सिस्टम (Single Tasking Operating System): – सिंगल टास्किंग ऑपरेटिंग सिस्टम में एक समय में केवल एक प्रोग्राम को ही चलाया (Run) जा सकता है। उदाहरण के लिए-पॉम (Palm) कम्प्यूटर में प्रयोग किया जाने वाला ऑपरेटिंग सिस्टम।
- मल्टी टास्किंग ऑपरेटिंग सिस्टम (Multi Tasking Operating System): – मल्टी टास्किंग ऑपरेटिंग सिस्टम में एक समय में एक से अधिक कार्यों को सम्पन्न करने की क्षमता होती है, इसमें उपयोगकर्ता आसानी से दो कार्यों के मध्य स्विच (Switch) कर सकता है। मल्टी टास्किंग ऑपरेटिंग सिस्टम को दो भागों में विभाजित किया गया है।
(i) प्रीम्पटिव ऑपरेटिंग सिस्टम (Preemptive Operating System): – इस प्रकार के ऑपरेटिंग सिस्टम को कई कम्प्यूटर प्रोग्रामस तथा हार्डवेयर डिवाइसेस शेयर (Share) करते हैं तथा उनका प्रयोग करते हैं। यह अपने समस्त कम्प्यूटेशन टाइम (Computation Time) को कार्यों के मध्य बाँट देता है तथा एक पूर्वनिर्धारित मापदंड (Predefined Criteria) के आधार पर ही किसी नए कार्य का निष्पादन पूर्व कार्य के निष्पादन रोककर भी प्रारम्भ हो जाता है उदाहरण- Os/2, Windows95/NT आदि।
(ii) क़ोऑपरेटिव मल्टी टास्किंग ऑपरेटिंग सिस्टम (Cooperative Multi Tasking Operating System): – मल्टी टास्किंग का एक सरलतम रूप होता है। इस आपरेटिंग सिस्टम में एक प्रोग्राम तब तक CPU का प्रयोग करता है जब तक उसे आवश्यकता होती है। यदि कोई प्रोग्राम CPU का प्रयोग नहीं कर रहा है तो वह दूसरे प्रोग्राम को अस्थाई रूप से CPU को प्रयोग करने की अनुमति दे देता है। उदाहरण- Mac OS, MS-Window
3-X आदि।
- टाइम शेयरिंग ऑपरेटिंग सिस्टम (Time Sharing Operating System): – इस प्रकार के ऑपरेटिंग सिस्टम में, एक साथ एक से अधिक उपयोगकर्ता या प्रोग्राम कम्प्यूटर के संसाधनों का प्रयोग करते हैं। इस कार्य में, कम्प्यूटर अपने संसाधनों के प्रयोग हेतु प्रत्येक उपयोगकर्ता या प्रोग्राम को समय का एक छोटा भाग आवटिंत करता है जिसे टाइम स्लाइस या क्वांटम कहते है। इस टाइम स्लाइस में यदि कोई उपयोगकर्ता या प्रोग्राम किसी संसाधन का प्रयोग कर रहा है तो दूसरा उपयोगकर्ता या प्रोग्राम उस संसाधन के प्रयोग हेतु प्रतीक्षा करता है, लेकिन यह समय इतना छोटा होता है कि अगले उपयोगकर्ता या प्रोग्राम को यह महसूस नहीं होता कि उसने प्रतीक्षा की है। उपयोगकर्ता यह समझता है कि वही एक मात्र उपयोगकर्ता है जो कम्प्यूटर का प्रयोग कर रहा है। उदाहरण के रूप में मेन फ्रेम कम्प्यूटर जिसमें एक समय में एक ही कम्प्यूटर पर एक से अधिक उपयोगकर्ता कार्य करते है, लेकिन फिर भी प्रत्येक व्यक्ति यही समझता है कि वही एक मात्र उपयोगकर्ता है।
- रीयल टाइम ऑपरेटिंग सिस्टम (Real Time Operating System): – रीयल टाइम ऑपरेटिंग सिस्टम एक ऐसा मल्टी टास्किंग ऑपरेटिंग सिस्टम होता है, जिसमें रीयल टाइम एप्लीकेशन्स का क्रियान्वने किया जाता है। जैसे-एयरक्रॉफ्टों में प्रयोग होने वाला ऑटो पायलेट मैकेनिज्म (Auto Pilot Mechanism)। इसमें एक प्रोग्राम के आउटपुट को दूसरे प्रोग्राम के आउटपुट की तरह प्रयोग किया जा सकता है, इस कारण पहले प्रोग्राम के क्रियान्वयन में देरी से दूसरे प्रोग्राम का क्रियान्वयन और परिणाम रूक सकता है। रीयल टाइम ऑपरेटिंग सिस्टम में किसी भी दिए गए कार्य को पूरा करने की एक डेडलाइन दी गई होती है तथा इसी निर्धारित समय में उस कार्य को पूरा करना होता है। रीयल टाइम ऑपरेटिंग सिस्टम को दो भागों में बाँटा गया है।
(i) हार्ड रीयल टाइम सिस्टम (Hard Real Time System): – ये सिस्टम किसी महत्वपूर्ण कार्य को समय पर पूरा करने की गारण्टी देता है। समय पर कार्य पूरा न होने की स्थिति में प्रोग्राम का निष्पादन फेल हो जाता है। उदाहरण के लिए- एयरक्रॉफ्ट कण्ट्रोल सिस्टमस, पेसमेकर्स आदि।
(ii) सॉफ्ट रीयल टाइम सिस्टम (Hard Real Time System): – इस सिस्टम में भी किसी कार्य को पूरा करने के लिए एक डेडलाइन दी जाती है, किन्तु इस प्रकार के सिस्टम में कार्य का निष्पादन डेडलाइन से पहले और बाद में भी पूरा हो सकता है परन्तु इस स्थिति में कार्य का निष्पादन फेल नहीं होता।
कुछ महत्वपूर्ण ऑपरेटिंग सिस्टम (Some Important Operating System)
यूनिक्स (Unis)
यूनिक्स एक मल्टी टास्किंग व मल्टी उपयोगकर्ता ऑपरेटिंग सिस्टम है जिसे वर्ष 1969 में विकसित किया गया। इसे वर्ष 1973 में सी (C) भाषा में लिखा गया है, किन्तु प्रारम्भ में इसे असेम्बली भाषा में लिखा गया था इसे वर्ष 1969 में AT&T Bell प्रयोगशाला में विकसित किया गया था। इसका पूरा नाम यूनिप्लेकस इन्फॉर्मेशन कम्प्यूटर सिस्टम है। इस ऑपरेटिंग सिस्टम को सर्वर तथा वर्क-स्टेशन दोनों में प्रयोग किया जा सकता है। इसमें डेटा प्रबन्धन का कार्य कर्नल (Kernal) द्वारा होता है। इस ऑपरेटिंग सिस्टम को इंस्टॉल व सेटअप करना कठिन होता है, किन्तु इस ऑपरेटिंग सिस्टम के इंस्टॉल होने पर कम्प्यूटर की क्षमता (Performance) बहुत बढ़ जाती है।
लाइनक्स (Linux)
यह ऑपरेटिंग सिस्टम वर्ष 1991 में लाइन्स टोरवॉल्डस (Lines Torvalds) द्वारा विकसित किया गया था। इसका प्रयोग मुख्यतः सर्वर के लिए होता है। ये ऑपरेटिंग सिस्टम यूनिक्स पर आधारित है। ये एक ऑपन सोर्स सॉफ्टवेयर है। तथा सभी प्रकार के कम्प्यूटर पर चल सकता है।
सोलेरिस (Solaris)
इस ऑपरेटिंग सिस्टम का विकास सन माइक्रोसिस्टम द्वारा वर्ष 1993 में किया गया था। किन्तु बाद में वर्ष 2010 में इस कम्पनी को ओरेकल (Oracle) कॉर्पोरेशन के द्वारा अधिगृहीत कर लिया गया, जिसके बाद इस सोलेरिस को ओरेकल सोलेरिस के नाम से जाना जाने लगा है। ये ऑपरेटिंग सिस्टम, सिस्टम मैनेजमेण्ट तथा नेटवर्क के कार्यों के लिए सर्वाधिक उपयुक्त है।
भारत ऑपरेटिंग सिस्टम सोल्यूशन्स (Bharat Operating System Solutions-BOSS)
इस ऑपरेटिंग सिस्टम को C-DAC (Centre of Development of Advanced Computing) द्वारा विकसित किया गया था। ये ऑपन सॉर्स सॉफ्टवेयर है। इस ऑपरेटिंग सिस्टम को विशेष तौर पर भारतीय क्षेत्र में प्रयोग करने के लिए बनाया गया है। जीएनयू/लाइनक्स वर्ज़न 5.0 (GNU Linux Version 5,0) इस ऑपरेटिंग सिस्टम का सबसे नवीनतम संस्करण है।
एम एस डॉस (MS DOS-Microsoft Disk Operating System)
यह एक सिंगल यूज़र ऑपरेटिंग सिस्टम है। यह माइक्रोसॉफ्ट द्वारा विकसित ऑपरेटिंग सिस्टम था। यह एक नॉन ग्राफिकल (गैर-सुचित्रित), कमाण्ड लाइन ऑपरेटिंग सिस्टम है। यह ऑपरेटिंग सिस्टम यूज़र फ्रेंडली नहीं होता, क्योंकि इसमें कमाण्ड याद रखनी होती है। अब डॉस ज्यादा प्रयोग में नहीं आता, क्योंकि यह ग्राफिकल सुविधा प्रदान नहीं करता।
एम एस विण्डोज़ (MS Windows)
यह माइक्रोसॉफ्ट द्वारा विकसित ग्राफिकल यूज़र इण्टरफेस OS है। इसके विभिन्न संस्करण; जैसे- विण्डोज़- 95/98/XP/Vista/2007/8/10 आदि बाज़ार में उपलब्ध है। यह एक यूज़र फ्रेंडली ऑपरेटिंग सिस्टम है तथा इसमें कार्य करना अत्यन्त सरल हैं।