System software

IT Computer Education
0

System Software

प्रोग्रामो का समूह जो कम्प्युटर सिस्टम के मूलभूत कार्यों को सम्पन्न करने तथा उन्हे कार्य के लायक बनाए रखने के लिए तैयार किए जाते है, सिस्टम सॉफ्टवेयर कहलाते है। यह यूजर तथा कम्प्युटर के बीच मध्यस्थ का कार्य करता है। सिस्टम सॉफ्टवेयर के बिना कम्प्युटर एक बेजान मशीन भर ही रह जाता है। सिस्टम सॉफ्टवेयर एक तरफ तो कम्प्युटर हार्डवेयर से जुड़ा होता है और दूसरी तरफ Application Software से। सिस्टम सॉफ्टवेयर एप्लिकेशन सॉफ्टवेयर के लिए पृष्ठभूमि तैयार करता है। कोई भी एप्लिकेशन सॉफ्टवेयर सिस्टम सॉफ्टवेयर को ध्यान मे रखकर ही तैयार किया जाता है।

सिस्टम सॉफ्टवेयर के प्रमुख कार्य -

1. विभिन्न हार्डवेयर संसाधनों का नियंत्रण, समन्वय तथा महत्तम उपयोग सुनिश्चित करना। 

2. एप्लिकेशन सॉफ्टवेयर के लिए पृष्ठभूमि तैयार करना। 

3. Peripheral Devices का समन्वय और नियंत्रण करना। 

4. यूजर, एप्लिकेशन सॉफ्टवेयर तथा हार्डवेयर के बीच मध्यस्थ का काम करना।

सिस्टम सॉफ्टवेयर को मुख्यतः दो भागो मे बाँटा जाता है - 

1. Operating System

2. Language Translator

1. Operating System - Operating system प्रोग्रामो का वह समूह है, जो कम्प्युटर सिस्टम तथा उसके विभिन्न संसाधनों के कार्यों को नियंत्रित करता है तथा हार्डवेयर, एप्लिकेशन सॉफ्टवेयर और यूजर के बीच संबंध स्थापित करता है। यह विभिन्न Application Program को क्रियान्वित नहीं कर सकता है। अधिकांश Operating System के साथ कुछ Application software जैसे - Video Player, Web Browser, Calculator आदि पहले से ही बने होते है।

Operating System के मुख्य कार्य है - 

1. कम्प्युटर को चालू किए जाने पर सॉफ्टवेयर को द्वितीयक मेमोरी से लेकर प्राथमिक मेमोरी मे डालना तथा कुछ मूलभूत क्रियाएँ स्वतः सम्पन्न करना। 

2. हार्डवेयर और यूजर के बीच संबंध स्थापित करना। 

3. हार्डवेयर संसाधनो का नियंत्रण तथा बेहतर उपयोग सुनिश्चित करना। 

4. एप्लिकेशन सॉफ्टवेयर के क्रियान्वयन के लिए पृष्ठभूमि तैयार करना।

5. मेमोरी और फ़ाइल प्रबंधन करना तथा मेमोरी और स्टोरेज डिस्क के बीच डाटा का आदान प्रदान करना। 

6. हार्डवेयर व सॉफ्टवेयर से संबन्धित कम्प्युटर के विभिन्न दोषो को इंगित करना। 

7. कम्प्युटर सॉफ्टवेयर तथा डाटा को अवैध प्रयोग से सुरक्षित रखना तथा इसकी चेतावनी देना।

कुछ प्रमुख ऑपरेटिंग सिस्टम के उदाहरण - 

1. Windows

2. Mac OS

3. Linux. Unix

4. Android OS/ iOS

Operating system के प्रकार - 

A) Batch processing operating system - इसमे एक ही प्रकृति के कार्यो को एक बैच के रूप मे संगठित कर समूह मे क्रियान्वित किया जाता है। इसके लिए Batch Monitor Software का प्रयोग किया जाता है। इस सिस्टम का लाभ यह है की क्रियान्वयन के लिए कम्प्युटर के सभी संसाधन रहते है। अतः समय प्रबंधन की आवश्यकता नहीं पड़ती है।

