Program – किसी क्रम में लिखे गये निर्देषो के समुह को प्रोग्राम कहते हैं । यह प्रोग्राम किसी भाषा में लिखे जाते हैं। अतः किसी प्रोग्राम को लिखने के लिए किसी भाषा का ज्ञान आवष्यक हैं। Computer Program किसी एक फाइल में लिखे जाते हैं। तथा कम्प्यूटर उसी फाईल को Execute करता हैं User द्वारा High Level Language में लिखे गये कोड को Source Code कहते हैं। इस Source Code को Computer Software द्वारा मषीन कोड में Convert किया जाता हैं जिसे Object Code कहते हैं ।
Software – Computer में प्रयोग आने वाले प्रोग्राम के समुह को Software कहते हैं । कम्प्यूटर Hardware को संचालित करने के लिए User द्वारा निर्देष देने की विधि Software के रूप में होती हैं । Software User तथा Machine के बीच Interface का काम करते हैं। कम्प्यूटर में प्रोग्राम को लिखकर हम अनेक कार्यो को बार – 2 दोहरा सकते हैं।
Type of Software
System Software
1. Operating System
2. Utility Program
3. Sub Routines
4. Diagnostic Routines
Application Software
1. General Purpose
2. Special Purpose
Utility Software
1. Antivirus
2. Backup
1. System Software – ऐसे प्रोग्राम का समूह जो कम्प्यूटर सिस्टम की क्रियाओ के नियंत्रित करता हैं “System Software” कहलाते हैं ये ऐसे प्रोग्राम होते हैं जो User को कम्प्यूटर सिस्टम पर कार्य करने में सहायता प्रदान करते हैं । System Software Computer में Machine Level पर चलते हैं। सभी Application Software, System Software की सहायता से ही रन किए जा सकते हैं। अतः System Software Application Software का आधार होता हैं ।
Example – Operating System, Utility Program, Subroutines, Translators
System Software के कार्य
Input/Output Process को Handle करना
सभी Peripheral Devices जैसे Printer, Monitor, Disk आदि में परस्पर सम्पर्क स्थपित करना
Memory Management करना
Scheduling करना ।
(A) Operating System – Operating System एक Master Control Program होता हैं जो कम्प्यूटर का संचालन करता हैं। तथा एक नियंत्रक की भूमिका निभाता हैं। यह एक कम्प्यूटर Control Program हैं। जिस तरह Traffic Police अपने क्षेत्र के Traffic का नियंत्रण करता है उसी प्रकार Operating System भी कम्प्यूटर पर नियंत्रण करता हैं । यह फाईलों पर नियंत्रण रखने में मदद करता हैं तथा विभिन्न Hardware Device जैसे Printer, Monitor आदि की भी जांच करता हैं । Operating System ऐसा प्रोग्राम हैं जो P.C. को निर्देष देता हैं कि उसके विभिन्न अंगो के साथ कैसे कार्य किया जाए । Operating System में हर विषिष्ट कार्य के लिए अलग- 2 निर्देष होते हैं। इन्हीं निर्देषें के द्वारा Operating System User से Interface करता हैं। Operating System अन्य सभी Application Program को कम्प्यूटर में Execute करने में सहायता प्रदान करता हैं। अर्थात् सभी प्रोग्राम कम्प्यूटर मषीन के सम्पर्क में आने से पहले Operating System के सम्पर्क में आते हैं।
Functions Operating System के कार्य – Operating System का महत्वपूर्ण कार्य नियंत्रण व प्रबंधन हैं। बड़े कम्प्यूटर जिनमें एक से अधिक User एक साथ कार्य करते हैं वहां Operating System Computer संसाधनों का आवंटन User की आवष्यकतानुसार करता हैं। जिस प्रकार मानव शरीर में रक्त शरीर की सभी क्रियाओं के संचालन महत्वपूर्ण हैं उसी प्रकार Operating System Computer के लिए महत्वपूर्ण होता हैं | Operating System के महत्वपूर्ण कार्य निम्न हैं :-
(1) Processor Manager Program – के निर्देषो को C.P.U. में भेजने का कार्य Operating System करता हैं । यह C.P.U. के समय को भी सभी प्रोग्राम के बीच बराबर बांटता हैं। जिसे हम Round Robin Mathod कहते हैं ताकि सभी Program Process हो सकें ।
(2) Memory Manager – Operating System यह भी ध्यान रखता हैं कि कोई भी प्रोग्राम जब Input Output करे तो वह डाटा तथा Information को अपने निर्धारित स्थान पर स्टोर करे ताकि दूसरे प्रोग्राम भी सुचारू रूप से काम करे। अतः किस डाटा को कहां स्टोर करना हैं तथा उसके Storage के लिए कितनी Memory Allocate करनी हैं यह काम Operating System करता हैं ।
(3) Input-Output Management – Input Unit से डाटा को रीड करके मेमोरी में उचित स्थान पर स्टोर करने के बाद उससे प्राप्त Output को Oputput Unit तक पहुंचाने का कार्य भी Operating System ही करता हैं ।
(4) File Management – इसके अन्तर्गत विभिन्न फाईलों को स्टोर किया जाता हैं। तथा उन फाईलों को कहां स्थनान्तरित करना हैं। यह कार्य भी Operating System करता हैं यह इस बात की भी स्वीकृती प्रदान करता हैं कि आप फाइलों को बदल दे या उनमें परिवर्तन कर सके ।
(5) Communication – Operating System Computer User Communication Path स्थापित करता हैं। अर्थात् यह User तथा मषीन के बीच Interface का काम करता हैं। Networking में Operating System एक Computer से दूसरे Computer तक सूचनाओं को भेजने का कार्य भी सम्पन्न करता हैं।
(6) Data Security – सुरक्षा व एकता का निर्माण करता हैं जिससे विभिन्न प्रोग्राम तथा डाटा के बीच कोई मतभेद पैदा न हो। अर्थात् प्रोग्राम में पड़े डाटा आपस में इक्टठे नहीं होते हैं।
(7) Job Priority – इसमें यह निर्धारित किया जाता हैं कि कौनसा कार्य अन्य कार्यों से पहले किया जाये । यह Job Priority घटते हुए क्रम में होती हैं ।
(8) संसाधनो व कार्यो का अनुसूची बनाना – Operating System यह निर्णय करता हैं कि Device का उपयोग किस कार्य के लिए होना चाहिए। Operating System उन प्रोग्राम का क्रम भी निर्धारित करता हैं जो उसके द्वारा Process किए जायेगें। C.P.U. के कार्य करने की गति Input Device के कार्य करने के गति से बहुत अधिक होती हैं । इस गति की असमानता को व्यवस्थित भी Operating System करता हैं | Input-Output क्रियाओं के दौरान C.P.U. को अनेक कार्य सौपता हैं जिससे C.P.U. का समुचित उपयोग हो सके।
(9) गतिविधीयों का संचालन – प्रक्रिया के दौरान Operating System Computer System की गतिविधयों का ध्यान रखता हैं ।
(10) विभिन्न Error Message का निर्माण करना।
Operating System के प्रकार
(1) Single User Operating System
(2) Single User Multitasking Operating System
(3) Multiuser Operating System
(4) Network Operating System
(1) Single User Operating System – इस प्रकार के Operating System में एक बार में केवल एक प्रोग्राम ही क्रियान्वित होता हैं। तथा एक समय में केवल एक व्यक्ति ही कम्प्यूटर पर कार्य कर सकता हैं । अर्थात् एक से अधिक कम्प्यूटर को जोड़कर एक से अधिक व्यक्ति द्वारा कार्य नहीं किया जा सकता हैं। जैसे MS-DOS
(2) Single User Multitasking Operating System – इस तरह के Operaing System में एक User एक समय में एक से अधिक प्रोग्राम को Open कर सकता हैं । अर्थात् किसी दूसरे प्रोग्राम को Open करने के लिए पहले वाले प्रोग्राम को बंद करना जरूरी नहीं होता हैं जैसे :- Window 95, 98 etc.
(3) Multi User Operating System – ऐसा Operating System जिसमें एक समय में एक से अधिक User काम कर सकते हैं। यह Client Server पर आधारित हैं। इसमें Server पर अन्य सभी कम्प्यूटर की सूचनाऐं Save रहती हैं। इसमें जुड़े दूसरे कम्प्यूटर (Terminals) कहलाते हैं सभी प्रोग्राम व फाईल मुख्य कम्प्यूटर में Save रहती हैं। तथा उनका आदान-प्रदान Server की सहायता से किया जाता हैं। जैसे : = UNIX, Window 2000.
(4) Networking Operating System – ऐसा Operating System जो दो या दो से अधिक कम्प्यूटर को आपस में जोड़ता हैं Networking Operating System कहलाता हैं। जैसे – WIN NT, NOVELL – NETWARE
Concepts of Operating System (अवधारणाएं)
(1) Multi Programming
(2) Multi Processing
(3) Batch Processing
(1) Multi Programming – जब कोई प्रोग्राम Input Output माध्यम को कोई आदेष देता हैं तो C.P.U. आदेष पूरा होने की प्रतीक्षा करता हैं तथा उस आदेषानुसार कार्य करना प्रारम्भ कर देता हैं। कोई भी डाटा प्राप्त होने पर C.P.U. उसकी तेज गति से Processing करता हैं तथा Output Device की गति C.P.U. की गति से धीमी होती हैं । अतः अधिकांष समय C.P.U. Input- Output प्रक्रिया पूरी होने की प्रतीक्षा करता रहता हैं। इसलिए एक प्रकार से C.P.U. की गति धीमी पड़ जाती हैं तथा उसका अधिक उपयोग नहीं हो पाता । कम्प्यूटर का अधिकतम उपयोग करने के लिए Multi Programming का विकास किया गया। यह एक प्रारूप हैं जो प्रायः किसी भी Operating System में उपलब्ध रहता हैं ।
मुख्य मेमोरी में स्टोर दो या दो से अधिक प्रोग्राम के क्रियान्वयन को Multi Programming कहा जाता हैं अर्थात् एक C.P.U. एक से अधिक प्रोग्राम के निर्देषों को एक साथ Execute करता हैं । चूंकि C.P.U. एक समय में केवल एक निर्देष पर ही कार्य कर सकता हैं वह दो या दो से अधिक प्रोग्राम के निर्देषों को क्रियान्वित कर सकता हैं यद्यपि पहले प्रथम प्रोग्राम के निर्देष का क्रियान्वयन करता हैं। इसके बाद दूसरे निर्देष का इसके बाद पुन: पहले प्रोग्राम के अगले निर्देष का क्रियान्वन करता हैं। इसे Concurrent Programming कहते हैं।
इस प्रक्रिया में जब किसी प्रकार के प्रोग्राम के निर्देष Input Output उपकरण पर कार्य करते हैं तब तक Processor दूसरे प्रोग्राम के निर्देष लेना प्रारम्भ कर देता हैं। इस प्रकार इस विधि में कम्प्यूटर की सारी यूनीट एक साथ कार्य करती हैं जिससे सम्पूर्ण कम्प्यूटर प्रणाली का पूर्णतया उपयोग होता हैं तथा डाटा Processing की स्पीड बढ़ जाती हैं।
1. Multi Programming के अर्न्तगत प्रत्येक प्रोग्राम के लिए वरीयता क्रम निर्धारित होता हैं अर्थात् कौनसा प्रोग्राम पहले क्रियान्वित होगा यह पूर्व निर्धारित हैं। यदि यह पूर्व निर्धारित न हो तो Data Processing के परिणाम सही नहीं आएगें । जिस प्रोग्राम के क्रियान्वन की उच्च प्राथमिकता हैं उसे अग्रिम पंक्ति के Partition में रखा जाता हैं। जिसे Foreground Partition कहते हैं या जिसकी निम्न प्राथमिकता होती हैं वह पिछली पंक्ति की Partition कहा जाता हैं जिसे Backorground Partition कहते है
(2) Multiprocessing – Multi Processing शब्द का प्रयोग ऐसे Processing दृष्टिकोण को स्पष्ट करने के लिए किया जाता हैं जब दो या दो से अधिक प्रोसेसर एक दूसरे से जुड़े होते हैं। इस प्रकार के सिस्टम में किसी एक बड़े प्रोग्राम के विभिन्न निर्देष अथवा एक से अधिक प्रोग्राम के निर्देष एक साथ एक से अधिक प्रोसेसर के द्वारा क्रियान्वित किये जाते हैं। यह Operating System का ही कार्य हैं कि वह Input-Output तथा Processing क्षमताओं के बीच अच्छा तालमेल स्थापित करें।
Multi Processing से कम्प्यूटर की कार्य क्षमता में वृद्धि होती हैं तथा कोई C.P.U. खराब हो जाए तो कार्य दूसरे C.P.U. पर स्थानान्तरित करके किया जा सकता हैं। इस तकनीक में बड़े प्रोग्राम को विभिन्न पार्ट में बांट कर के अलग- 2 C.P.U. पर अलग–2 Parts को Process किया जाता हैं तथा अंत में अलग – 2 Result प्राप्त किया जाता हैं। इसके कारण बड़े से बड़ा प्रोग्राम भी कम समय में Process हो जाता हैं।
Multi Processing Advantage Performance बढ़ जायेगी । जो काम अधिक समय लेता था । वह कम समय में हो जाएगा। क्योकि Parallel Processing काम में ली जाती हैं।
(3) Batch Processing – Batch Processing एक Off Line तरीके से कार्य करने का पुराना तरीका हैं। यह अवधारणा अधिकांष Operating System द्वारा उपयोग में ली जाती हैं। इस प्रकार की Processing में प्रत्येक User अपने प्रोग्राम को Off Line तैयार करता हैं तथा कार्य पूरा हो जाने पर उसे Data Processing Center पर जमा करा देता हैं। उस Center पर उपस्थित कम्प्यूटर ऑपरेटर उन सारे डाटा को एक बैच के रूप में एकत्रित कर लेता हैं तथा उसके बाद उस बैच को कम्प्यूटर में लोड करके क्रियान्वित किया जाता हैं। क्रियान्वयन के पष्चात् प्राप्त परिणाम को Printed Output के रूप में प्राप्त कर लिया जाता हैं। तथा संबंधित user को Output भेज दिया जाता हैं | Batch Processing को Serial, Sequential, Off line Processing भी कहते हैं। जब इस तकनीक को उपयोग में लिया जाता हैं तब Input Data एकत्रित करने के लिए ऑपरेटर के हस्तक्षेप की आवष्यकता नहीं होती हैं। इसे कई कार्य एक-एक करके क्रियान्वित किये जाते हैं ।
अतः संक्षेप में Batch Processing में पहले सारा डाटा ऑफ लाईन करके Collect किया जाता हैं। जिसमें C.P.U का उपयोग नहीं होता। सारा डाटा एकत्रित हो जाने के बाद इन्हें एक साथ कम्प्यूटर में Input करके Processing की जाती हैं।
(B) Utility Programs – ये Program भी Computer के निर्माताओं द्वारा उपलब्ध कराये जाते हैं। क्योंकि लगभग समस्त Processing कार्यों में इनका प्रयोग होता हैं। इनमें कुछ परिपूर्ण प्रोग्राम हो सकते हैं या किसी Application Program के Compilation में सहायक होते हैं । ये ऐसे प्रोग्राम हैं जो कुछ कार्यों को पूरा करने में Operating System की मदद करते हैं । Utility Program द्वारा निम्नलिखित कार्य सम्पन्न किए जा सकते हैं।
(1) Data की आवष्यकतानुसार Storing करना ।
(2) Output की Editing करना।
(3) Storage Device पर स्टोर डाटा को किसी अन्य माध्यम पर Transfer करना।
(C) Subroutines – Subroutines निर्देषों का समूह होते हैं जो प्रोग्राम में अनेक बार प्रयुक्त होते हैं। इसे एक बार सदैव के लिए लिखना कम खर्चीला होता हैं तथा Debuging में भी कम समय लगता हैं। इससे प्रोग्राम की साईज भी छोटी हो जाती हैं जिससे उस प्रोग्राम को समझने में आसानी होती हैं। इन Subroutines को कॉल किया जाता हैं । Execution होते समय Control उस कॉल की गई जगह से उस Subroutines पर चला जाता हैं तथा वहां के Statement Execute होते हैं । Subroutines का Execution पूरा होते ही Control वापस Main Program में Subroutines के आगे वाले Statement पर आ जाता हैं।
(D) Diagonstic Routines. इस प्रकार के प्रोग्राम भी कम्प्यूटर निर्माताओं द्वारा ही बनाए जाते हैं। ये प्रोग्राम किसी Application Program के परीक्षण का कार्य करते हैं तथा इनमें Error ढूंढकर Debugging करने में सहायता करते हैं।
(E) Translator Program – Computer विभिन्न High Level Language जैसे Basic, FORTRAN आदि को नहीं समझता हैं अतः Programmer द्वारा इन भाषाओं में लिखे प्रोग्राम को मषीन भाषा में Convert कराना पड़ता हैं। वे प्रोग्राम जो एक भाषा के प्रोग्राम को दूसरी भाषा के प्रोग्राम में परिवर्तित करते हैं । Translator Program कहलाते हैं Object program M/c language program
यूटिलिटी सॉफ्टवेर Utility Software- ऐसे सॉफ्टवेयर है जिसके माध्यम से कंप्यूटर को मेंटेनेस किया जाता है |
जैसे एंटीवायरस, बैकअप प्रोग्राम, फाइल मेनेजर, डाटा कोम्प्रेसन, डिस्क फ्रेगमेंट, डिस्क क्लीन, डिस्क फोर्मेटिंग, इत्यादि |