सिस्टम सॉफ्टवेयर पैकेजेस को निम्न प्रकार से वर्गीकृत किया जा सकता है:-
- ऑपरेटिंग सिस्टम
- एसेम्बलर्स
- कम्पाइलर्स
- इंटरप्रिंटर्स
ऑपरेटिंग सिस्टम मास्टर कंट्रोल प्रोग्राम है जो कंप्यूटर को चलाता है और एक Scheduler की तरह कार्य करता है। यह सिग्नल्स को फ्लो को CPU से कंप्यूटर के विभिन्न भागों तक कंट्रोल करते हैं। कंप्यूटर के स्विच ऑन होने के बाद यही पहला प्रोग्राम होता है जो कंप्यूटर की मेमोरी में लोड (कॉपी) होता है। लोकप्रिय आप्रेटिंग सिस्टम में MS-DOS. OS/2, Windows और Unix शामिल है। Macintosh, Finder और Multifinder का प्रयोग करते हैं। डिजिटल सिस्टम VMS और Ultrix ऑपरेटिंग सिस्टम का प्रयोग करते हैं। IBM मेनफ्रेम कंप्यूटर MVS, VM या DOS/VSE ऑपरेटिंग सिस्टम का प्रयोग करते हैं।
👉 ऑपरेटिंग सिस्टम कंप्यूटर सिस्टम का एक महत्वपूर्ण कंपोनेंट्स होता है,क्योंकि यह ऑन एप्लीकेशन प्रोग्राम्स जो इस पर चलते हैं, इसलिए स्टैंडर्ड्स सैट करता है। सभी प्रोग्राम इस तरह लिखे होने चाहिए जिससे ये ऑपरेटिंग सिस्टम से बात कर सके।
ऑपरेटिंग सिस्टम इस प्रकार कार्य करते हैं :-
- जॉब मैनेजमेंट (Job Management)
- टास्क मैनेजमेंट (Task Management)
- डाटा मैनेजमेंट (Data Management)
- सिक्योरिटी (Security)
- बूट स्ट्रैप (Boot Strap)
जॉब मैनेजमेंट (Job Management)
छोटे कंप्यूटर में ऑपरेटिंग सिस्टम यूजर से मिले हुए कमांड्स को Respond करता है, और एक्जीक्यूशन के लिए मनचाहे एप्लीकेशन प्रोग्राम को लोड करता है। एक बड़े कंप्यूटर में ऑपरेटिंग सिस्टम जॉब कंट्रोल (JCL) का संचालन करता है, जिन्हें प्रोग्राम्स के मिक्सर रुप में वर्णित किया जा सकता है जो पूरी शिफ्ट के लिए चल सके।
टास्क मैनेजमेंट (Task Management)
सिंगल टास्किंग कंप्यूटर्स में, ऑपरेटिंग सिस्टम के पास वास्तव में करने के लिए कोई टास्क का मैनेजमेंट नहीं होता है, लेकिन मल्टीटास्किंग कंप्यूटर्स में यह एक या अधिक प्रोग्राम्स (Jobs) के लगातार होने वाले कार्य के लिए जिम्मेदार रहता है। एडवांस्ड ऑपरेटिंग सिस्टम्स में यह क्षमता होता है कि यह प्राथमिकता दे सकें और इंटरैक्टिव प्रोग्राम्स को सबसे पहली प्राथमिकता दी जाती है। ऐडवांस्ड ऑपरेटिंग सिस्टम्स में अधिक फाइन - ट्यूनिंग क्षमताएँ होती है जिससे एक विशेष कार्य को कंप्यूटर ऑपरेटर से दिए गए कमांड द्वारा या तो तेज किया जा सकता है अथवा धीरे धीरे भी किया जा सकता है। मल्टीटास्किंग को करने के लिए कंप्यूटर को इस तरह से डिजाइन किया जाता है ताकि यह डाटा के कंप्यूटर में आने और इसे प्रदर्शित करते समय एग्जीक्यूटिव होने वाले निर्देशों की अनुमति दे सके।
डाटा मैनेजमेंट (Data Management)
ऑपरेटिंग सिस्टम एक अहम कार्य है डाटा को ट्रैक रखना। जिससे DOS नाम पड़ा अर्थात ऑपरेटिंग सिस्टम। एप्लीकेशन प्रोग्राम को पता नहीं होता है कि डाटा वास्तव में कहां पर स्टोर किया गया है यही से कैसे पाना है। यह ज्ञान, ऑपरेटिंग सिस्टम के एक्सेस के तरीके में या डिवाइस ड्राइवर रूटीन्स में होता है। जब एक प्रोग्राम को डिलीवर करता है इसके विपरीत जब प्रोग्राम आउटपुट के लिए तैयार होता है। तो ऑपरेटिंग सिस्टम प्रोग्राम में से डाटा को, डिस्क में अगली उपलब्ध जगह पर ट्रांसफर कर देता है
सिक्योरिटी (Security)
मल्टीयूजर ऑपरेटिंग सिस्टम ऑथराइज्ड (Authorised Users) कि एक लिस्ट और मेंटेन करते हैं और Unauthorised Users के खिलाफ पासवर्ड प्रोटेक्शन प्रदान करते हैं। ये Unauthorised यूजर्स कंप्यूटर सिस्टम में प्रवेश करना चाहते हैं। बड़े ऑपरेटिंग सिस्टम में भी Purpose से एक्टिविटी Logs औरत यूजर्स के समय की अकाउंटिंग को मेंटेन करते हैं। यह सिस्टम फेल्योर कि स्थिति में बैकअप (Backup) और रिकवरी रूटीन्स (Recovery Routines) भी प्रदान करते हैं जिससे फिर से सब कुछ शुरू किया जा सके।
बूट स्ट्रैप प्रोग्राम (Boot Strap Program)
बूट का अर्थ है स्टार्ट या कंप्यूटर सिस्टम को रेडी करना जिससे यह हमारे निर्देशों को ले सके। 'बूट' (Boot) शब्द बूट स्ट्रैप (Boot strap) मैं से आया है। जिस तरह बूटस्ट्रैप आपको अपना ऑन करने में मदद करते हैं; उसी तरह कंप्यूटर की बूटिंग में भी इसे इसके ROM ( रीड ओन्ली मेमोरी) के निर्देशों को इसकी मेन मेमोरी में लोड करने में मदद करता है पर्सनल कंप्यूटर में ROM चीप में एक छोटी बूट स्ट्रैप रूटीन होता है जो ऑटोमैटिक रूप से एक्जीक्यूट हो जाता है जब कंप्यूटर को ऑन या रीसैट किया जाता है। बूट स्ट्रैप रूटीन ऑपरेटिंग सिस्टम को ढूंढती है, इसे लोड करता है और फिर इस पर कंट्रोल पास कर देता है आप अपने कंप्यूटर सिस्टम को दो तरह से बूट कर सकते हैं; एक कोल्ड बूटिंग (Cold Booting) कहलाती है, जब कंप्यूटर पहले से ही ऑन होता है और उसे रीसैट किया जाता है। वो पर्सनल कंप्यूटर्स जिसमें सिंगल टास्किंग ऑपरेटिंग सिस्टम (Single tasking operating systems) का प्रयोग होता है, क्रैश होने के बाद यह आमतौर पर जरुरी होता है कि कंप्यूटर को रिसैट किया जाए। उदाहरण के लिए IBM PC कम्पैटिबल मशीन्स में,आप वॉर्म बूटिंग, Ctrl+Alt+Delete keys को एक साथ दबा कर कर सकते हैं इस तरीके से यहां इनिशियल चैक्स (initial checks) जैसे मेमोरी चैक्स आदि नहीं करता है, जो यह तभी करता है जब इसे पहली बार स्विच ऑन किया जाता है।
एसेम्बलर्स (Assemblers)
एक प्रोग्राम जो एक असेंबली लैंग्वेज प्रोग्राम को मशीन लैंग्वेज प्रोग्राम में ट्रांसलेट करता है असेंबलर कहलाता है एक असेंबलर जो एक ऐसे कंप्यूटर पर चलता है जिसके लिए यह ऑब्जेक्ट कोड (मशीन कोड) प्रस्तुत करता है, सेल्फ असेंबलर (या रिजेक्टेड असेंबलर) कहा जाता है। एक काम पॉवरफुल और सस्ते कंप्यूटर में हो सकता है की पर्याप्त सॉफ्टवेयर और हार्डवेयर कि सुविधा, प्रोग्राम डेवलपमेंट और कनविनिएंट असेंबली के लिए न हो। इस परिस्थिति में एक तेज और पावरफुल कंप्यूटर को प्रोग्राम डेवलपमेंट के लिए इस्तेमाल किया जाता है। इस तरह से डेवलप किया गए प्रोग्राम्स छोटे कंप्यूटर पर चलाए जाते हैं। इस तरह के प्रोग्राम डेवलपमेंट में एक क्रास असेंबलर की जरूरत होती है। एक क्रास असेंबलर एक असेंबलर है जो एक ऐसे कंप्यूटर पर चलता है जो उससे अलग होता है और जो मशीन कोड प्रस्तुत करता है।
कॉम्प्लीर्स (Compilers)
एक प्रोग्राम जो एक हाई लेवल लैंग्वेज प्रोग्राम को मशीन लैंग्वेज प्रोग्राम में ट्रांसलेट (translate) करता है, कॉम्पइलर कहलाता है। एक कम्पाइलर, एक असेंबलर से ज्यादा बुद्धिमान होता है। यहां सभी तरह की लिमिट्स (limits), रेंजेस (ranges),एरर्स (errors), आदि को चैक करता है। लेकिन इसका प्रोग्राम एक्जीक्यूशन टाइम ज्यादा है और यह मेमोरी का बड़ा हिस्सा Occupy करता है। इसका स्पीड कम होता है और इसकी मेमोरी यूटीलाइज़ (utilize) करने की कुशलता भी कम होता है। यदि एक कम्पाइलर एक ऐसे कंप्यूटर पर चलता है जिसके लिए यह ऑब्जेक्ट कोड प्रस्तुत करता है, तो इसे सेल्फ या
रेजिडेंट कम्पाइलर कहा जाता है।
👉 यदि एक कम्पाइलर एक ऐसे कंप्यूटर पर चलता है, जो उससे अलग होता है जिसके लिए यहां ऑब्जेक्ट कोड प्रस्तुत करता है, जब इसे एक क्रास कम्पाइलर कहा जाता है।
इंटरप्रिटर्स (Interpreters)
👉 कम्पाइलर इंटरप्रिटर की अपेक्षा करीब 5 से 25 गुना तेज होता है। इंटरप्रिटर कम्पाइलर की तुलना में एक छोटा प्रोगाम होता है।