परंतु इसमे यूजर तथा प्रोग्राम के बीच क्रियान्वयन के दौरान कोई अंतर्संबंध नहीं रहता तथा परिणाम प्राप्त करने मे समय अधिक लगता है। मध्यवर्ती परिणामो पर यूजर का कोई नियंत्रण नहीं रहता है। 

उपयोग - इस सिस्टम का प्रयोग ऐसे कार्यों के लिए किया जाता है। जिसमे मानवीय हस्तक्षेप की आवश्यकता नहीं होती। जैसे - सांख्यिकीय विश्लेषण, बिल प्रिंट करना, Payroll बनाना आदि।

B) Multi programming OS - इस प्रकार के OS मे एक साथ कार्यों को संपादित किया जा सकता है। उदाहरण के लिए किसी एक प्रोग्राम के क्रियान्वयन के बाद जब उसका प्रिंट लिया जा रहा होता है तो प्रोसेसर खाली बैठने के स्थान पर दूसरे प्रोग्राम का क्रियान्वयन आरंभ कर देता है, जिसमे प्रिंटर की आवश्यकता नहीं होती। इससे क्रियान्वयन मे लगने वाला कुल समय कम हो जाता है तथा संसाधनो का बेहतर उपयोग संभव हो पाता है। Multi Programming OS मे प्रोसेसर कई प्रोग्रामो को एक साथ क्रियान्वित नहीं करता है बल्कि एक समय मे एक ही निर्देश को संपादित करता है। एक निर्देश संपादित होने के बाद ही मेन मेमोरी मे स्थित दूसरे कार्य के निर्देश को संपादित किया जाता है। इसके लिए विशेष हार्डवेयर व सॉफ्टवेयर की आवश्यकता होती है। इसमे कम्प्युटर के मुख्य मेमोरी का आकार बड़ा होना चाहिए ताकि मुख्य मेमोरी का कुछ हिस्सा प्रत्येक प्रोग्राम के लिए आबंटित किया जा सके। इसमे प्रोग्राम क्रियान्वयन का क्रम तथा वरीयता निर्धारित करने की व्यवस्था भी होनी चाहिए। 

C) Time Sharing OS - इस OS मे एक साथ कई यूजर जिन्हे Terminal भी कहते है interactive mode पर कार्य करते है जिसमे प्रोग्राम के क्रियान्वयन के बाद प्राप्त परिणाम को तुरंत दर्शाया जाता है। प्रत्येक यूजर को संसाधनों के साझा उपयोग के लिए कुछ समय दिया जाता है जिसे Time slice या Quantum कहते है। Input देने और परिणाम प्राप्त करने के बीच के समय को Turn around Time कहा जाता है। इस समय का उपयोग कम्प्युटर द्वारा अन्य यूजर के प्रोग्रामो के क्रियान्वयन मे किया जाता है।

इस OS मे मेमोरी का सही प्रबंधन आवश्यक होता है। क्योंकि कई प्रोग्राम एक साथ मुख्य मेमोरी मे न रखकर प्रोग्राम क्रियान्वयन का लिए आवश्यक हिस्से को ही मुख्य मेमोरी मे लाया जाता है। इस प्रक्रिया को swapping कहते है।

D) Real time OS - इस OS मे निर्धारित समय सीमा मे परिणाम देने को महत्व दिया जाता है। इसमे एक प्रोग्राम के परिणाम को दूसरे प्रोग्राम मे इनपुट डाटा के रूप मे प्रयोग किया जा सकता है। पहले प्रोग्राम के क्रियान्वयन मे देरी से दूसरे प्रोग्राम का क्रियान्वयन और परिणाम रुक सकता है। अतः इस व्यवस्था मे प्रोग्राम के क्रियान्वयन समय (Response Time) को तीव्र रखा जाता है।

इस OS का उपयोग उपग्रहों का संचालन, हवाई जहाज के नियंत्रण, परमाणु भट्टियों, वैज्ञानिक अनुसंधान, रक्षा, चिकित्सा, रेलवे आरक्षण आदि मे किया जाता है। 

