अध्याय 01 कंप्यूटर प्रणाली
1.1 कंप्यूटर सिस्टम का परिचय
कंप्यूटर एक इलेक्ट्रॉनिक उपकरण है जिसे डेटा (इनपुट) को स्वीकार करने, उसे प्रोसेस करने और परिणाम (आउटपुट) उत्पन्न करने के लिए प्रोग्राम किया जा सकता है। एक कंप्यूटर के साथ अतिरिक्त हार्डवेयर और सॉफ्टवेयर को मिलाकर कंप्यूटर सिस्टम कहा जाता है।
एक कंप्यूटर सिस्टम मुख्य रूप से एक सेंट्रल प्रोसेसिंग यूनिट (CPU), मेमोरी, इनपुट/आउटपुट डिवाइसेज और स्टोरेज डिवाइसेज से बना होता है। ये सभी कंपोनेंट एक सिंगल यूनिट के रूप में साथ काम करते हैं ताकि वांछित आउटपुट दिया जा सके। एक कंप्यूटर सिस्टम विभिन्न रूपों और आकारों में आता है। यह एक हाई-एंड सर्वर से लेकर पर्सनल डेस्कटॉप, लैपटॉप, टैबलेट कंप्यूटर या स्मार्टफोन तक हो सकता है।
चित्र 1.1 एक कंप्यूटर सिस्टम का ब्लॉक डायग्राम दिखाता है। निर्देशित रेखाएं कंपोनेंट्स के बीच डेटा और सिग्नल के प्रवाह को दर्शाती हैं।
चित्र 1.1: कंप्यूटर सिस्टम के कंपोनेंट्स
“एक कंप्यूटर को तभी बुद्धिमान कहा जाना चाहिए अगर वह इंसान को यह विश्वास दिला सके कि वह इंसान है।”
$\quad$ -एलन ट्यूरिंग
1.1.1 सेंट्रल प्रोसेसिंग यूनिट (CPU)
यह कंप्यूटर की इलेक्ट्रॉनिक सर्किट्री है जो वास्तविक प्रोसेसिंग करती है और आमतौर पर इसे कंप्यूटर का मस्तिष्क कहा जाता है। इसे सामान्यतः प्रोसेसर भी कहा जाता है। भौतिक रूप से, CPU एक या अधिक माइक्रोचिप्स पर स्थित हो सकती है जिन्हें इंटीग्रेटेड सर्किट्स (IC) कहा जाता है। ICs अर्धचालक सामग्रियों से बने होते हैं।
CPU को प्रोग्राम्स के माध्यम से निर्देश और डेटा दिया जाता है। CPU तब मेमोरी से प्रोग्राम और डेटा लाता है और दिए गए निर्देशों के अनुसार अंकगणितीय और तर्क संचालन करता है और परिणाम को वापस मेमोरी में संग्रहित करता है।
प्रोसेसिंग के दौरान, CPU डेटा और निर्देशों को अपनी स्थानीय मेमोरी जिसे रजिस्टर्स कहा जाता है, में संग्रहित करता है। रजिस्टर्स CPU चिप का हिस्सा होते हैं और इनका आकार और संख्या सीमित होती है। विभिन्न रजिस्टर्स डेटा, निर्देशों या मध्यवर्ती परिणामों को संग्रहित करने के लिए उपयोग किए जाते हैं।
रजिस्टर्स के अलावा, CPU के दो मुख्य घटक होते हैं - अंकगणितीय तर्क इकाई (ALU) और नियंत्रण इकाई (CU)। ALU सभी अंकगणितीय और तर्क संचालन करता है जो प्रोग्राम में निर्देश के अनुसार करने की आवश्यकता होती है। CU क्रमिक निर्देश निष्पादन को नियंत्रित करता है, निर्देशों की व्याख्या करता है और डेटा प्रवाह को कंप्यूटर की मेमोरी, ALU और इनपुट या आउटपुट डिवाइसों के माध्यम से मार्गदर्शन करता है। CPU को सामान्यतः माइक्रोप्रोसेसर भी कहा जाता है। हम इसके बारे में अधिक अनुभाग 1.5 में पढ़ेंगे।
1.1.2 इनपुट डिवाइस
जिन उपकरणों के माध्यम से नियंत्रण संकेत कंप्यूटर को भेजे जाते हैं, उन्हें इनपुट डिवाइसेज़ कहा जाता है। ये उपकरण इनपुट डेटा को डिजिटल रूप में परिवर्तित करते हैं जो कंप्यूटर सिस्टम द्वारा स्वीकार्य होता है। इनपुट डिवाइसेज़ के कुछ उदाहरणों में कीबोर्ड, माउस, स्कैनर, टच स्क्रीन आदि शामिल हैं, जैसा कि चित्र 1.2 में दिखाया गया है। दृष्टिहीन लोगों की सहायता के लिए विशेष रूप से डिज़ाइन किए गए ब्रेल कीबोर्ड भी उपलब्ध हैं ताकि वे कंप्यूटर में डेटा दर्ज कर सकें। इसके अलावा, अब हम आवाज़ के माध्यम से भी डेटा दर्ज कर सकते हैं, उदाहरण के लिए, हम Google वॉयस सर्च का उपयोग कर वेब को खोज सकते हैं जहाँ हम अपनी आवाज़ के माध्यम से खोज स्ट्रिंग इनपुट कर सकते हैं।
इनपुट डिवाइस के माध्यम से दर्ज किया गया डेटा अस्थायी रूप से कंप्यूटर सिस्टम की मुख्य मेमोरी (जिसे RAM भी कहा जाता है) में संग्रहीत किया जाता है। स्थायी संग्रहण और भविष्य के उपयोग के लिए, डेटा के साथ-साथ निर्देशों को भी अतिरिक्त संग्रहण स्थानों में स्थायी रूप से संग्रहीत किया जाता है जिन्हें सेकेंडरी मेमोरी कहा जाता है।
चित्र 1.2: इनपुट डिवाइसेज़
1.1.3 आउटपुट डिवाइसेज़
वह उपकरण जो कंप्यूटर प्रणाली से डेटा प्राप्त कर प्रदर्शन, भौतिक उत्पादन आदि के लिए उपयोग होता है, उसे आउटपुट डिवाइस कहा जाता है। यह डिजिटल सूचना को मानव-समझने योग्य रूप में बदलता है। उदाहरण के लिए, मॉनिटर, प्रोजेक्टर, हेडफोन, स्पीकर, प्रिंटर आदि। कुछ आउटपुट डिवाइस चित्र 1.3 में दिखाए गए हैं। ब्रेल डिस्प्ले मॉनिटर दृष्टिबाधित व्यक्ति के लिए कंप्यूटर द्वारा उत्पन्न पाठ्य आउटपुट को समझने में उपयोगी होता है।
प्रिंटर भौतिक (हार्डकॉपी) रूप में आउटपुट प्राप्त करने के लिए सबसे अधिक प्रयोग होने वाला उपकरण है। सामान्यतः प्रयोग होने वाले तीन प्रकार के प्रिंटर हैं: इंकजेट, लेजरजेट और डॉट मैट्रिक्स। आजकल एक नए प्रकार का प्रिंटर 3D-प्रिंटर भी है, जिसका उपयोग डिजिटल 3D डिज़ाइन की भौतिक प्रतिकृति बनाने के लिए किया जाता है। ये प्रिंटर विनिर्माण उद्योगों में उत्पादों के प्रोटोटाइप बनाने के लिए प्रयोग किए जा रहे हैं। इनका उपयोग चिकित्सा क्षेत्र में भी खोजा जा रहा है, विशेषकर शरीर के अंगों के विकास के लिए।
चित्र 1.3: आउटपुट डिवाइस
पंच्ड कार्ड कठोर कागज़ का एक टुकड़ा होता है जो पूर्वनिर्धारित स्थानों पर छिद्रों के रूप में डिजिटल डेटा संग्रहीत करता है।
1.2 कंप्यूटर का विकास
सरल कैलकुलेटर से लेकर आधुनिक शक्तिशाली डेटा प्रोसेसर तक, कम्प्यूटिंग उपकरणों का विकास अपेक्षाकृत कम समय में हुआ है। कम्प्यूटिंग उपकरणों के विकास को आकृति 1.4 में समयरेखा के माध्यम से दर्शाया गया है।
आकृति 1.4: कम्प्यूटिंग प्रौद्योगिकी में प्रमुख आविष्कारों को दर्शाती समयरेखा
वॉन न्यूमैन आर्किटेक्चर को आकृति 1.5 में दर्शाया गया है। इसमें अंकगणितीय और तार्किक निर्देशों को प्रोसेस करने के लिए एक सेंट्रल प्रोसेसिंग यूनिट (CPU), डेटा और प्रोग्राम्स को स्टोर करने के लिए मेमोरी, इनपुट और आउटपुट उपकरण तथा आउटपुट डेटा भेजने या प्राप्त करने के लिए संचार चैनल शामिल हैं। इलेक्ट्रॉनिक न्यूमेरिकल इंटीग्रेटर एंड कम्प्यूटर (ENIAC) वॉन न्यूमैन आर्किटेक्चर पर आधारित पहला बाइनरी प्रोग्रामेबल कम्प्यूटर है।
आकृति 1.5: कम्प्यूटर के लिए वॉन न्यूमैन आर्किटेक्चर
1970 के दशक में, इलेक्ट्रॉनिक सर्किट्स का लार्ज स्केल इंटीग्रेशन (LSI) पूरे CPU को एक ही चिप पर समाहित करने की अनुमति देता था, जिसे माइक्रोप्रोसेसर कहा जाता है। मूर के नियम ने भविष्यवाणी की कि एक ही माइक्रोचिप में असेंबल किए जा सकने वाले ट्रांजिस्टरों की संख्या में घातीय वृद्धि होगी। 1980 के दशक में, कंप्यूटरों की प्रोसेसिंग पावर में घातीय वृद्धि हुई, जब एक छोटे आकार की चिप पर लगभग 3 मिलियन कंपोनेंट्स को समाहित किया गया, जिसे वेरी लार्ज स्केल इंटीग्रेशन (VLSI) कहा गया। तकनीक में आगे की प्रगति ने एक ही IC पर ट्रांजिस्टरों और अन्य कंपोनेंट्स की उच्च घनत्व (लगभग 10^6 कंपोनेंट्स) को फैब्रिकेट करना संभव बना दिया, जिसे सुपर लार्ज स्केल इंटीग्रेशन (SLSI) कहा जाता है, जैसा कि चित्र 1.6 में दिखाया गया है।
1965 में, इंटेल के सह-संस्थापक गॉर्डन मूर ने मूर के नियम पेश किया, जिसने भविष्यवाणी की कि चिप पर ट्रांजिस्टरों की संख्या हर दो साल में दोगुनी हो जाएगी, जबकि लागत आधी हो जाएगी।
IBM ने 1981 में घरेलू उपयोगकर्ता के लिए अना पहला पर्सनल कंप्यूटर (PC) पेश किया और Apple ने 1984 में Macintosh मशीनें पेश कीं। PC की लोकप्रियता Microsoft और अन्य द्वारा ग्राफिकल यूजर इंटरफेस (GUI) आधारित ऑपरेटिंग सिस्टमों की शुरुआत से बढ़ी, जो केवल कमांड लाइन इंटरफेस वाले कंप्यूटरों, जैसे UNIX या DOS, की जगह लेने लगे। लगभग 1990 के दशक में, वर्ल्ड वाइड वेब (WWW) के विकास ने कंप्यूटरों के सामूहिक उपयोग को और तेज कर दिया और तब से कंप्यूटर रोज़मर्रा की ज़िंदगी का अनिवार्य हिस्सा बन गए हैं।
चित्र 1.6: समय के साथ ICs में प्रयुक्त ट्रांजिस्टरों की संख्या में घातीय वृद्धि
इसके अतिरिक्त, लैपटॉपों के आगमन के साथ व्यक्तिगत कंप्यूटिंग काफी हद तक पोर्टेबल हो गई। इसके बाद स्मार्टफोन, टैबलेट और अन्य व्यक्तिगत डिजिटल सहायक उपकरण आए। इन उपकरणों ने प्रोसेसर के मिनिएचुराइज़ेशन, तेज़ मेमोरी, उच्च गति के डेटा और कनेक्टिविटी तंत्रों में तकनीकी प्रगति का लाभ उठाया है।
कंप्यूटिंग उपकरणों की अगली लहर में वेयरेबल गैजेट्स शामिल हैं, जैसे स्मार्ट वॉच, लेंस, हेडबैंड, हेडफोन आदि। इसके अतिरिक्त, स्मार्ट उपकरण आर्टिफिशियल इंटेलिजेंस (AI) की शक्ति का लाभ उठाकर इंटरनेट ऑफ थिंग्स (IoT) का हिस्सा बन रहे हैं।
1.3 कंप्यूटर मेमोरी
एक कंप्यूटर सिस्टम को डेटा और प्रोसेसिंग के लिए निर्देशों को संग्रहित करने के लिए मेमोरी की आवश्यकता होती है। जब भी हम कंप्यूटर सिस्टम की ‘मेमोरी’ की बात करते हैं, तो आमतौर पर हम मुख्य या प्राथमिक मेमोरी की बात करते हैं। द्वितीयक मेमोरी (जिसे स्टोरेज डिवाइस भी कहा जाता है) का उपयोग डेटा, निर्देशों और परिणामों को भविष्य के उपयोग के लिए स्थायी रूप से संग्रहित करने के लिए किया जाता है।
1.3.1 मेमोरी की इकाइयाँ
एक कंप्यूटर सिस्टम डेटा को संग्रहित और प्रोसेस करने के लिए बाइनरी संख्याओं का उपयोग करता है। बाइनरी अंक 0 और 1, जो मेमोरी की मूल इकाइयाँ हैं, बिट्स कहलाते हैं। इसके अतिरिक्त, इन बिट्स को समूहों में व्यवस्थित कर शब्द बनाए जाते हैं। एक 4-बिट शब्ब्द को निबल कहा जाता है। निबल के उदाहरण हैं 1001, 1010, 0010 आदि। दो निबल वाला शब्द, अर्थात् 8-बिट शब्द को बाइट कहा जाता है, उदाहरण के लिए, 01000110, 01111100, 10000001 आदि।
किसी भी अन्य मानक इकाई की तरह, बाइट्स को बड़े चंक्स या मेमोरी की बड़ी इकाइयाँ बनाने के लिए एक साथ समूहित किया जाता है। तालिका 1.1 भंडारण उपकरणों में संग्रहीत डिजिटल डेटा के लिए विभिन्न माप इकाइयाँ दिखाती है।
$\hspace{3cm}$ तालिका 1.1 डिजिटल डेटा की माप इकाइयाँ
| इकाई | विवरण | इकाई | विवरण | |
|---|---|---|---|---|
| $\mathrm{KB}$ (किलोबाइट) | $1 \mathrm{~KB}=1024 \mathrm{Bytes}$ | $\mathrm{PB}$ (पेटाबाइट) | $1 \mathrm{~PB}=1024 \mathrm{~TB}$ | |
| $\mathrm{MB}$ (मेगाबाइट) | $1 \mathrm{MB}=1024 \mathrm{~KB}$ | $\mathrm{~EB}$ (एक्साबाइट) | $1 \mathrm{~EB}=1024 \mathrm{~PB}$ | |
| $\mathrm{GB}$ (गीगाबाइट) | $1 \mathrm{~GB}=1024 \mathrm{MB}$ | $\mathrm{ZB}$ (ज़ेटाबाइट) | $1 \mathrm{ZB}=1024 \mathrm{~EB}$ | |
| $\mathrm{TB}$ (टेराबाइट) | $1 \mathrm{~TB}=1024 \mathrm{~GB}$ | $\mathrm{YB}$ (योटाबाइट) | $1 \mathrm{YB}=1024 \mathrm{ZB}$ |
1.3.2 मेमोरी के प्रकार
मनुष्य जीवनभर कई चीज़ें याद रखता है और कोई निर्णय या कार्रवाई करने के लिए मेमोरी से याद करता है। हालाँकि, हम अपनी मेमोरी पर पूरी तरह निर्भर नहीं रहते, और हम नोट्स बनाते हैं और महत्वपूर्ण डेटा और सूचना को नोटबुक, मैनुअल, जर्नल, दस्तावेज़ आदि जैसे अन्य माध्यमों का उपयोग करके संग्रहीत करते हैं। इसी तरह, कंप्यूटरों में दो प्रकार की मेमोरी होती है - प्राथमिक और द्वितीयक।
(A) प्राथमिक मेमोरी
प्राथमिक मेमोरी एक कंप्यूटर सिस्टम का एक आवश्यक घटक है। प्रोसेसिंग से पहले प्रोग्राम और डेटा को प्राथमिक मेमोरी में लोड किया जाता है। CPU प्राथमिक मेमोरी के साथ सीधे इंटरैक्ट करता है ताकि रीड या राइट ऑपरेशन कर सके। यह दो प्रकार की होती है अर्थात् (i) रैंडम एक्सेस मेमोरी (RAM) और (ii) रीड ओनली मेमोरी (ROM)।
RAM वोलेटाइल होती है, अर्थात् जब तक कंप्यूटर को पावर सप्लाई दी जाती है, वह अपने अंदर डेटा को बनाए रखती है। लेकिन जैसे ही पावर सप्लाई बंद होती है, RAM की सारी सामग्री मिट जाती है। इसका उपयोग कंप्यूटर के काम करते समय डेटा को अस्थायी रूप से स्टोर करने के लिए किया जाता है। जब भी कंप्यूटर स्टार्ट होता है या कोई सॉफ्टवेयर एप्लिकेशन लॉन्च होता है, तो आवश्यक प्रोग्राम और डेटा प्रोसेसिंग के लिए RAM में लोड किए जाते हैं। RAM को आमतौर पर मेन मेमोरी कहा जाता है और यह सेकेंडरी मेमोरी या स्टोरेज डिवाइसों की तुलना में तेज होती है।
दूसरी ओर, ROM नॉन-वोलेटाइल होती है, जिसका अर्थ है कि इसकी सामग्री पावर बंद होने पर भी नहीं खोती है। इसका उपयोग उन सामग्रियों के लिए छोटे लेकिन तेज स्थायी स्टोरेज के रूप में किया जाता है जो शायद ही बदली जाती हैं। उदाहरण के लिए, स्टार्टअप प्रोग्राम (बूट लोडर) जो ऑपरेटिंग सिस्टम को प्राथमिक मेमोरी में लोड करता है, ROM में स्टोर होता है।
सोचिए और विचार कीजिए मान लीजिए कोई कंप्यूटर है जिसमें RAM है लेकिन कोई सेकेंडरी स्टोरेज नहीं है। क्या हम उस कंप्यूटर पर कोई सॉफ्टवेयर इंस्टॉल कर सकते हैं?
(B) कैश मेमोरी
RAM माध्यमिक संग्रहण की तुलना में तेज होता है, लेकिन कंप्यूटर प्रोसेसर जितना तेज नहीं। इसलिए, RAM के कारण CPU को धीमा पड़ सकता है। CPU के संचालन को तेज करने के लिए CPU और प्राथमिक मेमोरी के बीच एक बहुत ही उच्च गति की मेमोरी रखी जाती है जिसे कैश कहा जाता है। यह बार-बार एक्सेस होने वाली प्राथमिक मेमोरी स्थानों से डेटा की प्रतियाँ संग्रहित करता है, इस प्रकार प्राथमिक मेमोरी से डेटा तक पहुँचने के लिए आवश्यक औसत समय को कम करता है। जब CPU को कुछ डेटा की आवश्यकता होती है, तो वह पहले कैश की जाँच करता है। यदि आवश्यकता पूरी हो जाती है, तो इसे कैश से पढ़ा जाता है, अन्यथा प्राथमिक मेमोरी एक्सेस की जाती है।
(C) माध्यमिक मेमोरी
प्राथमिक मेमोरी की संग्रहण क्षमता सीमित होती है और यह या तो वोलेटाइल (RAM) होती है या केवल-पढ़ने योग्य (ROM)। इस प्रकार, एक कंप्यूटर सिस्टम को डेटा या निर्देशों को स्थायी रूप से संग्रहित करने के लिए सहायक या माध्यमिक मेमोरी की आवश्यकता होती है ताकि भविष्य में उपयोग किया जा सके। माध्यमिक मेमोरी नॉन-वोलेटाइल होती है और इसकी संग्रहण क्षमता प्राथमिक मेमोरी से अधिक होती है। यह मुख्य मेमोरी की तुलना में धीमी और सस्ती होती है। लेकिन, इसे CPU द्वारा सीधे एक्सेस नहीं किया जा सकता। माध्यमिक संग्रहण की सामग्री को CPU द्वारा एक्सेस करने के लिए पहले मुख्य मेमोरी में लाया जाना चाहिए। माध्यमिक मेमोरी उपकरणों के उदाहरणों में हार्ड डिस्क ड्राइव (HDD), CD/DVD, मेमोरी कार्ड आदि शामिल हैं, जैसा कि चित्र 1.7 में दिखाया गया है।
हालांकि, इन दिनों SSD जैसे द्वितीयक भंडारण उपकरण उपलब्ध हैं जो पहले के HDD की तुलना में बहुत तेज डेटा स्थानांतरण गति का समर्थन करते हैं। साथ ही, छोटे आकार और पोर्टेबल फ्लैश या पेन ड्राइव की उपलब्धता के कारण कंप्यूटरों के बीच डेटा स्थानांतरण आसान और सरल हो गया है।
चित्र 1.7: भंडारण उपकरण
1.4 मेमोरी और CPU के बीच डेटा स्थानांतरण
डेटा को CPU और प्राथमिक मेमोरी के बीच साथ ही प्राथमिक और द्वितीयक मेमोरी के बीच स्थानांतरित करने की आवश्यकता होती है।
$\quad$ डेटा को कंप्यूटर प्रणाली के विभिन्न घटकों के बीच बस कहलाने वाली भौतिक तारों का उपयोग करके स्थानांतरित किया जाता है। उदाहरण के लिए, USB पोर्ट और हार्ड डिस्क के बीच या हार्ड डिस्क और मुख्य मेमोरी के बीच डेटा स्थानांतरण के लिए बस का उपयोग किया जाता है। बस तीन प्रकार की होती है - (i) डेटा बस विभिन्न घटकों के बीच डेटा स्थानांतरित करने के लिए, (ii) एड्रेस बस CPU और मुख्य मेमोरी के बीच पतों को स्थानांतरित करने के लिए। मेमोरी स्थान का पता जिसे CPU पढ़ना या लिखना चाहता है, एड्रेस बस में निर्दिष्ट किया जाता है, और (iii) नियंत्रण बस कंप्यूटर के विभिन्न घटकों के बीच नियंत्रण संकेतों को संचारित करने के लिए। ये तीनों बसें सामूहिक रूप से सिस्टम बस बनाती हैं, जैसा कि चित्र 1.8 में दिखाया गया है।
चित्र 1.8: सिस्टम बस के माध्यम से घटकों के बीच डेटा स्थानांतरण
चूंकि CPU मुख्य मेमोरी के साथ सीधे संपर्क करता है, इसलिए इनपुट डिवाइस से दर्ज किया गया कोई भी डेटा या हार्ड डिस्क से एक्सेस किया जाने वाला डेटा आगे की प्रोसेसिंग के लिए मुख्य मेमोरी में रखा जाना चाहिए। फिर डेटा को CPU और मुख्य मेमोरी के बीच बस का उपयोग करके स्थानांतरित किया जाता है।
CPU एड्रेस बस पर मुख्य मेमोरी के उस स्थान का पता रखता है जहाँ से वह डेटा पढ़ना या डेटा लिखना चाहता है। निर्देशों को निष्पादित करते समय, CPU कंट्रोल बस के माध्यम से रीड या राइट कंट्रोल सिग्नल निर्दिष्ट करता है।
चूंकि CPU को मुख्य मेमोरी से डेटा पढ़ने या मुख्य मेमोरी में डेटा लिखने की आवश्यकता हो सकती है, एक डेटा बस द्विदिश होता है। लेकिन कंट्रोल बस और एड्रेस बस एकदिश होते हैं। मेमोरी में डेटा लिखने के लिए, CPU डेटा बस पर डेटा रखता है, जिसे फिर एड्रेस बस के माध्यम से दिए गए विशिष्ट पते पर लिखा जाता है। रीड ऑपरेशन के मामले में, CPU पता निर्दिष्ट करता है, और डेटा को एक समर्पित हार्डवेयर, जिसे मेमोरी नियंत्रक कहा जाता है, द्वारा डेटा बस पर रखा जाता है। मेमोरी नियंत्रक कंप्यूटर की मुख्य मेमोरी में और बाहर डेटा के प्रवाह को प्रबंधित करता है।
1.5 माइक्रोप्रोसेसर
पहले के दिनों में, कंप्यूटर का CPU एक बड़े कमरे या कई अलमारियों में घिरा होता था। हालांकि, तकनीक में प्रगति के साथ, CPU का भौतिक आकार घट गया है और अब केवल एक ही माइक्रोचिप पर CPU रखना संभव है। एक प्रोसेसर (CPU) जो एक ही माइक्रोचिप पर कार्यान्वित होता है, उसे माइक्रोप्रोसेसर कहा जाता है। आजकल, लगभग सभी CPUs माइक्रोप्रोसेसर हैं। इसलिए, व्यावहारिक उद्देश्य के लिए इन शब्दों का समानार्थक रूप से उपयोग किया जाता है।
माइक्रोप्रोसेसर कंप्यूटर के अंदर एक छोटे आकार का इलेक्ट्रॉनिक घटक होता है जो डेटा प्रोसेसिंग में शामिल विभिन्न कार्यों के साथ-साथ अंकगणितीय और तार्किक संचालन भी करता है। इन दिनों, एक माइक्रोप्रोसेसर एक एकीकृत सर्किट पर बनाया जाता है जिसमें लाखों छोटे घटक जैसे प्रतिरोधक, ट्रांजिस्टर और डायोड शामिल होते हैं।
माइक्रोप्रोसेसर समय के साथ अपनी बढ़ी हुई प्रोसेसिंग क्षमता, घटते हुए भौतिक आकार और कम हुई लागत के मामले में विकसित हुए हैं। वर्तमान में उपलब्ध माइक्रोप्रोसेसर प्रति मिलीसेकंड लाखों निर्देशों को प्रोसेस करने में सक्षम हैं। तालिका 1.2 विभिन्न प्रकार के माइक्रोप्रोसेसरों को उनकी पीढ़ी, समय अवधि और अंतर्निहित तकनीक के साथ सूचीबद्ध करती है जो 1970 के दशक की शुरुआत में उनकी शुरुआत से हैं।
$\hspace{3cm}$ तालिका 1.2 माइक्रोप्रोसेसर की पीढ़ियां
| पीढ़ी | युग | चिप प्रकार |
शब्द आकार |
अधिकतम मेमोरी आकार |
घड़ी गति |
कोर | उदाहरण* |
|---|---|---|---|---|---|---|---|
| प्रथम | 1971-73 | LSI | $4 / 8$ बिट |
$1 \mathrm{~KB}$ | $108 \mathrm{KHz}-$ $200 \mathrm{KHz}$ |
एकल | Intel 8080 |
| द्वितीय | $1974-78$ | LSI | $8 \mathrm{bit}$ | $1 \mathrm{MB}$ | अधिकतम $2 \mathrm{MHz}$ | एकल | Motorola 6800 Intel 8085 |
| तृतीय | $1979-80$ | VLSI | 16 बिट | $16 \mathrm{MB}$ | $4 \mathrm{MHz}-6$ $\mathrm{MHz}$ |
एकल | Intel 8086 |
| चतुर्थ | 1981-95 | VLSI | 32 बिट | $4 \mathrm{~GB}$ | अधिकतम 133 MHz |
एकल | Intel 80386 Motorola 68030 |
| पंचम | 1995 से अब तक |
SLSI | 64 बिट | $64 \mathrm{~GB}$ | $533 \mathrm{MHz}-$ $34 \mathrm{GHz}$ |
मल्टीकोर | Pentium, Celeron, Xeon |
*कुछ प्रमुख उदाहरण शामिल हैं।
1.5.1 माइक्रोप्रोसेसर विनिर्देश
माइक्रोप्रोसेसरों को विभिन्न विशेषताओं के आधार पर वर्गीकृत किया जाता है जिनमें चिप प्रकार, शब्द आकार, मेमोरी आकार, घड़ी गति आदि शामिल हैं। इन विशेषताओं को नीचे संक्षेप में समझाया गया है:
(A) शब्द आकार
शब्द आकार अधिकतम बिटों की संख्या होती है जो एक माइक्रोप्रोसेसर एक बार में प्रोसेस कर सकता है। पहले एक शब्द 8 बिट का होता था, क्योंकि यह उस समय की अधिकतम सीमा थी। वर्तमान में न्यूनतम शब्द आकार 16 बिट है और अधिकतम शब्द आकार 64 बिट है।
(B) मेमोरी आकार
वर्ड साइज़ के आधार पर, RAM का आकार बदलता है। शुरुआत में, RAM बहुत छोटी (4MB) थी क्योंकि वर्ड साइज़ $4 / 8$ बिट्स थी। जैसे-जैसे वर्ड साइज़ बढ़कर 64 बिट्स हो गई, 16 एक्साबाइट्स (EB) तक की RAM का उपयोग करना संभव हो गया है।
(C) क्लॉक स्पीड
कंप्यूटरों में एक आंतरिक घड़ी होती है जो नियमित समय अंतराल पर पल्स (सिग्नल) उत्पन्न करती है। क्लॉक स्पीड का अर्थ है कंप्यूटर के अंदर घड़ी द्वारा प्रति सेकंड उत्पन्न किए जाने वाले पल्सों की संख्या।
गतिविधि 1.1
विभिन्न पीढ़ियों के माइक्रोप्रोसेसरों की अधिकतम मेमोरी साइज़ टेबल 1.2 में दी गई है। प्रत्येक मेमोरी साइज़ को 2 की घात के रूप में व्यक्त करें।
गतिविधि 1.2
अपने कंप्यूटर के माइक्रोप्रोसेसर की क्लॉक स्पीड ज्ञात करें और अपने सहपाठियों की क्लॉक स्पीड से तुलना करें?
क्लॉक स्पीड यह दर्शाती है कि कंप्यूटर निर्देशों को किस गति से निष्पादित कर सकता है। पहले इसे हर्ट्ज़ (Hz) और किलोहर्ट्ज़ $(\mathrm{kHz})$ में मापा जाता था। लेकिन तकनीक और चिप घनत्व में प्रगति के साथ, अब इसे गीगाहर्ट्ज़ (GHz) में मापा जाता है, यानी प्रति सेकंड अरबों पल्स।
(D) कोर
कोर CPU की एक बुनियादी गणना इकाई है। पहले के प्रोसेसरों में केवल एक गणना इकाई होती थी, जिससे वे एक समय में केवल एक कार्य कर सकते थे। मल्टीकोर प्रोसेसरों के आने से, कंप्यूटर के लिए एक साथ कई कार्य निष्पादित करना संभव हो गया है, जिससे सिस्टम की प्रदर्शन क्षमता बढ़ गई है। दो, चार और आठ कोर वाले CPU को क्रमशः ड्यूल-कोर, क्वाड-कोर और ऑक्टा-कोर प्रोसेसर कहा जाता है।
1.5.2 माइक्रोकंट्रोलर
माइक्रोकंट्रोलर एक छोटा कंप्यूटिंग उपकरण है जिसमें सीपीयू, निश्चित मात्रा में रैम, रोम और अन्य परिधीय एक ही चिप पर एम्बेडेड होते हैं, जबकि माइक्रोप्रोसेसर में केवल सीपीयू होता है। माइक्रोकंट्रोलर की संरचना चित्र 1.9 में दिखाई गई है। कीबोर्ड, माउस, वॉशिंग मशीन, डिजिटल कैमरा, पेनड्राइव, रिमोट कंट्रोलर, माइक्रोवेव माइक्रोकंट्रोलर के कुछ उदाहरण हैं। चूँकि ये केवल विशिष्ट कार्यों के लिए डिज़ाइन किए जाते हैं, इसलिए इनका आकार और लागत दोनों कम होते हैं।
माइक्रोकंट्रोलर के बहुत छोटे आकार के कारण, इसे किसी अन्य उपकरण या सिस्टम में एम्बेड किया जाता है ताकि कोई विशिष्ट कार्यक्षमता प्रदान की जा सके। उदाहरण के लिए, पूरी तरह से स्वचालित वॉशिंग मशीन में माइक्रोकंट्रोलर का उपयोग वॉशिंग चक्र को बिना किसी मानव हस्तक्षेप के नियंत्रित करने के लिए किया जाता है। चक्र पानी भरने से शुरू होता है, जिसके बाद कपड़े भीगते और धोए जाते हैं; इसके बाद पानी निकाला जाता है और कपड़े स्पिन ड्राई किए जाते हैं। माइक्रोकंट्रोलर के सरल उपयोग ने थकाऊ कार्यों को बिना किसी मानव हस्तक्षेप के स्वचालित रूप से बार-बार करने की अनुमति दी है, जिससे बहुमूल्य समय की बचत होती है।
चित्र 1.9: माइक्रोकंट्रोलर की संरचना
1.6 डेटा और सूचना
एक कंप्यूटर मुख्यतः डेटा को प्रोसेस करने के लिए होता है। एक कंप्यूटर सिस्टम हर चीज़ को डेटा मानता है, चाहे वह निर्देश हों, चित्र हों, गाने हों, वीडियो हों, दस्तावेज़ हों, आदि। डेटा कच्चे और अव्यवस्थित तथ्य भी हो सकते हैं जिन्हें प्रोसेस करके सार्थक सूचना प्राप्त की जाती है।
इसलिए डेटा की अवधारणा और इसके विभिन्न प्रकारों को समझना कंप्यूटर के समग्र कार्य को समझने के लिए अत्यंत आवश्यक है। कभी-कभी लोग डेटा, सूचना और ज्ञान जैसे शब्दों को परस्पर प्रयोग करते हैं, जो गलत है।
1.6.1 डेटा और इसके प्रकार
एक कंप्यूटर सिस्टम में कई इनपुट डिवाइस होते हैं, जो इसे तथ्यों, अवधारणाओं, निर्देशों आदि के रूप में कच्चा डेटा प्रदान करते हैं। आंतरिक रूप से सब कुछ बाइनरी रूप (0 और 1) में संग्रहित होता है, लेकिन बाह्य रूप से डेटा कंप्यूटर में टेक्स्ट रूप में इनपुट किया जा सकता है जिसमें अंग्रेज़ी वर्णमाला $A-Z, a-z$, अंक $0-9$, और विशेष प्रतीक जैसे @, #, आदि शामिल होते हैं। डेटा अन्य भाषाओं में भी इनपुट किया जा सकता है या इसे फ़ाइलों से पढ़ा जा सकता है। इनपुट डेटा विभिन्न स्रोतों से हो सकता है, इसलिए यह विभिन्न प्रारूपों में हो सकता है। उदाहरण के लिए, एक छवि लाल, हरे, नीले (RGB) पिक्सेल का संग्रह होती है, एक वीडियो फ्रेमों से बना होता है, और एक फीस रसीद संख्यात्मक और गैर-संख्यात्मक वर्णों से बनी होती है। मुख्यतः, डेटा के तीन प्रकार होते हैं।
(A) संरचित डेटा
डेटा जो एक सख्त रिकॉर्ड संरचना का पालन करता है और समझने में आसान होता है, उसे संरचित डेटा कहा जाता है। ऐसा डेटा जो पहले से निर्धारित सारणीबद्ध प्रारूप में हो, भविष्य में पहुंच के लिए किसी डेटा फ़ाइल में संग्रहीत किया जा सकता है। तालिका 1.3 स्कूल द्वारा बनाए गए छात्रों की मासिक उपस्थिति से संबंधित संरचित डेटा दिखाती है।
तालिका 1.3 संरचित डेटा: छात्रों की मासिक उपस्थिति रिकॉर्ड
| Rol1 No | Name | Month | Attendance (in %) |
|---|---|---|---|
| R1 | Mohan | May | 95 |
| R2 | Sohan | May | 75 |
| R3 | Sheen | May | 92 |
| R4 | Geet | May | 82 |
| R5 | Anita | May | 97 |
| R1 | Mohan | July | 98 |
| R2 | Sohan | July | 65 |
| R3 | Sheen | July | 85 |
| R4 | Geet | July | 94 |
| R5 | Anita | July | 85 |
सोचिए और विचार कीजिए
क्या आप असंरचित डेटा के कुछ और उदाहरण दे सकते हैं?
यह स्पष्ट है कि ऐसा डेटा पंक्ति/स्तंभ प्रारूप में संगठित होता है और आसानी से समझ में आता है। संरचित डेटा को आरोही या अवरोही क्रम में क्रमबद्ध किया जा सकता है। उदाहरण में, उपस्थिति डेटा को ‘month’ स्तंभ पर बढ़ते क्रम में क्रमबद्ध किया गया है। संरचित डेटा के अन्य उदाहरणों में बिक्री लेन-देन, ऑनलाइन रेलवे टिकट बुकिंग, एटीएम लेन-देन आदि शामिल हैं।
(B) असंरचित डेटा
डेटा जो पूर्व-परिभाषित रिकॉर्ड प्रारूप में संगठित नहीं होता, उसे असंरचित डेटा कहा जाता है। उदाहरणों में ऑडियो और वीडियो फ़ाइलें, ग्राफ़िक्स, टेक्स्ट दस्तावेज़, सोशल मीडिया पोस्ट, उपग्रह छवियाँ आदि शामिल हैं। चित्र 1.10 माता-पिता को भेजे गए मासिक उपस्थिति रिकॉर्ड विवरण वाले एक रिपोर्ट कार्ड को दर्शाता है। ऐसा डेटा असंरचित होता है क्योंकि इसमें टेक्स्ट सामग्री के साथ-साथ ग्राफ़िक्स भी होते हैं, जो किसी विशिष्ट प्रारूप का पालन नहीं करते।
चित्र 1.10: असंरचित डेटा: मासिक उपस्थिति रिकॉर्ड
(C) अर्ध-संरचित डेटा
डेटा जिसमें कोई स्पष्ट रूप से परिभाषित संरचना नहीं होती लेकिन डेटा तत्वों को अलग करने के लिए आंतरिक टैग या चिह्न बनाए रखता है, उसे अर्ध-संरचित डेटा कहा जाता है। उदाहरणों में ईमेल दस्तावेज़, HTML पेज, अल्पविराम से अलग किए गए मान (csv फ़ाइल) आदि शामिल हैं। चित्र 1.11 एक अर्ध-संरचित डेटा का उदाहरण दिखाता है जिसमें छात्र की माहवार उपस्थिति विवरण हैं। इस उदाहरण में प्रत्येक उपस्थिति रिकॉर्ड के लिए कोई विशिष्ट प्रारूप नहीं है। यहाँ, प्रत्येक डेटा मान से पहले एक टैग (नाम, माह, कक्षा, उपस्थिति) है ताकि प्रोसेसिंग के दौरान डेटा मान की व्याख्या की जा सके।
| नाम: मोहन | माह: जुलाई | कक्षा: XI | उपस्थिति: 98 |
|---|---|---|---|
| नाम: सोहन | माह: जुलाई | कक्षा: XI | उपस्थिति: 65 |
| नाम: शीन | माह: जुलाई | कक्षा: XI | उपस्थिति: 85 |
| नाम: गीत | माह: मई | कक्षा: XI | उपस्थिति: 82 |
| नाम: गीत | माह: जुलाई | कक्षा: XI | उपस्थिति: 94 |
आकृति 1.11: अर्ध-संरचित डेटा: विद्यालय द्वारा रखा गया माहवार कुल उपस्थिति रिकॉर्ड
1.6.2 डेटा कैप्चरिंग, स्टोरेज और पुनर्प्राप्ति
डेटा को प्रोसेस करने के लिए हमें पहले उसे इनपुट या कैप्चर करना होता है। इसके बाद उसे किसी फ़ाइल या डेटाबेस में संग्रहीत किया जाता है ताकि भविष्य में उसका उपयोग किया जा सके। जब भी डेटा को प्रोसेस करना होता है, तो पहले उसे फ़ाइल या डेटाबेस से पुनर्प्राप्त किया जाता है ताकि हम उस पर आगे की कार्रवाई कर सकें।
(A) डेटा कैप्चरिंग
इसमें विभिन्न स्रोतों से डिजिटल रूप में डेटा एकत्र करने की प्रक्रिया शामिल होती है। यह कैप्चरिंग सरल उपकरणों जैसे कीबोर्ड, खरीदारी आउटलेट्स पर उपयोग होने वाले बारकोड रीडरों (आकृति 1.12), सोशल मीडिया पर टिप्पणियों या पोस्टों, पृथ्वी की कक्षा में घूमने वाले उपग्रहों पर लगे रिमोट सेंसरों आदि तक हो सकती है। कभी-कभी डेटा स्रोतों के बीच विषमता डेटा कैप्चरिंग को एक जटिल कार्य बना देती है।
(B) डेटा स्टोरेज
यह कैप्चर किए गए डेटा को बाद में प्रोसेसिंग के लिए संग्रहीत करने की प्रक्रिया है। आजकल डेटा बहुत तेज़ दर से उत्पन्न हो रहा है, और इसलिए डेटा स्टोरेज एक चुनौतीपूर्ण कार्य बन गया है। हालांकि, डिजिटल स्टोरेज डिवाइसों की लागत में कमी ने इस कार्य को सरल बनाने में मदद की है। बाज़ार में कई डिजिटल स्टोरेज डिवाइस उपलब्ध हैं जैसा कि आकृति 1.7 में दिखाया गया है।
समय के साथ डेटा बढ़ता रहता है। इसलिए, भंडारण उपकरणों को भी समय-समय पर अपग्रेड करने की आवश्यकता होती है। बड़े संगठनों में, विशाल मात्रा में डेटा संग्रहीत करने के लिए डेटा सर्वर कहलाने वाले बड़े और तेज़ भंडारण वाले कंप्यूटर तैनात किए जाते हैं। ऐसे समर्पित कंप्यूटर डेटा को कुशलता से संसाधित करने में मदद करते हैं। हालांकि, डेटा सर्वर स्थापित करने और उसके रखरखाव की लागत (हार्डवेयर और सॉफ्टवेयर दोनों) अधिक होती है, विशेष रूप से छोटे संगठनों और स्टार्टअप्स के लिए।
(C) डेटा पुनःप्राप्ति
इसमें भंडारण उपकरणों से डेटा को प्राप्त करना शामिल होता है, ताकि उपयोगकर्ता की आवश्यकता के अनुसार उसका संसाधन किया जा सके। जैसे-जैसे डेटाबेस बढ़ते हैं, स्वीकार्य समय में डेटा की खोज और पुनःप्राप्ति में शामिल चुनौतियाँ भी बढ़ती हैं। डेटा एक्सेस समय को कम करना तेज़ डेटा संसाधन के लिए महत्वपूर्ण है।
गतिविधि 1.3
बैंक, ऑटोमोबाइल शोरूम, शॉपिंग मॉल, तहसील कार्यालय आदि जैसे कुछ स्थानों पर जाएँ और डिजिटल प्रारूप में डेटा कैप्चर करने के लिए उपयोग किए जाने वाले $2-3$ उपकरणों या साधनों के नाम ज्ञात करें।
आकृति 1.12: बारकोड रीडर का उपयोग कर डेटा कैप्चर करना
1.6.3 डेटा विलोपन और पुनःप्राप्ति
डिजिटल डेटा से जुड़ा सबसे बड़ा खतरा इसकी हटना है। स्टोरेज डिवाइस खराब हो सकते हैं या क्रैश हो सकते हैं जिससे उनमें संग्रहीत डेटा हट जाता है। उपयोगकर्ता गलती से स्टोरेज डिवाइस से डेटा मिटा सकते हैं, या कोई हैकर या मैलवेयर जानबूझकर डिजिटल डेटा को हटा सकता है।
गतिविधि 1.4
हटाए गए डेटा या खराब डिवाइस से डेटा को पुनर्प्राप्त करने के संभावित तरीकों का पता लगाएं।
गतिविधि 1.5
एक टेस्ट फ़ाइल बनाएं और फिर इसे कीबोर्ड से Shift+Delete दबाकर हटा दें। अब गतिविधि 1.4 में जिन तरीकों का आपने पता लगाया है, उनका उपयोग करके फ़ाइल को पुनर्प्राप्त करें।
डिजिटल रूप से संग्रहीत डेटा को हटाने का अर्थ है बिट स्तर पर डेटा की विवरण बदलना, जो बहुत समय लेने वाला हो सकता है। इसलिए, जब कोई डेटा साधारण रूप से हटाया जाता है, तो उसका पता प्रविष्टि को मुक्त के रूप में चिह्नित कर दिया जाता है और उतनी ही जगह उपयोगकर्ता को खाली दिखाई देती है, बिना वास्तव में डेटा को हटाए।
यदि डेटा गलती से हट जाता है या भ्रष्ट हो जाता है, तो डेटा को पुनर्प्राप्त करने की आवश्यकता होती है। डेटा की पुनर्प्राप्ति तभी संभव है जब हटाए गए के रूप में चिह्नित सामग्री या मेमोरी स्थान को किसी अन्य डेटा द्वारा अधिलेखित नहीं किया गया हो। डेटा पुनर्प्राप्ति द्वितीयक स्टोरेज डिवाइस से हटाए गए, भ्रष्ट और खोए गए डेटा को पुनः प्राप्त करने की एक प्रक्रिया है।
आमतौर पर डेटा से जुड़ी दो सुरक्षा चिंताएँ होती हैं। एक इसकी किसी अनधिकृत व्यक्ति या सॉफ़्टवेयर द्वारा हटाने की है। इन चिंताओं से बचा जा सकता है कंप्यूटर सिस्टम तक पहुँच को सीमित करके और जहाँ भी संभव हो उपयोगकर्ता खातों और फ़ाइलों के लिए पासवर्ड का उपयोग करके। फ़ाइलों को एन्क्रिप्ट करने का विकल्प भी होता है ताकि उन्हें अनचाहे संशोधन से बचाया जा सके।
दूसरी चिंता अनधिकृत उपयोगकर्ता या सॉफ़्टवेयर द्वारा डेटा की अनचाही पुनर्प्राप्ति से संबंधित है। कई बार हम अपने पुराने, टूटे या खराब हो चुके स्टोरेज डिवाइसों को डेटा हटाए बिना ही फेंक देते हैं। हम मान लेते हैं कि हटाई गई फ़ाइलों की सामग्री स्थायी रूप से हटा दी गई है। हालांकि, यदि ये स्टोरेज डिवाइस किसी शरारती तत्व के हाथ लग जाते हैं, तो वे ऐसे डिवाइसों से आसानी से डेटा पुनर्प्राप्त कर सकते हैं; यह डेटा की गोपनीयता के लिए खतरा पैदा करता है। इस चिंता को कम किया जा सकता है किसी भी पुराने या खराब स्टोरेज डिवाइस को निपटाने से पहले डेटा को ठीक से हटाने या श्रेड करने के लिए उपयुक्त उपकरणों का उपयोग करके।
1.7 सॉफ़्टवेयर
अब तक हमने कंप्यूटर सिस्टम के भौतिक घटकों या हार्डवेयर के बारे में पढ़ा है। लेकिन हार्डवेयर अपने आप में किसी काम का नहीं है। हार्डवेयर को निर्देशों के एक समूह द्वारा संचालित किया जाना चाहिए। इन निर्देशों के समूह को सॉफ़्टवेयर कहा जाता है। यह कंप्यूटर सिस्टम का वह घटक है, जिसे हम भौतिक रूप से छू या देख नहीं सकते। इसमें कंप्यूटर हार्डवेयर का उपयोग करके संसाधित किए जाने वाले निर्देश और डेटा शामिल होते हैं। कंप्यूटर सॉफ़्टवेयर और हार्डवेयर मिलकर कोई भी कार्य पूरा करते हैं।
सॉफ्टवेयर निर्देशों के एक समुच्चय से बना है जिसे चलाने पर वांछित परिणाम मिलता है। दूसरे शब्दों में, प्रत्येक सॉफ्टवेयर किसी गणनात्मक उद्देश्य के लिए लिखा जाता है। सॉफ्टवेयर के कुछ उदाहरणों में ऑपरेटिंग सिस्टम जैसे उबुन्टू या विंडोज़ 7/10, वर्ड प्रोसेसिंग उपकरण जैसे लिब्रेऑफिस या माइक्रोसॉफ्ट वर्ड, वीडियो प्लेयर जैसे VLC प्लेयर, फोटो संपादक जैसे GIMP और लिब्रेऑफिस ड्रॉ शामिल हैं। हार्ड डिस्क या पेन ड्राइव में संग्रहित दस्तावेज़ या चित्र को सॉफ्ट-कॉपी कहा जाता है। एक बार प्रिंट हो जाने पर, दस्तावेज़ या चित्र को हार्ड-कॉपी कहा जाता है।
1.7.1 सॉफ्टवेयर की आवश्यकता
सॉफ्टवेयर का एकमात्र उद्देश्य कंप्यूटर हार्डवेयर को उपयोगी और संचालन योग्य बनाना है। सॉफ्टवेयर यह जानता है कि कंप्यूटर के विभिन्न हार्डवेयर घटकों को कैसे काम करना है और एक-दूसरे के साथ तथा अंतिम उपयोगकर्ता के साथ संवाद करना है। हम कंप्यूटर के हार्डवेयर को सीधे निर्देश नहीं दे सकते। सॉफ्टवेयर मानव उपयोगकर्ताओं और हार्डवेयर के बीच इंटरफेस का काम करता है।
हार्डवेयर के साथ संवाद के तरीके और किए जाने वाले कार्यों के आधार पर, सॉफ्टवेयर को मुख्य रूप से तीन श्रेणियों में वर्गीकृत किया जा सकता है अर्थात् (i) सिस्टम सॉफ्टवेयर, (ii) प्रोग्रामिंग उपकरण और (iii) एप्लिकेशन सॉफ्टवेयर।
हार्डवेयर कंप्यूटर सिस्टम के भौतिक घटकों को संदर्भित करता है जिन्हें देखा और छुआ जा सकता है। उदाहरण के लिए, RAM, कीबोर्ड, प्रिंटर, मॉनिटर, CPU आदि। दूसरी ओर, सॉफ्टवेयर निर्देशों और डेटा का एक समुच्चय है जो हार्डवेयर को वांछित कार्य पूरा करने के लिए कार्यात्मक बनाता है।
1.7.2 सिस्टम सॉफ्टवेयर
वह सॉफ्टवेयर जो कंप्यूटर के घटक हार्डवेयर के साथ सीधे संवाद करके कंप्यूटर को संचालित करने की बुनियादी कार्यक्षमता प्रदान करता है, सिस्टम सॉफ्टवेयर कहलाता है। एक सिस्टम सॉफ्टवेयर यह जानता है कि कंप्यूटर के विभिन्न हार्डवेयर घटकों को कैसे संचालित और उपयोग किया जाए। यह सेवाएँ सीधे अंतिम उपयोगकर्ता को या किसी अन्य सॉफ्टवेयर को प्रदान करता है। सिस्टम सॉफ्टवेयर के उदाहरणों में ऑपरेटिंग सिस्टम, सिस्टम यूटिलिटीज, डिवाइस ड्राइवर आदि शामिल हैं।
(A) ऑपरेटिंग सिस्टम
जैसा कि नाम से स्पष्ट है, ऑपरेटिंग सिस्टम एक सिस्टम सॉफ्टवेयर है जो कंप्यूटर को संचालित करता है। ऑपरेटिंग सिस्टम सबसे बुनियादी सिस्टम सॉफ्टवेयर है, जिसके बिना अन्य सॉफ्टवेयर काम नहीं कर सकता। ऑपरेटिंग सिस्टम अन्य अनुप्रयोग प्रोग्रामों का प्रबंधन करता है और सिस्टम के उपयोगकर्ताओं को पहुँच और सुरक्षा प्रदान करता है। कुछ लोकप्रिय ऑपरेटिंग सिस्टम Windows, Linux, Macintosh, Ubuntu, Fedora, Android, iOS आदि हैं।
(B) सिस्टम यूटिलिटीज
वह सॉफ्टवेयर जो कंप्यूटर सिस्टम की अनुरक्षण और विन्यास के लिए उपयोग किया जाता है, सिस्टम यूटिलिटी कहलाता है। कुछ सिस्टम यूटिलिटीज ऑपरेटिंग सिस्टम के साथ आती हैं, उदाहरण के लिए डिस्क डिफ्रेग्मेंटेशन टूल, फॉर्मेटिंग यूटिलिटी, सिस्टम रिस्टोर यूटिलिटी आदि। एक अन्य समूह यूटिलिटीज का वह है जो ऑपरेटिंग सिस्टम के साथ नहीं आता लेकिन सिस्टम के प्रदर्शन को बेहतर बनाने के लिए आवश्यक होता है, उदाहरण के लिए एंटी-वायरस सॉफ्टवेयर, डिस्क क्लीनर टूल, डिस्क कंप्रेशन सॉफ्टवेयर आदि।
गतिविधि 1.6
अपने शिक्षक से अनुरोध करें कि वे आपकी सहायता करें आपके कंप्यूटर में इंस्टॉल किए गए किन्हीं दो डिवाइस ड्राइवरों को खोजने में।
(C) डिवाइस ड्राइवर
जैसा कि नाम से स्पष्ट होता है, एक डिवाइस ड्राइवर का उद्देश्य किसी विशेष डिवाइस के उचित कार्य को सुनिश्चित करना है। जब पूरे कंप्यूटर सिस्टम के कार्य की बात आती है, तो ऑपरेटिंग सिस्टम यह कार्य करता है। लेकिन रोज़ाना नए डिवाइस और कंपोनेंट्स कंप्यूटर सिस्टम में जोड़े जाते हैं। यह संभव नहीं है कि ऑपरेटिंग सिस्टम अकेले सभी मौजूदा और नए डिवाइसों को संचालित करे, जहाँ प्रत्येक डिवाइस की अलग-अलग विशेषताएँ होती हैं। किसी विशेष डिवाइस के हार्डवेयर स्तर पर समग्र नियंत्रण, संचालन और प्रबंधन की जिम्मेदारी उसके डिवाइस ड्राइवर को सौंपी जाती है।
डिवाइस ड्राइवर डिवाइस और ऑपरेटिंग सिस्टम के बीच एक इंटरफेस के रूप में कार्य करता है। यह आवश्यक सेवाएँ प्रदान करता है जिससे डिवाइस के हार्डवेयर स्तर पर किए गए संचालनों के विवरण छिपे रहते हैं। ठीक एक भाषा अनुवादक की तरह, एक डिवाइस ड्राइवर ऑपरेटिंग सिस्टम और जुड़े हुए डिवाइस के बीच एक मध्यस्थ के रूप में कार्य करता है। सॉफ्टवेयर का वर्गीकरण चित्र 1.13 में दिखाया गया है।
चित्र 1.13: सॉफ्टवेयर का वर्गीकरण
1.7.3 प्रोग्रामिंग टूल्स
कंप्यूटर से कोई कार्य करवाने के लिए, हमें निर्देश देने होते हैं जो इनपुट डेटा पर लागू होकर वांछित परिणाम देते हैं। इन निर्देशों को लिखने के लिए कंप्यूटर भाषाएँ विकसित की गई हैं।
यह समझना महत्वपूर्ण है कि कंप्यूटर और मनुष्य पूरी तरह से अलग-अलग भाषाएँ समझते हैं। जहाँ मनुष्य उच्च-स्तरीय भाषा में प्रोग्राम लिख सकता है, वहीं कंप्यूटर मशीन भाषा समझता है। उच्च स्तर से मशीन स्तर की भाषा में निरंतर रूपांतरण की आवश्यकता होती है, जिसके लिए ट्रांसलेटरों की जरूरत होती है। साथ ही, निर्देश लिखने के लिए कोड एडिटर (जैसे Python में IDLE) की आवश्यकता होती है। हम यहाँ प्रोग्रामिंग भाषाओं, भाषा ट्रांसलेटरों और प्रोग्राम विकास उपकरणों का संक्षेप में वर्णन करेंगे।
(A) प्रोग्रामिंग भाषाओं का वर्गीकरण
मनुष्य के लिए निर्देशों को $1 \mathrm{~s}$ और $0 \mathrm{~s}$ के रूप में लिखना बहुत कठिन होता है। इसलिए कोडिंग को सरल बनाने के लिए विभिन्न प्रकार की कंप्यूटर प्रोग्रामिंग भाषाओं का विकास किया गया है। कंप्यूटर प्रोग्रामिंग भाषाओं की दो प्रमुख श्रेणियाँ हैं — निम्न-स्तरीय भाषाएँ और उच्च-स्तरीय भाषाएँ।
निम्न-स्तरीय भाषाएँ मशीन-निर्भर भाषाएँ होती हैं और इनमें मशीन भाषा और असेंबली भाषा शामिल होती हैं। मशीन भाषा निर्देशों को लिखने के लिए $1 \mathrm{~s}$ और 0 s का उपयोग करती है, जिन्हें कंप्यूटर सीधे समझता और निष्पादित करता है। लेकिन मशीन भाषा में कोड लिखना कठिन होता है क्योंकि सभी ऑपरेशन कोड और मशीन पतों को याद रखना पड़ता है। साथ ही, मशीन भाषा में लिखे गए कोड में त्रुटियाँ खोजना भी कठिन होता है।
कोड लिखने को सरल बनाने के लिए, असेम्बली भाषा विकसित की गई जिसने 1 और 0 के बजाय अंग्रेज़ी जैसे शब्दों और प्रतीकों के उपयोग की अनुमति दी। लेकिन इस भाषा में कोड लिखने का एक प्रमुख दोष यह है कि कोड कंप्यूटर विशिष्ट होता है, अर्थात् एक प्रकार के CPU के लिए लिखा गया कोड किसी अन्य प्रकार के CPU के लिए प्रयोग नहीं किया जा सकता।
हाई लेवल भाषाएँ मशीन स्वतंत्र होती हैं और इनमें कोड लिखना सरल होता है। निर्देश अंग्रेज़ी जैसे वाक्यों का उपयोग करते हैं और प्रत्येक हाई लेवल भाषा प्राकृतिक भाषाओं के समान नियमों के एक समूह का पालन करती है। हालाँकि, ये भाषाएँ कंप्यूटर द्वारा सीधे समझी नहीं जातीं। इसलिए, हाई-लेवल भाषा के कोड को मशीन भाषा में अनुवादित करने के लिए ट्रांसलेटरों की आवश्यकता होती है। हाई लेवल भाषाओं के उदाहरणों में C++, Java, Python आदि शामिल हैं।
(B) भाषा ट्रांसलेटर
चूँकि कंप्यूटर केवल मशीन भाषा को समझ सकता है, इसलिए असेम्बली या हाई लेवल भाषा में लिखे गए प्रोग्राम को मशीन भाषा में बदलने के लिए एक ट्रांसलेटर की आवश्यकता होती है। असेम्बली या हाई-लेवल भाषा में लिखा गया प्रोग्राम कोड सोर्स कोड कहलाता है। ट्रांसलेटर द्वारा सोर्स कोड को मशीन द्वारा समझे जाने योग्य रूप में परिवर्तित किया जाता है जिसे ऑब्जेक्ट (मशीन) कोड कहा जाता है जैसा कि चित्र 1.14 में दिखाया गया है।
चित्र 1.14: सोर्स कोड को ऑब्जेक्ट कोड में बदलने के लिए ट्रांसलेटर
जैसे हमारे पास कंप्यूटर भाषाओं के विभिन्न प्रकार होते हैं, वैसे ही सोर्स कोड को मशीन कोड में बदलने के लिए विभिन्न प्रकार के ट्रांसलेटरों की आवश्यकता होती है। कंप्यूटिंग सिस्टम में प्रयुक्त तीन प्रकार के ट्रांसलेटर असेम्बलर, कंपाइलर और इंटरप्रेटर हैं।
वह ट्रांसलेटर जो असेम्बली भाषा में लिखे गए कोड को मशीन भाषा में बदलता है, उसे असेम्बलर कहा जाता है। प्रत्येक असेम्बलर केवल एक विशिष्ट माइक्रोप्रोसेसर के निर्देश सेट को ही समझ सकता है और इसलिए मशीन कोड पोर्टेबल नहीं होता है।
हमें उच्च स्तरीय भाषा (सोर्स कोड) में लिखे गए कोड को मशीन की समझ में आने वाले रूप (मशीन कोड) में बदलने के लिए भी ट्रांसलेटरों की आवश्यकता होती है ताकि कंप्यूटर द्वारा उसे निष्पादित किया जा सके। कंपाइलर सोर्स कोड को मशीन कोड में बदलता है। यदि कोड भाषा के सभी वाक्य-रचना नियमों का पालन करता है, तो इसे कंप्यूटर द्वारा निष्पादित किया जाता है। एक बार अनुवादित हो जाने के बाद, कंपाइलर की आवश्यकता नहीं रहती है।
एक इंटरप्रेटर पूरी प्रोग्राम को एक साथ अनुवादित करने के बजाय एक पंक्ति को समय पर अनुवादित करता है। इंटरप्रेटर एक पंक्ति लेता है, यदि पंक्ति वाक्य-रचनात्मक रूप से सही है तो इसे निष्पादन योग्य कोड में बदलता है, और फिर यह इन चरणों को सोर्स कोड की सभी पंक्तियों के लिए दोहराता है। इसलिए, जब भी सोर्स कोड को निष्पादित करना हो, इंटरप्रेटर की आवश्यकता होती है।
(C) प्रोग्राम विकास उपकरण
जब भी हम कोई प्रोग्राम लिखने का निर्णय लेते हैं, हमें एक टेक्स्ट एडिटर की आवश्यकता होती है। एक एडिटर एक सॉफ्टवेयर है जो हमें एक टेक्स्ट फ़ाइल बनाने की अनुमति देता है जहाँ हम निर्देश टाइप करते हैं और फ़ाइल को सोर्स कोड के रूप में स्टोर करते हैं। फिर निष्पादन के लिए ऑब्जेक्ट कोड प्राप्त करने के लिए एक उपयुक्त ट्रांसलेटर का उपयोग किया जाता है। प्रोग्राम विकास को सरल बनाने के लिए, ऐसे सॉफ्टवेयर होते हैं जिन्हें इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट (IDE) कहा जाता है जिसमें टेक्स्ट एडिटर, बिल्डिंग टूल्स और डिबगर शामिल होते हैं। एक प्रोग्राम को IDE से सीधे टाइप, कंपाइल और डिबग किया जा सकता है। पायथन IDLE, नेटबीन्स, एक्लिप्स, एटम, लाजारस के अलावा कुछ अन्य IDE उदाहरण हैं। डिबगर, जैसा कि नाम से स्पष्ट है, सोर्स कोड में त्रुटियों का पता लगाने और उन्हें सुधारने के लिए सॉफ्टवेयर है।
1.7.4 एप्लिकेशन सॉफ्टवेयर
सिस्टम सॉफ्टवेयर कंप्यूटर सिस्टम की मुख्य कार्यक्षमता प्रदान करता है। हालांकि, विभिन्न उपयोगकर्ताओं को अपनी आवश्यकताओं के अनुसार कंप्यूटर सिस्टम की विभिन्न उद्देश्यों के लिए आवश्यकता होती है। इसलिए, अंतिम उपयोगकर्ताओं की विभिन्न आवश्यकताओं को पूरा करने के लिए एक नई श्रेणी के सॉफ्टवेयर की आवश्यकता होती है। यह विशिष्ट सॉफ्टवेयर जो सिस्टम सॉफ्टवेयर के ऊपर काम करता है, उसे एप्लिकेशन सॉफ्टवेयर कहा जाता है। एप्लिकेशन सॉफ्टवेयर फिर से दो व्यापक श्रेणियों में आते हैं—सामान्य उद्देश्य और अनुकूलित एप्लिकेशन सॉफ्टवेयर।
गतिविधि 1.7
अपने शिक्षक की सहायता से, अपने कंप्यूटर में एक एप्लिकेशन सॉफ्टवेयर इंस्टॉल करें।
(A) सामान्य उद्देश्य सॉफ्टवेयर
सामान्य अनुप्रयोगों के लिए विकसित किया गया अनुप्रयोग सॉफ्टवेयर, जो व्यापक दर्शकों की आवश्यकताओं को पूरा करने के लिए होता है, सामान्य उद्देश्य सॉफ्टवेयर कहलाता है। ऐसा तैयार-मेड अनुप्रयोग सॉफ्टवेयर अंतिम उपयोगकर्ता अपनी आवश्यकताओं के अनुसार उपयोग कर सकते हैं। उदाहरण के लिए, LibreOffice का स्प्रेडशीट उपकरण Calc किसी भी कंप्यूटर उपयोगकर्ता द्वारा गणना करने या खाता शीट बनाने के लिए उपयोग किया जा सकता है। Adobe Photoshop, GIMP, Mozilla वेब ब्राउज़र, iTunes आदि सामान्य उद्देश्य सॉफ्टवेयर की श्रेणी में आते हैं।
(B) अनुकूलित सॉफ्टवेयर
ये कस्टम या टेलर-मेड अनुप्रयोग सॉफ्टवेयर होते हैं, जो किसी विशिष्ट संगठन या व्यक्ति की आवश्यकताओं को पूरा करने के लिए विकसित किए जाते हैं। ये किसी व्यक्ति या संगठन की जरूरतों के अनुरूप बेहतर होते हैं, क्योंकि ये विशेष आवश्यकताओं के अनुसार डिज़ाइन किए जाते हैं। उपयोगकर्ता-परिभाषित सॉफ्टवेयर के कुछ उदाहरणों में वेबसाइटें, स्कूल प्रबंधन सॉफ्टवेयर, लेखा सॉफ्टवेयर आदि शामिल हैं। यह किसी कपड़े को खरीदने और उसे अपनी पसंद के फिटिंग, रंग और फैब्रिक के साथ टेलर से सिलवाने जैसा है।
एक कंप्यूटर सिस्टम अनुप्रयोग सॉफ्टवेयर के बिना काम कर सकता है, लेकिन यह सिस्टम सॉफ्टवेयर के बिना काम नहीं कर सकता। उदाहरण के लिए, हम कंप्यूटर का उपयोग तब भी कर सकते हैं जब कोई वर्ड प्रोसेसिंग सॉफ्टवेयर इंस्टॉल नहीं है, लेकिन यदि कोई ऑपरेटिंग सिस्टम इंस्टॉल नहीं है, तो हम कंप्यूटर पर काम नहीं कर सकते। दूसरे शब्दों में, अनुप्रयोग सॉफ्टवेयर की अनुपस्थिति में कंप्यूटर का उपयोग संभव है।
1.7.5 मालिकाना या मुफ्त और खुला स्रोत सॉफ्टवेयर
कुछ अनुप्रयोग सॉफ्टवेयर के डेवलपर्स अपना स्रोत कोड तथा सॉफ्टवेयर आम जनता को निःशुल्क उपलब्ध कराते हैं, ताकि एक-दूसरे की मदद से उसे और बेहतर बनाया जा सके। ऐसे सॉफ्टवेयर को मुक्त और मुक्त स्रोत सॉफ्टवेयर (FOSS) कहा जाता है। उदाहरण के लिए, Ubuntu ऑपरेटिंग सिस्टम का स्रोत कोड किसी भी व्यक्ति के लिए स्वतंत्र रूप से उपलब्ध है जिसे आवश्यक ज्ञान हो, ताकि वह उसमें सुधार कर सके या नई कार्यक्षमता जोड़ सके। FOSS के अन्य उदाहरणों में Python, LibreOffice, OpenOffice, Mozilla Firefox आदि शामिल हैं। कभी-कभी सॉफ्टवेयर उपयोग के लिए निःशुल्क उपलब्ध होते हैं, लेकिन उनका स्रोत कोड उपलब्ध नहीं होता।
गतिविधि 1.8
अपने शिक्षक की सहायता से अपने कंप्यूटर पर एक मुक्त और मुक्त स्रोत अनुप्रयोग सॉफ्टवेयर स्थापित करें।
सोचिए और विचार कीजिए
जब कंप्यूटर चालू होता है, तो ऑपरेटिंग सिस्टम को सेकेंडरी स्टोरेज से RAM में कौन लाता है?
ऐसे सॉफ्टवेयर को फ्रीवेयर कहा जाता है। फ्रीवेयर के उदाहरण हैं Skype, Adobe Reader आदि। जब उपयोग किया जाने वाला सॉफ्टवेयर विक्रेता से खरीदना पड़े, जिसके पास उस सॉफ्टवेयर का कॉपीराइट हो, तो वह मालिकाना सॉफ्टवेयर कहलाता है। मालिकाना सॉफ्टवेयर के उदाहरणों में Microsoft Windows, Tally, Quick Heal आदि शामिल हैं। कोई सॉफ्टवेयर फ्रीवेयर, मुक्त स्रोत या मालिकाना सॉफ्टवेयर हो सकता है, यह उस व्यक्ति या समूह की शर्तों और नियमों पर निर्भर करता है जिसने उस सॉफ्टवेयर को विकसित किया और जारी किया है।
1.8 ऑपरेटिंग सिस्टम
एक ऑपरेटिंग सिस्टम (OS) को एक संसाधन प्रबंधक माना जा सकता है जो कंप्यूटर के सभी संसाधनों का प्रबंधन करता है, अर्थात् इसके हार्डवेयर जिसमें CPU, RAM, डिस्क, नेटवर्क और अन्य इनपुट-आउटपुट डिवाइस शामिल हैं। यह विभिन्न एप्लिकेशन सॉफ्टवेयर और डिवाइस ड्राइवरों को नियंत्रित करता है, सिस्टम सुरक्षा का प्रबंधन करता है और विभिन्न उपयोगकर्ताओं द्वारा पहुंच को संभालता है। यह सबसे महत्वपूर्ण सिस्टम सॉफ्टवेयर है। लोकप्रिय OS के उदाहरण हैं Windows, Linux, Android, Macintosh आदि।
एक ऑपरेटिंग सिस्टम के प्राथमिक उद्देश्य दो-गुने हैं। पहला उद्देश्य है एप्लिकेशन प्रोग्रामों को बनाने और चलाने के लिए सेवाएं प्रदान करना। जब किसी एप्लिकेशन प्रोग्राम को चलाने की आवश्यकता होती है, तो यह ऑपरेटिंग सिस्टम होता है जो उस प्रोग्राम को मेमोरी में लोड करता है और इसे निष्पादन के लिए CPU को आवंटित करता है। जब एक से अधिक एप्लिकेशन प्रोग्रामों को चलाने की आवश्यकता होती है, तो ऑपरेटिंग सिस्टम निष्पादन के क्रम का निर्णय लेता है।
ऑपरेटिंग सिस्टम का दूसरा उद्देश्य उपयोगकर्ता के लिए एक इंटरफेस प्रदान करना है जिसके माध्यम से उपयोगकर्ता कंप्यूटर के साथ इंटरैक्ट कर सकता है। एक उपयोगकर्ता इंटरफेस एक सॉफ्टवेयर घटक है जो ऑपरेटिंग सिस्टम का एक हिस्सा है और जिसका काम ऑपरेटिंग सिस्टम द्वारा प्रोसेस करने के लिए उपयोगकर्ता से कमांड या इनपुट लेना है।
1.8.1 OS उपयोगकर्ता इंटरफेस
विभिन्न प्रकार के उपयोगकर्ता इंटरफेस होते हैं जिनमें से प्रत्येक एक अलग कार्यक्षमता प्रदान करता है। कुछ सामान्य रूप से उपयोग किए जाने वाले इंटरफेस चित्र 1.15 में दिखाए गए हैं।
चित्र 1.15: OS के उपयोगकर्ता इंटरफेस के प्रकार
(A) कमांड-आधारित इंटरफेस
कमांड-आधारित इंटरफेस के लिए उपयोगकर्ता को विभिन्न कार्यों जैसे फ़ाइल बनाना, खोलना, संपादित करना या हटाना आदि के लिए कमांड दर्ज करने होते हैं। उपयोगकर्ता को उन सभी प्रोग्रामों या विशिष्ट कमांडों के नाम याद रखने होते हैं जिन्हें ऑपरेटिंग सिस्टम सपोर्ट करता है।
कमांड आधारित इंटरफेस के लिए उपयोगकर्ता द्वारा उपयोग किया जाने वाला प्राथमिक इनपुट डिवाइस कीबोर्ड है। कमांड आधारित इंटरफेस प्रायः कम इंटरैक्टिव होता है और आमतौर पर उपयोगकर्ता को एक समय में एक ही प्रोग्राम चलाने की अनुमति देता है।
कमांड-आधारित इंटरफेस वाले ऑपरेटिंग सिस्टमों के उदाहरणों में MS-DOS और Unix शामिल हैं।
(B) ग्राफिकल यूजर इंटरफेस
ग्राफिकल यूजर इंटरफेस (GUI) उपयोगकर्ताओं को प्रोग्राम चलाने या कंप्यूटर को निर्देश देने के लिए आइकन, मेनू और अन्य दृश्य विकल्पों के रूप में अनुमति देता है। आइकन आमतौर पर कंप्यूटर पर संग्रहीत फ़ाइलों और प्रोग्रामों को दर्शाते हैं और विंडोज़ उन चल रहे प्रोग्रामों को दर्शाते हैं जिन्हें उपयोगकर्ता ने ऑपरेटिंग सिस्टम के माध्यम से लॉन्च किया है।
GUI के साथ इंटरैक्ट करने के लिए उपयोग किए जाने वाले इनपुट डिवाइसों में आमतौर पर माउस और कीबोर्ड शामिल होते हैं। GUI इंटरफेस वाले ऑपरेटिंग सिस्टमों के उदाहरणों में Microsoft Windows, Ubuntu, Fedora और Macintosh आदि शामिल हैं।
(C) टच-आधारित इंटरफेस
आजकल स्मार्टफोन, टैबलेट और PC उपयोगकर्ताओं को सिस्टम के साथ सिर्फ टच इनपुट का उपयोग करके इंटरैक्ट करने की अनुमति देते हैं। टचस्क्रीन का उपयोग करके, उपयोगकर्ता ऑपरेटिंग सिस्टम को इनपुट प्रदान करता है, जिन्हें OS कमांडों के रूप में इंटरप्रिट करता है जैसे कोई ऐप खोलना, ऐप बंद करना, नंबर डायल करना, ऐप्स के बीच स्क्रॉल करना आदि।
स्पर्श-आधारित इंटरफेस वाले लोकप्रिय ऑपरेटिंग सिस्टमों के उदाहरण Android और iOS हैं। Windows 8.1 और 10 भी टचस्क्रीन डिवाइसों पर स्पर्श-आधारित इंटरफेस का समर्थन करते हैं।
(D) आवाज़-आधारित इंटरफेस
आधुनिक कंप्यूटरों को सभी प्रकार के उपयोगकर्ताओं की जरूरतों को ध्यान में रखकर डिज़ाइन किया गया है, जिनमें विशेष जरूरतों वाले लोग और वे लोग शामिल हैं जो किसी अन्य कार्य करते समय कंप्यूटर या स्मार्टफोन से इंटरैक्ट करना चाहते हैं। उन उपयोगकर्ताओं के लिए जो माउस, कीबोर्ड और टचस्क्रीन जैसे इनपुट डिवाइसों का उपयोग नहीं कर सकते, आधुनिक ऑपरेटिंग सिस्टम मानव-कंप्यूटर इंटरैक्शन के अन्य साधन प्रदान करते हैं। उपयोगकर्ता आज आवाज़-आधारित कमांडों का उपयोग करके कंप्यूटर को इच्छित तरीके से काम करवा सकते हैं। कुछ ऑपरेटिंग सिस्टम जो उपयोगकर्ताओं को आवाज़-आधारित नियंत्रण प्रदान करते हैं, उनमें iOS (Siri), Android (Google Now या “OK Google”), Microsoft Windows 10 (Cortana) आदि शामिल हैं।
(E) इशारा-आधारित इंटरफेस
कुछ Android और iOS आधारित स्मार्टफोन के साथ-साथ लैपटॉप उपयोगकर्ताओं को हिलाना, झुकाना, आंखों की हरकत और हिलाने जैसे इशारों का उपयोग करके डिवाइसों से इंटरैक्ट करने देते हैं। यह तकनीक तेजी से विकसित हो रही है और इसमें गेमिंग, चिकित्सा और अन्य क्षेत्रों में अनुप्रयोग के लिए आशाजनक संभावनाएं हैं।
1.8.2 ऑपरेटिंग सिस्टम के कार्य
अब आइए उन महत्वपूर्ण सेवाओं और कार्यों का अन्वेषण करें जो एक ऑपरेटिंग सिस्टम कंप्यूटर सिस्टम के प्रबंधन के लिए प्रदान करता है।
ऑपरेटिंग सिस्टम को संसाधन प्रबंधक कहा जाता है क्योंकि यह मुख्य मेमोरी, CPU, I/O डिवाइसों जैसे विभिन्न संसाधनों का प्रबंधन करता है, ताकि प्रत्येक संसाधन का इष्टतम उपयोग हो और सिस्टम की प्रदर्शन क्षमता में गिरावट न आए।
(A) प्रक्रिया प्रबंधन
जब एक कंप्यूटर सिस्टम संचालित होता है, तो विभिन्न कार्य एक साथ चल रहे होते हैं। एक प्रोग्राम का उद्देश्य विभिन्न कार्यों को करना होता है। निष्पादन में कोई कार्य प्रक्रिया कहलाता है। हम एक सिस्टम मॉनिटर प्रोग्राम सक्रिय कर सकते हैं जो कंप्यूटर पर चल रही प्रक्रियाओं की जानकारी देता है। कुछ सिस्टमों में इसे Ctrl+Alt+Delete दबाकर सक्रिय किया जा सकता है। इन प्रक्रियाओं का प्रबंधन करना और अनेक कार्यों को न्यूनतम समय में पूरा करवाना ऑपरेटिंग सिस्टम की जिम्मेदारी है। चूँकि CPU कंप्यूटर सिस्टम का मुख्य संसाधन है, प्रक्रियाओं के बीच इसका आवंटन ऑपरेटिंग सिस्टम की सबसे महत्वपूर्ण सेवा है। इसलिए प्रक्रिया प्रबंधन से तात्पर्य अनेक प्रक्रियाओं के प्रबंधन, आवश्यक संसाधनों के आवंटन और प्रक्रियाओं के बीच सूचना के आदान-प्रदान से है।
(B) मेमोरी प्रबंधन
कंप्यूटर सिस्टम की प्राथमिक या मुख्य मेमोरी आमतौर पर सीमित होती है। मेमोरी प्रबंधन का मुख्य कार्य चल रही प्रक्रियाओं को मेमोरी देना (आवंटित करना) और लेना (मुक्त करना) है। चूँकि एक समय में कई प्रक्रियाएँ चल रही होती हैं, इसलिए प्रक्रियाओं को मेमोरी को गतिशील रूप से (चलते-चलते) आवंटित और मुक्त करने की आवश्यकता होती है। ऑपरेटिंग सिस्टम को यह कार्य उन अन्य प्रक्रियाओं को प्रभावित किए बिना करना चाहिए जो पहले से मेमोरी में मौजूद हैं और एक बार प्रक्रिया समाप्त हो जाने पर, मेमोरी स्थान को पुन: उपयोग के लिए वापस लेना फिर से ऑपरेटिंग सिस्टम की जिम्मेदारी है। इसलिए, मेमोरी प्रबंधन मुख्य मेमोरी के प्रबंधन से संबंधित है ताकि अधिकतम मेमोरी बड़ी संख्या में प्रक्रियाओं द्वारा अधिकृत या उपयोग में रहे, जबकि मेमोरी के भीतर प्रत्येक स्थान को खाली या अधिकृत के रूप में ट्रैक किया जाए।
(C) फ़ाइल प्रबंधन
डेटा और प्रोग्राम कंप्यूटर सिस्टम की द्वितीयक स्टोरेज में फ़ाइलों के रूप में संग्रहीत किए जाते हैं। फ़ाइल प्रबंधन में द्वितीयक मेमोरी में इन फ़ाइलों का निर्माण, अद्यतन, विलोपन और सुरक्षा शामिल होती है। सुरक्षा ऑपरेटिंग सिस्टम की एक महत्वपूर्ण कार्यविधि है, क्योंकि कई उपयोगकर्ता कंप्यूटर सिस्टम तक पहुँच और उपयोग कर सकते हैं। एक ऐसी व्यवस्था होनी चाहिए जो उपयोगकर्ताओं को उन फ़ाइलों तक पहुँचने से रोके जो किसी अन्य उपयोगकर्ता की हैं और उनके साथ साझा नहीं की गई हैं। फ़ाइल प्रबंधन प्रणाली द्वितीयक मेमोरी का प्रबंधन करती है, जबकि मेमोरी प्रबंधन प्रणाली कंप्यूटर सिस्टम की मुख्य मेमोरी को संभालती है।
(D) डिवाइस प्रबंधन
एक कंप्यूटर सिस्टम से कई I/O डिवाइसेज़ और हार्डवेयर जुड़े होते हैं। ऑपरेटिंग सिस्टम इन परस्पर आश्रित विषम डिवाइसेज़ का प्रबंधन करता है। ऑपरेटिंग सिस्टम किसी विशेष डिवाइस के लिए डिवाइस ड्राइवर और संबंधित सॉफ़्टवेयर के साथ इंटरैक्ट करता है। ऑपरेटिंग सिस्टम को किसी विशेष डिवाइस को कॉन्फ़िगर करने के विकल्प भी प्रदान करने चाहिए, ताकि उसका उपयोग अंतिम उपयोगकर्ता या कोई अन्य डिवाइस कर सके। फ़ाइलों की तरह, डिवाइसेज़ को भी सुरक्षा उपायों की आवश्यकता होती है और ऑपरेटिंग सिस्टम को विभिन्न डिवाइसेज़ तक उनकी पहुंच को अधिकृत उपयोगकर्ताओं, सॉफ़्टवेयर और अन्य हार्डवेयर तक ही सीमित करना चाहिए।
सारांश
- एक कम्प्यूटिंग डिवाइस, जिसे कम्प्यूटर भी कहा जाता है, दी गई निर्देशों के अनुसार इनपुट डेटा को प्रोसेस करता है ताकि वांछित आउटपुट उत्पन्न हो सके।
- कम्प्यूटर सिस्टम के चार भौतिक घटक होते हैं अर्थात् (i) सीपीयू, (ii) प्राइमरी मेमोरी, (iii) इनपुट डिवाइस और (iv) आउटपुट डिवाइस। इन्हें कम्प्यूटर का हार्डवेयर कहा जाता है।
- कम्प्यूटर सिस्टम में दो प्रकार की प्राइमरी मेमोरी होती हैं अर्थात् (i) रैम, जो वोलेटाइल मेमोरी है और (ii) रोम, जो नॉन-वोलेटाइल मेमोरी है।
- सिस्टम बस का उपयोग कम्प्यूटर सिस्टम के घटकों के बीच डेटा, एड्रेस और नियंत्रण सिग्नल ट्रांसफर करने के लिए किया जाता है।
- माइक्रोप्रोसेसर कम्प्यूटर के अंदर एक छोटे आकार का इलेक्ट्रॉनिक घटक होता है जो डेटा पर बुनियादी अंकगणितीय और लॉजिकल ऑपरेशन करता है।
- माइक्रोकंट्रोलर एक छोटा कम्प्यूटिंग डिवाइस होता है जिसमें एक सीपीयू, निश्चित मात्रा में रैम, रोम और अन्य पेरिफेरल्स एक ही चिप पर एम्बेडेड होते हैं।
- सॉफ्टवेयर निर्देशों का एक समूह होता है जिसे वांछित कार्यों को पूरा करने के लिए लिखा जाता है और इसे मुख्यतः सिस्टम सॉफ्टवेयर, प्रोग्रामिंग टूल्स और एप्लिकेशन सॉफ्टवेयर के रूप में वर्गीकृत किया जाता है।
- कम्प्यूटर का हार्डवेयर अपने आप कार्य नहीं कर सकता। इसे संचालित या कार्यात्मक बनाने के लिए सॉफ्टवेयर की आवश्यकता होती है।
- ऑपरेटिंग सिस्टम उपयोगकर्ता और कम्प्यूटर के बीच एक इंटरफेस होता है और कम्प्यूटर सिस्टम के कार्य की देखरेख करता है, अर्थात् यह कम्प्यूटर सिस्टम के हार्डवेयर और सॉफ्टवेयर की निगरानी और नियंत्रण करता है।
अभ्यास
1. वह सॉफ्टवेयर का नाम बताइए जिससे कम्प्यूटर कार्यात्मक बनता है। इसकी दो प्राथमिक सेवाएँ लिखिए।
2. कम्प्यूटर उच्च स्तरीय भाषा में लिखे गए प्रोग्राम को कैसे समझता है?
3. मशीन कोड का निष्पादन समय सोर्स कोड से कम क्यों होता है?
4. RAM की आवश्यकता क्यों है? यह ROM से किस प्रकार भिन्न है?
5. सेकेंडरी मेमोरी की आवश्यकता क्यों है?
6. कंप्यूटर के विभिन्न घटक एक-दूसरे से कैसे संवाद करते हैं?
7. कंप्यूटर सिस्टम का ब्लॉक डायग्राम बनाइए। प्रत्येक घटक की कार्यक्षमता के बारे में संक्षेप में लिखिए।
8. सिस्टम बस की प्राथमिक भूमिका क्या है? डेटा बस द्विदिश क्यों होती है जबकि एड्रेस बस एकदिश होती है?
9. प्रोपराइटरी सॉफ्टवेयर और फ्रीवेयर सॉफ्टवेयर के बीच अंतर बताइए। प्रत्येक प्रकार के दो सॉफ्टवेयरों के नाम लिखिए।
10. माइक्रोकंट्रोलर और माइक्रोप्रोसेसर के बीच मुख्य अंतर लिखिए। स्मार्ट होम उपकरणों में माइक्रोप्रोसेसर के बजाय माइक्रोकंट्रोलर क्यों होता है?
11. इंटरनेट ब्राउज़ करते समय आपके द्वारा निपटे जाने वाले विभिन्न प्रकार के डेटा का उल्लेख कीजिए।
12. निम्नलिखित डेटा को संरचित, अर्ध-संरचित और असंरचित के रूप में वर्गीकृत कीजिए:
- अखबार
- क्रिकेट मैच स्कोर
- HTML पेज
- अस्पताल में मरीज़ों के रिकॉर्ड
13. निम्नलिखित कार्यों को करने के लिए उपयोग किए जाने वाले इनपुट या आउटपुट डिवाइस के नाम लिखिए:
a) ऑडियो आउटपुट करने के लिए
b) टेक्स्टुअल डेटा दर्ज करने के लिए
c) टेक्स्ट फ़ाइल की हार्ड कॉपी बनाने के लिए
d) डेटा या सूचना प्रदर्शित करने के लिए
e) ऑडियो-आधारित कमांड दर्ज करने के लिए
f) 3D मॉडल बनाने के लिए
g) दृष्टिहीन व्यक्ति को डेटा दर्ज करने में सहायता करने के लिए
14. निम्नलिखित सॉफ्टवेयर की श्रेणी (सिस्टम, एप्लिकेशन, प्रोग्रामिंग टूल) की पहचान कीजिए:
a) कंपाइलर
b) असेंबलर
c) Ubuntu
d) टेक्स्ट एडिटर
खुद एक्सप्लोर करें
1. अपने शिक्षक से पूछें कि वे आपकी कंप्यूटर में इंस्टॉल किए गए किन्हीं दो डिवाइस ड्राइवरों को ढूंढने में आपकी मदद करें।
2. अपने कंप्यूटर में इंस्टॉल किए गए किन्हीं दो सिस्टम सॉफ्टवेयर और दो एप्लिकेशन सॉफ्टवेयर लिखें।
3. आपके पर्सनल कंप्यूटर में कौन-सा माइक्रोप्रोसेसर है? यह किस जनरेशन से संबंधित है?
4. आपके माइक्रोप्रोसेसर की क्लॉक स्पीड क्या है?
5. अपने स्कूल या घर में ऐसे किन्हीं दो उपकरणों के नाम बताएं जिनमें माइक्रोकंट्रोलर हो।
6. अपने स्कूल के कंप्यूटर में रैम और एचडीडी का साइज चेक करें। एक टेबल बनाएं और उनका साइज बाइट्स, किलोबाइट्स, मेगाबाइट्स और गीगाबाइट्स में लिखें।
7. अपने स्कूल या घर में उपलब्ध सभी सेकेंडरी स्टोरेज डिवाइसों की सूची बनाएं।
8. आपके घर या स्कूल के कंप्यूटर में कौन-सा ऑपरेटिंग सिस्टम इंस्टॉल है?