Linux OS Real time OS का उदाहरण है।

E) Single OS - PC के विकास के साथ single OS की आवश्यकता महसूस की गयी जिसमे प्रोग्राम क्रियान्वयन की समय सीमा या संसाधनों के बेहतर उपयोग को वरीयता न देकर प्रोग्राम की सरलता तथा यूजर को अधिक से अधिक सुविधा प्रदान करने पर ज़ोर दिया गया। MS-DOS single OS का उदाहरण है।

a) Single user multitasking OS - इस प्रकार के सिस्टम मे प्रोसेसर द्वारा एक साथ कई कार्य संपादित किए जाते है। इसमे प्रोसेसर अपना कुछ समय सभी चालू प्रोग्राम को देता है तथा सभी प्रोग्राम साथ-साथ संपादित होते है। इसमे अलग अलग कार्यों की प्रगति का विवरण भी स्क्रीन पर देखा जा सकता है । यह Time sharing OS का ही एक प्रकार है। Ms Windows Single user multitasking OS का उदाहरण है।

b) Multi processing OS - इसमे एक साथ दो या अधिक प्रोसेसर को आपस मे जोड़कर उनका उपयोग किया जाता है। इससे कार्य संपादित करने की गति मे वृद्धि होती है। इसमे एक साथ दो अलग-अलग प्रोग्राम के भाग को क्रियान्वित किया जा सकता है। इसे Parallel processing भी कहा जाता है।

F) Multiuser OS - इस OS का प्रयोग नेटवर्क से जुड़े कम्प्युटर सिस्टम मे किया जाता है। इसमे कई यूजर एक ही समय मे कम्प्युटर पर स्थित एक ही डाटा का उपयोग तथा उसका प्रोसेस कर सकते है। Unix, Linux, Windows-7 आदि Multiuser OS के उदाहरण है।

G) Embeded OS - किसी उपकरण के भीतर स्थित प्रोसेसर के प्रयोग के लिए बना OS Embeded OS कहलाता है। यह सॉफ्टवेयर प्रोसेसर के भीतर हो ROM मे स्टोर किया जाता है। Microwave, Washing Machine, DVD Player, Electronic Watch आदि मे इसका प्रयोग किया जाता है। 

H) Open / Closed source OS - Open source OS मे सॉफ्टवेयर का केरनेल या source code सबके लिए उपलब्ध होता है और कोई भी अपनी आवश्यकता के अनुसार परोवर्तन कर उसका प्रयोग कर सकता है। इस OS पर किसी का अधिकार नहीं होता और न ही यूजर द्वारा कोई शुल्क चुकाना पड़ता है। Closed source OS मे उसका source code गुप्त रखा जाता है तथा यूजर निर्धारित शुल्क चुका कर ही इस सॉफ्टवेयर का उपयोग कर सकता है। Linux एक Open source OS है जबकि windows माइक्रोसॉफ़्ट कंपनी का Closed source OS है। smartphone मे प्रयुक्त Google का android OS एक Open Source OS है जबकि Apple कंपनी का iPhone OS एक closed source OS है। 

2. Language Translator - कम्प्युटर एक इलेक्ट्रोनिक मशीन है जो केवल बाईनरी अंको को समझ सकता है। बाइनरी अंको मे लिखे निर्देश या सॉफ्टवेयर प्रोग्राम को machine language कहा जाता है। कम्प्युटर Machine Language मे लिखे प्रोग्राम को समझ कर run कर सकता है। परंतु मशीन भाषा मे प्रोग्राम या सॉफ्टवेयर को तैयार करना कठिन काम होता है साथ ही प्रत्येक कम्प्युटर प्रोसेसर की अपनी एक अलग मशीन भाषा होती है जो प्रोसेसर बनाने वाली कंपनी पर निर्भर करती है। इससे बचने के लिए सॉफ्टवेयर प्रोग्राम को High level Language मे तैयार किया जाता है तथा Language translator द्वारा Machine Language मे बदला जाता है। Language translator को language processor software भी कहा जाता है।

High level language आम बोलचाल की भाषा के करीब होती है। अतः इस भाषा मे प्रोग्राम तैयार करना अपेक्षाकृत आसान होता है साथ ही High level language  प्रोसेसर की कंपनी तथा उसके मॉडल पर निर्भर करती है। High level language मे तैयार प्रोग्राम को Language translator द्वारा मशीन भाषा मे परिवर्तित कर किसी भी कम्प्युटर पर चलाया जा सकता है। High level language मे तैयार किया गया प्रोग्राम source code कहलाता है। जबकि Translator software द्वारा मशीन भाषा मे परिवर्तित प्रोग्राम Object program या Machine code कहलाता है। सामान्यतः OS सॉफ्टवेयर Low level language मे लिखा जाता है। जबकि Application या Utility software High level language मे तैयार किया जाता है।

Language translator software तीन प्रकार के होते है - 

a) Assembler

b) Compiler

c) Interpreter

A) Assembler - यह एक सॉफ्टवेयर प्रोग्राम है, जो assembly या Low level language मे लिखे गए प्रोग्राम को Machine language मे परिवर्तित करता है। Assembler software कम्प्युटर निर्माता कंपनीयों द्वारा उपलब्ध कराया जाता है तथा हार्डवेयर या प्रोसेसर के प्रकार पर निर्भर करता है। अतः प्रत्येक प्रोसेसर का Assembler प्रोग्राम अलग-अलग हो सकता है। Assembler software, Assembly language मे लिखे प्रोग्राम के source code को मशीन या object code मे बदलता है। यह मशीन कोड को एक स्थान पर इकट्ठा करता है तथा उसे कम्प्युटर मेमोरी मे स्थापित कर run करने के लिए तैयार करता है।

B) Compiler - यह एक language translator software है। जो उच्च स्तरीय भाषा मे तैयार किए गए प्रोग्राम को machine language मे परिवर्तित करता है। compiler पूरे प्रोग्राम की सभी गलतियों को उनके line के क्रम मे एक सूचित करता है। जब सभी गलतियाँ दूर हो जाती है तो प्रोग्राम संपादित हो जाता है तथा मेमोरी मे source program की कोई आवश्यकता नहीं होती प्रत्येक high level language के लिए अलग compiler software होता है। compiler उच्च स्तरीय भाषा के प्रत्येक निर्देश को मशीन भाषा निर्देश मे संकलित करता है। compiler पूरे source program या source code को object program/code मे बदलकर उसे मेमोरी मे स्टोर करता है, परंतु run नहीं करता है। इसके पश्चात program को object code द्वारा क्रियान्वित किया जाता है। इस तरह एक बार compile हो जाने के बाद प्रोग्राम को क्रियान्वित करने के लिए compiler software की जरूरत नहीं होती।

C) Interpreter - Compiler की तरह interpreter भी एक language translator software है। interpreter सॉफ्टवेयर High level language मे परिवर्तित कर उसे क्रियान्वित करता है। इंटरप्रेटर High level language मे तैयार किए गए प्रोग्राम के प्रत्येक लाइन को एक एक कर मशीन भाषा मे परिवर्तित करता है। यह प्रोग्राम के एक लाइन का मशीन भाषा मे अनुवाद कर लेने के पश्चात उसे run भी करता है। यदि इस लाइन के क्रियान्वयन मे कोई गलती हो तो उसे उसी समय इंगित करता है तथा संशोधन बाद ही अगली लाइन को मशीन भाषा मे परिवर्तित करता है। स्पष्टतः इंटरप्रेटर का आउटपुट object program न होकर software execution का परिणाम होता है। अतः प्रत्येक बार software को execution के दौरान interpreter से होकर गुजरना पड़ता है। इस कारण interpreter software का मेमोरी मे बना रहना आवश्यक होता है। compiler की अपेक्षा इंटरप्रेटर के प्रयोग से software तैयार करना आसान होता है। चूँकि इंटरप्रेटर एक-एक लाइन कर प्रोग्राम की गलतियों को इंगित करता है। अतः इंटरप्रेटर द्वारा प्रोग्राम मे सुधार करना आवश्यक होता है।




Post a Comment

0Comments

Post a Comment (0)