अध्याय 01 कंप्यूटर प्रणाली

“यदि कोई कंप्यूटर किसी मानव को यह विश्वास दिला सके कि वह स्वयं मानव है, तो उसे बुद्धिमान कहलाने का अधिकार होगा।”

— एलन ट्यूरिंग

1.1 कंप्यूटर प्रणाली का परिचय

कंप्यूटर एक इलेक्ट्रॉनिक युक्ति है जिसे डेटा (इनपुट) स्वीकार करने, उसे संसाधित करने और परिणाम (आउटपुट) उत्पन्न करने के लिए प्रोग्राम किया जा सकता है। एक कंप्यूटर के साथ अतिरिक्त हार्डवेयर और सॉफ्टवेयर को मिलाकर कंप्यूटर प्रणाली कहा जाता है।

एक कंप्यूटर प्रणाली मुख्यतः एक सेंट्रल प्रोसेसिंग यूनिट, मेमोरी, इनपुट/आउटपुट उपकरणों और स्टोरेज उपकरणों से बनी होती है। ये सभी घटक एकल इकाई के रूप में एक साथ कार्य करते हैं ताकि वांछित आउटपुट प्रदान किया जा सके। एक कंप्यूटर प्रणाली विभिन्न रूपों और आकारों में आती है। यह एक हाई-एंड सर्वर से लेकर पर्सनल डेस्कटॉप, लैपटॉप, टैबलेट कंप्यूटर या स्मार्टफोन तक हो सकती है।

चित्र 1.1: कंप्यूटर प्रणाली के घटक

चित्र 1.1 एक कंप्यूटर प्रणाली का ब्लॉक आरेख दिखाता है। निर्देशित रेखाएँ घटकों के बीच डेटा और सिग्नल के प्रवाह को दर्शाती हैं।

1.1.1 सेंट्रल प्रोसेसिंग यूनिट (CPU)

यह कंप्यूटर की इलेक्ट्रॉनिक सर्किट्री है जो वास्तविक प्रोसेसिंग करती है और आमतौर पर इसे कंप्यूटर का मस्तिष्क कहा जाता है। इसे सामान्यतः ‘प्रोसेसर’ भी कहा जाता है। भौतिक रूप से, CPU एक या अधिक माइक्रोचिप्स पर स्थित हो सकता है जिन्हें इंटीग्रेटेड सर्किट्स (IC) कहा जाता है। ICs अर्धचालक सामग्रियों से बने होते हैं।

CPU को प्रोग्राम्स के माध्यम से निर्देश और डेटा दिया जाता है। CPU फिर मेमोरी से प्रोग्राम और डेटा लाता है और दिए गए निर्देशों के अनुसार अंकगणितीय और तार्किक संचालन करता है और परिणाम को वापस मेमोरी में संग्रहित करता है।

प्रोसेसिंग के दौरान, CPU डेटा और निर्देशों को अपनी स्थानीय मेमोरी ‘रजिस्टर्स’ में संग्रहित करता है। रजिस्टर्स CPU चिप का हिस्सा होते हैं और इनकी संख्या और आकार सीमित होते हैं। विभिन्न रजिस्टर्स डेटा, निर्देशों या मध्यवर्ती परिणामों को संग्रहित करने के लिए उपयोग किए जाते हैं।

रजिस्टर्स के अलावा, CPU के दो मुख्य घटक होते हैं - अंकगणितीय तर्क इकाई (ALU) और नियंत्रण इकाई (CU)। ALU सभी अंकगणितीय और तार्किक संचालन करता है जो प्रोग्राम में निर्देश के अनुसार करने की आवश्यकता होती है। CU क्रमिक निर्देश निष्पादन को नियंत्रित करती है, निर्देशों की व्याख्या करती है और कंप्यूटर की मेमोरी, ALU और इनपुट या आउटपुट उपकरणों के माध्यम से डेटा प्रवाह का मार्गदर्शन करती है। CPU को सामान्यतः माइक्रोप्रोसेसर भी कहा जाता है।

1.1.2 इनपुट डिवाइस

जिन उपकरणों के माध्यम से नियंत्रण संकेत कंप्यूटर को भेजे जाते हैं, उन्हें इनपुट डिवाइस कहा जाता है। ये उपकरण इनपुट डेटा को डिजिटल रूप में परिवर्तित करते हैं जो कंप्यूटर सिस्टम द्वारा स्वीकार्य होता है। इनपुट डिवाइसों के कुछ उदाहरणों में कीबोर्ड, माउस, स्कैनर, टच स्क्रीन आदि शामिल हैं, जैसा कि चित्र 1.2 में दिखाया गया है। दृष्टिबाधित लोगों की सहायता के लिए विशेष रूप से डिज़ाइन किए गए ब्रेल कीबोर्ड भी उपलब्ध हैं जिनके माध्यम से डेटा कंप्यूटर में दर्ज किया जा सकता है। इसके अतिरिक्त, अब हम आवाज के माध्यम से भी डेटा दर्ज कर सकते हैं, उदाहरण के लिए, हम Google वॉयस सर्च का उपयोग कर वेब को खोज सकते हैं जहाँ हम अपनी आवाज के माध्यम से खोज स्ट्रिंग इनपुट कर सकते हैं।

चित्र 1.2: इनपुट डिवाइस

इनपुट डिवाइस के माध्यम से दर्ज किया गया डेटा अस्थायी रूप से कंप्यूटर सिस्टम की मुख्य मेमोरी (जिसे RAM भी कहा जाता है) में संग्रहित किया जाता है। स्थायी संग्रहण और भविष्य के उपयोग के लिए, डेटा के साथ-साथ निर्देशों को स्थायी रूप से अतिरिक्त संग्रहण स्थानों में संग्रहित किया जाता है जिन्हें सेकेंडरी मेमोरी कहा जाता है।

1.1.3 आउटपुट डिवाइस

वह उपकरण जो डेटा को कंप्यूटर सिस्टम से प्राप्त कर प्रदर्शन, भौतिक उत्पादन आदि के लिए प्रयोग करता है, उसे आउटपुट डिवाइस कहा जाता है। यह डिजिटल सूचना को मानव-समझने योग्य रूप में परिवर्तित करता है। उदाहरण के लिए, मॉनिटर, प्रोजेक्टर, हेडफोन, स्पीकर, प्रिंटर आदि। कुछ आउटपुट डिवाइस चित्र 1.3 में दिखाए गए हैं। एक ब्रेल डिस्प्ले मॉनिटर दृष्टिबाधित व्यक्ति के लिए उपयोगी होता है ताकि वह कंप्यूटर द्वारा उत्पन्न पाठ्य आउटपुट को समझ सके।

चित्र 1.3: आउटपुट डिवाइसेज़

प्रिंटर सबसे आमतौर पर इस्तेमाल किया जाने वाला उपकरण है जिससे आउटपुट भौतिक (हार्डकॉपी) रूप में प्राप्त किया जाता है। सामान्यतः प्रयोग होने वाले तीन प्रकार के प्रिंटर हैं इंकजेट, लेजरजेट और डॉट मैट्रिक्स। आजकल एक नए प्रकार का प्रिंटर 3D-प्रिंटर भी है, जिसका उपयोग डिजिटल 3D डिज़ाइन की भौतिक प्रतिकृति बनाने के लिए किया जाता है। ये प्रिंटर विनिर्माण उद्योगों में उत्पादों के प्रोटोटाइप बनाने के लिए उपयोग किए जा रहे हैं। इनका उपयोग चिकित्सा क्षेत्र में भी खोजा जा रहा है, विशेषकर शरीर के अंगों के विकास के लिए।

1.2 कंप्यूटर का विकास

सरल कैलकुलेटर से लेकर आधुनिक शक्तिशाली डेटा प्रोसेसर तक, कंप्यूटिंग डिवाइसेज़ अपेक्षाकृत कम समय में विकसित हुई हैं। कंप्यूटिंग डिवाइसेज़ के विकास को चित्र 1.5 में एक समयरेखा के माध्यम से दिखाया गया है।

वॉन न्यूमान आर्किटेक्चर चित्र 1.4 में दिखाया गया है। इसमें अंकगणितीय और तार्किक निर्देशों को प्रोसेस करने के लिए एक सेंट्रल प्रोसेसिंग यूनिट (CPU), डेटा और प्रोग्राम्स को स्टोर करने के लिए मेमोरी, इनपुट और आउटपुट डिवाइसेज़ और आउटपुट डेटा भेजने/प्राप्त करने के लिए संचार चैनल शामिल हैं। इलेक्ट्रॉनिक न्यूमेरिकल इंटीग्रेटर एंड कंप्यूटर (ENIAC) वॉन न्यूमान आर्किटेक्चर पर आधारित पहला बाइनरी प्रोग्रामेबल कंप्यूटर है।

1970 के दशक के दौरान, इलेक्ट्रॉनिक सर्किट्स की लार्ज स्केल इंटीग्रेशन (LSI) ने इंटीग्रेशन की अनुमति दी

चित्र 1.4: कंप्यूटर के लिए वॉन न्यूमैन आर्किटेक्चर

चित्र 1.5: कंप्यूटिंग प्रौद्योगिकी में प्रमुख आविष्कारों को दर्शाता समयरेखा

एकल चिप पर पूर्ण CPU, जिसे माइक्रोप्रोसेसर कहा जाता है। मूर के नियम ने भविष्यवाणी की कि एकल माइक्रोचिप में असेंबल किए जा सकने वाले ट्रांजिस्टरों की संख्या में घातीय वृद्धि होगी। 1980 के दशक में, कंप्यूटरों की प्रोसेसिंग शक्ति घातीय रूप से बढ़ी, जब एक छोटे आकार की चिप पर लगभग 3 मिलियन घटकों को एकीकृत किया गया, जिसे वेरी लार्ज स्केल इंटीग्रेशन (VLSI) कहा जाता है। प्रौद्योगिकी में आगे की प्रगति ने एकल IC पर ट्रांजिस्टरों और अन्य घटकों की उच्च घनत्व (लगभग 106 घटक) को फैब्रिकेट करना संभव बना दिया है, जिसे सुपर लार्ज स्केल इंटीग्रेशन (SLSI) कहा जाता है, जैसा कि चित्र 1.6 में दिखाया गया है।

एक पंच कार्ड कागज का एक कठोर टुकड़ा होता है जो पूर्वनिर्धारित स्थानों पर छिद्रों के रूप में डिजिटल डेटा संग्रहीत करता है।

IBM ने 1981 में घरेलू उपयोगकर्ता के लिए अपना पहला पर्सनल कंप्यूटर (PC) पेश किया, Apple ने 1984 में Macintosh मशीनें पेश कीं। ग्राफिकल यूजर इंटरफेस (GUI) के परिचय से PC की लोकप्रियता में उछाल आया।

चित्र 1.6: समय के साथ ICs में प्रयुक्त ट्रांजिस्टरों की संख्या में घातीय वृद्धि

माइक्रोसॉफ्ट और अन्य कंपनियों के GUI आधारित ऑपरेटिंग सिस्टम ने UNIX या DOS जैसे केवल कमांड लाइन इंटरफेस वाले कंप्यूटरों की जगह ले ली। लगभग 1990 के दशक में वर्ल्ड वाइड वेब (WWW) की वृद्धि ने कंप्यूटरों के द्रुत उपयोग को और तेज कर दिया और तब से कंप्यूटर रोज़मर्रा के जीवन का अनिवार्य हिस्सा बन गए हैं।

इसके अतिरिक्त, लैपटॉपों के आगमन से व्यक्तिगत कंप्यूटिंग काफी हद तक पोर्टेबल हो गई। इसके बाद स्मार्टफोन, टैबलेट और अन्य व्यक्तिगत डिजिटल सहायक उपकरण आए। इन उपकरणों ने प्रोसेसर मिनिएचराइज़ेशन, तेज़ मेमोरी, उच्च गति वाले डेटा और कनेक्टिविटी तंत्रों में तकनीकी प्रगति का लाभ उठाया है।

1965 में, इंटेल के सह-संस्थापक गॉर्डन मूर ने मूर के नियम को प्रस्तुत किया, जिसने भविष्यवाणी की कि चिप पर ट्रांजिस्टरों की संख्या हर दो वर्षों में दोगुनी हो जाएगी जबकि लागत आधी हो जाएगी।

कंप्यूटिंग उपकरणों की अगली लहर में स्मार्ट वॉच, लेंस, हेडबैंड, हेडफोन आदि जैसे वियरेबल गैजेट्स शामिल हैं। इसके अतिरिक्त, स्मार्ट उपकरण आर्टिफिशियल इंटेलिजेंस की शक्ति का लाभ उठाकर इंटरनेट ऑफ थिंग्स (IoT) का हिस्सा बन रहे हैं।

1.3 कंप्यूटर मेमोरी

एक कंप्यूटर सिस्टम को डेटा और प्रोसेसिंग के लिए निर्देशों को संग्रहीत करने के लिए मेमोरी की आवश्यकता होती है। जब भी हम कंप्यूटर सिस्टम की “मेमोरी” की बात करते हैं, तो आमतौर पर हम मुख्य या प्राइमरी मेमोरी की बात करते हैं। सेकेंडरी मेमोरी (जिसे स्टोरेज डिवाइस भी कहा जाता है) का उपयोग डेटा, निर्देशों और परिणामों को स्थायी रूप से और भविष्य के उपयोग के लिए संग्रहीत करने के लिए किया जाता है।

1.3.1 मेमोरी की इकाइयाँ

एक कंप्यूटर सिस्टम डेटा को संग्रहीत और प्रोसेस करने के लिए बाइनरी संख्याओं का उपयोग करता है। बाइनरी अंक 0 और 1, जो मेमोरी की मूलभूत इकाइयाँ हैं, बिट्स कहलाते हैं। आगे चलकर, इन बिट्स को समूहों में व्यवस्थित करके शब्द (words) बनाए जाते हैं। 4-बिट के शब्ब्द को निबल कहा जाता है। निबल के उदाहरण हैं 1001, 1010, 0010 आदि। दो निबल वाला शब्द, अर्थात् 8-बिट शब्द, एक बाइट कहलाता है, उदाहरण के लिए, $01000110,01111100,10000001$, आदि। किसी अन्य मानक इकाई की तरह, बाइट्स को बड़े समूहों या मेमोरी की बड़ी इकाइयाँ बनाने के लिए एक साथ जोड़ा जाता है। तालिका 1.1 कंप्यूटर मेमोरी में संग्रहीत डिजिटल डेटा के लिए विभिन्न मापन इकाइयाँ दिखाती है।

तालिका 1.1 डिजिटल डेटा के लिए मापन इकाइयाँ

इकाई विवरण इकाई विवरण
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 अस्थायी (volatile) होती है, अर्थात जब तक कंप्यूटर को बिजली की आपूर्ति होती रहती है, तब तक यह अपने भीतर डेटा को संरक्षित रखती है। लेकिन जैसे ही बिजली की आपूर्ति बंद हो जाती है, RAM की सारी सामग्री मिट जाती है। इसका उपयोग कंप्यूटर के कार्यरत रहने के दौरान अस्थायी रूप से डेटा संग्रहीत करने के लिए किया जाता है। जब भी कंप्यूटर प्रारंभ होता है या कोई सॉफ्टवेयर एप्लिकेशन लॉन्च किया जाता है, आवश्यक प्रोग्राम और डेटा प्रोसेसिंग के लिए RAM में लोड किए जाते हैं। RAM को सामान्यतः मुख्य मेमोरी कहा जाता है और यह द्वितीयक मेमोरी या संग्रहण उपकरणों की तुलना में तेज होती है।

सोचिए और विचार कीजिए

मान लीजिए एक कंप्यूटर है जिसमें RAM है लेकिन कोई द्वितीयक संग्रहण नहीं है। क्या हम उस कंप्यूटर पर कोई सॉफ्टवेयर इंस्टॉल कर सकते हैं?

दूसरी ओर, ROM अस्थायी नहीं (non-volatile) होती है, अर्थात इसकी सामग्री बिजली बंद होने पर भी नष्ट नहीं होती। इसका उपयोग उन सामग्रियों के लिए छोटे लेकिन तेज स्थायी संग्रहण के रूप में किया जाता है जो शायद ही बदली जाती हैं। उदाहरण के लिए, स्टार्टअप प्रोग्राम (बूट लोडर) जो ऑपरेटिंग सिस्टम को RAM में लोड करता है, एक ROM में संग्रहीत होता है।

(B) कैश मेमोरी

RAM द्वितीयक भंडारण (secondary storage) से तेज होती है, लेकिन कंप्यूटर प्रोसेसर जितनी तेज नहीं। इसलिए, RAM के कारण CPU को धीमा पड़ सकता है। CPU के संचालन को तेज करने के लिए, CPU और प्राथमिक स्मृति के बीच एक बहुत ही उच्च गति की स्मृति रखी जाती है जिसे कैश (cache) कहा जाता है। यह बार-बार एक्सेस होने वाली प्राथमिक स्मृति स्थानों से डेटा की प्रतियाँ संग्रहित करती है, इस प्रकार प्राथमिक स्मृति से डेटा तक पहुँचने के लिए औसत समय को कम करती है। जब CPU को स्मृति तक पहुँचने की आवश्यकता होती है, तो वह पहले कैश की जाँच करता है। यदि आवश्यकता पूरी हो जाती है, तो यह कैश से पढ़ा जाता है, अन्यथा प्राथमिक स्मृति तक पहुँचा जाता है।

(C) द्वितीयक स्मृति

प्राथमिक स्मृति की भंडारण क्षमता सीमित होती है और यह या तो अस्थायी (RAM) होती है या केवल-पढ़ने योग्य (ROM)। इस प्रकार, एक कंप्यूटर प्रणाली को डेटा या निर्देशों को स्थायी रूप से भविष्य के उपयोग के लिए संग्रहित करने के लिए सहायक या द्वितीयक स्मृति की आवश्यकता होती है। द्वितीयक स्मृति अस्थायी नहीं होती है और इसकी भंडारण क्षमता प्राथमिक स्मृति से अधिक होती है। यह मुख्य स्मृति की तुलना में धीमी और सस्ती होती है। लेकिन, इसे CPU द्वारा सीधे एक्सेस नहीं किया जा सकता। द्वितीयक भंडारण की सामग्री को CPU तक पहुँचाने के लिए पहले मुख्य स्मृति में लाया जाना चाहिए। द्वितीयक स्मृति उपकरणों के उदाहरणों में हार्ड डिस्क ड्राइव (HDD), CD/DVD, मेमोरी कार्ड आदि शामिल हैं, जैसा कि चित्र 1.7 में दिखाया गया है।

हालांकि, आजकल सॉलिड-स्टेट ड्राइव (SSD) जैसे द्वितीयक भंडारण उपकरण उपलब्ध हैं जो पुराने HDD की तुलना में बहुत तेज डेटा ट्रांसफर स्पीड प्रदान करते हैं। साथ ही, छोटे आकार और पोर्टेबल फ्लैश/पेन ड्राइव की उपलब्धता के कारण कंप्यूटरों के बीच डेटा ट्रांसफर आसान और सरल हो गया है।

चित्र 1.7: भंडारण उपकरण

गतिविधि 1.1

अपने स्कूल या घर में उपलब्ध सभी द्वितीयक भंडारण उपकरणों की सूची बनाएं।

1.3.3 डेटा कैप्चरिंग, भंडारण और पुनःप्राप्ति

डेटा को प्रोसेस करने के लिए, हमें पहले डेटा इनपुट या कैप्चर करना होता है। इसके बाद इसे किसी फ़ाइल या डेटाबेस में संग्रहीत किया जाता है ताकि भविष्य में इसका उपयोग किया जा सके। जब भी डेटा को प्रोसेस करना होता है, तो पहले इसे फ़ाइल/डेटाबेस से पुनःप्राप्त किया जाता है ताकि हम इस पर आगे की कार्रवाई कर सकें।

(A) डेटा कैप्चरिंग

इसमें विभिन्न स्रोतों से डिजिटल रूप में डेटा एकत्र करने की प्रक्रिया शामिल होती है। डेटा को कीबोर्ड, बारकोड रीडर (जैसा कि चित्र 1.8 (चित्र 1.8) में दिखाया गया है), पृथ्वी की कक्षा में घूमने वाले उपग्रहों पर लगे रिमोट सेंसर आदि का उपयोग करके कैप्चर किया जा सकता है। सोशल मीडिया पर किए गए कमेंट्स/पोस्ट भी डेटा के रूप में कैप्चर किए जाते हैं। कभी-कभी डेटा स्रोतों में विषमता डेटा कैप्चरिंग को एक जटिल कार्य बना देती है।

चित्र 1.8: बारकोड रीडर का उपयोग कर डेटा कैप्चर करना

गतिविधि 1.2

बैंक, ऑटोमोबाइल शोरूम, शॉपिंग मॉल, तहसील कार्यालय आदि में से कुछ स्थानों पर जाएं और डिजिटल प्रारूप में डेटा कैप्चर करने के लिए उपयोग होने वाले 2-3 उपकरणों/साधनों के नाम ज्ञात करें।

(B) डेटा संग्रहण

यह प्रक्रिया कैप्चर किए गए डेटा को भविष्य में प्रोसेसिंग के लिए संग्रहित करने की है। आजकल डेटा बहुत तेजी से उत्पन्न हो रहा है, और इसलिए डेटा संग्रहण एक चुनौतीपूर्ण कार्य बन गया है। हालांकि, डिजिटल संग्रहण उपकरणों की लागत में कमी ने इस कार्य को सरल बनाने में मदद की है। बाजार में अनेक डिजिटल संग्रहण उपकरण उपलब्ध हैं जैसा कि चित्र 1.7 में दिखाया गया है।

समय के साथ डेटा बढ़ता रहता है। इसलिए, संग्रहण उपकरणों को भी समय-समय पर अपग्रेड करने की आवश्यकता होती है। बड़े संगठनों में, विशाल मात्रा में डेटा संग्रहित करने के लिए बड़े और तेज संग्रहण वाले कंप्यूटरों को डेटा सर्वर के रूप में तैनात किया जाता है। ऐसे समर्पित कंप्यूटर डेटा को कुशलता से प्रोसेस करने में मदद करते हैं। हालांकि, डेटा सर्वर स्थापित करने की लागत (हार्डवेयर और सॉफ्टवेयर दोनों) और इसके रखरखाव की लागत अधिक होती है, विशेष रूप से छोटे संगठनों और स्टार्टअप्स के लिए।

(C) डेटा पुनर्प्राप्ति

यह भंडारण उपकरणों से डेटा को प्राप्त करने से संबंधित है, ताकि उपयोगकर्ता की आवश्यकता के अनुसार उसे संसाधित किया जा सके। जैसे-जैसे डेटाबेस बढ़ते हैं, स्वीकार्य समय में डेटा की खोज और पुनःप्राप्ति में शामिल चुनौतियाँ भी बढ़ती हैं। डेटा प्रोसेसिंग को तेज करने के लिए डेटा एक्सेस समय को कम करना महत्वपूर्ण है।

1.3.4 डेटा विलोपन और पुनःप्राप्ति

डिजिटल डेटा से जुड़ा सबसे बड़ा खतरा उसके विलोपन से है। भंडारण उपकरण खराब हो सकते हैं या क्रैश हो सकते हैं जिससे संग्रहीत डेटा का विलोपन हो जाता है। उपयोगकर्ता गलती से भंडारण उपकरणों से डेटा मिटा सकते हैं, या कोई हैकर/मैलवेयर जानबूझकर डिजिटल डेटा को हटा सकता है।

डिजिटल रूप से संग्रहीत डेटा को हटाने का अर्थ है बिट स्तर पर डेटा के विवरण को बदलना, जो बहुत समय लेने वाला हो सकता है। इसलिए, जब कोई डेटा सामान्य रूप से हटाया जाता है, तो उसका पता प्रविष्टि को मुक्त के रूप में चिह्नित किया जाता है और उतनी स्पेस उपयोगकर्ता को खाली दिखाई देती है, बिना वास्तव में डेटा को हटाए।

यदि डेटा गलती से हट जाता है या भ्रष्ट हो जाता है, तो डेटा की पुनःप्राप्ति की आवश्यकता उत्पन्न होती है। डेटा की पुनःप्राप्ति तभी संभव है जब हटाए गए चिह्नित सामग्री/मेमोरी स्पेस को किसी अन्य डेटा द्वारा अधिलेखित नहीं किया गया हो। डेटा पुनःप्राप्ति द्वितीयक भंडारण उपकरणों से हटाए गए, भ्रष्ट और खोए हुए डेटा को पुनःप्राप्त करने की एक प्रक्रिया है।

गतिविधि 1.3

हटाए गए डेटा या भ्रष्ट उपकरण से डेटा की पुनःप्राप्ति के संभावित तरीकों का अन्वेषण करें।

आमतौर पर डेटा से जुड़ी दो सुरक्षा चिंताएँ होती हैं। एक इसकी किसी अनधिकृत व्यक्ति या सॉफ़्टवेयर द्वारा हटाने की है। इन चिंताओं से बचा जा सकता है कंप्यूटर सिस्टम तक पहुँच को सीमित करके और जहाँ भी संभव हो उपयोगकर्ता खातों और फ़ाइलों के लिए पासवर्ड का उपयोग करके। फ़ाइलों को एन्क्रिप्ट करने का विकल्प भी है ताकि उन्हें अवांछित संशोधन से बचाया जा सके।

दूसरी चिंता अनधिकृत उपयोगकर्ता/सॉफ़्टवेयर द्वारा डेटा की अवांछित रिकवरी से संबंधित है। कई बार हम अपने पुराने, टूटे या खराब हो रहे स्टोरेज डिवाइसों को डेटा हटाए बिना ही फेंक देते हैं। हम मान लेते हैं कि हटाई गई फ़ाइलों की सामग्री स्थायी रूप से हट गई है। हालाँकि, यदि ये स्टोरेज डिवाइस शरारती तत्वों के हाथ लग जाते हैं, तो वे इन डिवाइसों से आसानी से डेटा रिकवर कर सकते हैं; यह डेटा की गोपनीयता के लिए खतरा पैदा करता है। इस चिंता को कम किया जा सकता है किसी भी पुराने या खराब स्टोरेज डिवाइस को निपटाने से पहले उचित उपकरणों का उपयोग करके डेटा को हटा या श्रेड करके।

गतिविधि 1.4

एक टेस्ट फ़ाइल बनाएँ और फिर इसे कीबोर्ड से Shift+Delete का उपयोग करके हटा दें। अब गतिविधि 1.3 में आपने जिन विधियों का पता लगाया है, उनका उपयोग करके फ़ाइल को रिकवर करें।

1.4 सॉफ़्टवेयर

अब तक, हमने कंप्यूटर सिस्टम के भौतिक अवयवों या हार्डवेयर के बारे में पढ़ा है। परंतु हार्डवेयर अपने आप में बेकार है। हार्डवेयर को निर्देशों के एक समूह द्वारा संचालित किया जाता है। इन निर्देशों के समूह को सॉफ़्टवेयर कहा जाता है। यह कंप्यूटर सिस्टम का वह अवयव है जिसे हम छू या भौतिक रूप से देख नहीं सकते। इसमें वे निर्देश और डेटा होते हैं जिन्हें कंप्यूटर हार्डवेयर द्वारा संसाधित किया जाता है। कंप्यूटर सॉफ़्टवेयर और हार्डवेयर मिलकर कोई भी कार्य पूरा करते हैं।

सॉफ़्टवेयर निर्देशों के एक समूह से बना होता है जिन्हें चलाने पर वांछित परिणाम प्राप्त होता है। दूसरे शब्दों में, प्रत्येक सॉफ़्टवेयर किसी गणनात्मक उद्देश्य के लिए लिखा जाता है। सॉफ़्वेयर के कुछ उदाहरणों में ऑपरेटिंग सिस्टम जैसे Ubuntu या Windows $7 / 10$, वर्ड प्रोसेसिंग उपकरण जैसे LibreOffice Writer या Microsoft Word, वीडियो प्लेयर जैसे VLC Player, फोटो संपादक जैसे Paint और LibreOffice Draw शामिल हैं। हार्ड डिस्क या पेन ड्राइव पर संग्रहित दस्तावेज़ या चित्र को सॉफ्टकॉपी कहा जाता है। एक बार प्रिंट हो जाने पर, दस्तावेज़ या चित्र को हार्डकॉपी कहा जाता है।

हार्डवेयर कंप्यूटर सिस्टम के भौतिक अवयवों को दर्शाता है जिन्हें देखा और छुआ जा सकता है। उदाहरण के लिए, RAM, कीबोर्ड, प्रिंटर, मॉनिटर, $\mathrm{CPU}$ आदि। दूसरी ओर, सॉफ़्टवेयर निर्देशों और डेटा का एक समूह है जो हार्डवेयर को वांछित कार्य को पूरा करने के लिए कार्यात्मक बनाता है।

1.4.1 सॉफ़्टवेयर की आवश्यकता

सॉफ्टवेयर का एकमात्र उद्देश कंप्यूटर हार्डवेयर को उपयोगी और संचालनात्मक बनाना है। एक सॉफ्टवेयर यह जानता है कि कंप्यूटर के विभिन्न हार्डवेयर घटकों को कैसे काम करना है और एक-दूसरे के साथ-साथ अंतिम उपयोगकर्ता के साथ संवाद करना है। हम कंप्यूटर के हार्डवेयर से सीधे बात नहीं कर सकते या निर्देश नहीं दे सकते। इसलिए, सॉफ्टवेयर मानव उपयोगकर्ता और हार्डवेयर के बीच एक इंटरफेस के रूप में कार्य करता है।

हार्डवेयर के साथ बातचीत के तरीके और किए जाने वाले कार्यों के आधार पर, सॉफ्टवेयर को मोटे तौर पर तीन श्रेणियों में वर्गीकृत किया जा सकता है अर्थात् i) सिस्टम सॉफ्टवेयर ii) प्रोग्रामिंग उपकरण और iii) एप्लिकेशन सॉफ्टवेयर। सॉफ्टवेयर का वर्गीकरण चित्र 1.9 में दिखाया गया है।

1.4.2 सिस्टम सॉफ्टवेयर

वह सॉफ्टवेयर जो अपने घटक हार्डवेयर के साथ सीधे बातचीत करके कंप्यूटर को संचालित करने की बुनियादी कार्यक्षमता प्रदान करता है, उसे सिस्टम सॉफ्टवेयर कहा जाता है। एक सिस्टम सॉफ्टवेयर यह जानता है कि कंप्यूटर के विभिन्न हार्डवेयर घटकों को कैसे संचालित और उपयोग किया जाए। यह सेवाएं सीधे अंतिम उपयोगकर्ता को या किसी अन्य सॉफ्टवेयर को प्रदान करता है। सिस्टम सॉफ्टवेयर के उदाहरणों में ऑपरेटिंग सिस्टम, सिस्टम यूटिलिटीज, डिवाइस ड्राइवर आदि शामिल हैं।

(A) ऑपरेटिंग सिस्टम

जैसा कि नाम से स्पष्ट है, ऑपरेटिंग सिस्टम एक सिस्टम सॉफ्टवेयर है जो कंप्यूटर को संचालित करता है। ऑपरेटिंग सिस्टम सबसे बुनियादी सिस्टम सॉफ्टवेयर होता है, जिसके बिना अन्य सॉफ्टवेयर काम नहीं कर सकते। ऑपरेटिंग सिस्टम अन्य एप्लिकेशन प्रोग्रामों का प्रबंधन करता है और सिस्टम के उपयोगकर्ताओं को पहुंच और सुरक्षा प्रदान करता है। कुछ लोकप्रिय ऑपरेटिंग सिस्टम Windows, Linux, Macintosh, Ubuntu, Fedora, Android, iOS आदि हैं।

(B) सिस्टम यूटिलिटीज़

कंप्यूटर सिस्टम की मेंटेनेंस और कॉन्फ़िगरेशन के लिए प्रयुक्त सॉफ्टवेयर को सिस्टम यूटिलिटी कहा जाता है। कुछ सिस्टम यूटिलिटीज़ ऑपरेटिंग सिस्टम के साथ आती हैं, उदाहरण के लिए डिस्क डिफ्रैग्मेंटेशन टूल, फॉर्मेटिंग यूटिलिटी, सिस्टम रिस्टोर यूटिलिटी आदि। एक अन्य सेट यूटिलिटीज़ का है जो ऑपरेटिंग सिस्टम के साथ नहीं आती हैं, लेकिन सिस्टम के प्रदर्शन को बेहतर बनाने के लिए आवश्यक होती हैं, उदाहरण के लिए, एंटी-वायरस सॉफ्टवेयर, डिस्क क्लीनर टूल, डिस्क कंप्रेशन सॉफ्टवेयर आदि।

(C) डिवाइस ड्राइवर

जैसा कि नाम से स्पष्ट होता है, किसी डिवाइस ड्राइवर का उद्देश्य किसी विशेष डिवाइस के उचित कार्य को सुनिश्चित करना है। जब कंप्यूटर सिस्टम के समग्र कार्य की बात आती है, तो ऑपरेटिंग सिस्टम यह कार्य करता है। लेकिन रोज़ाना नए डिवाइस और कंपोनेंट्स कंप्यूटर सिस्टम में जोड़े जाते हैं। यह संभव नहीं है कि ऑपरेटिंग सिस्टम अकेले सभी मौजूदा और नए पेरिफेरल्स का प्रबंधन करे, जहाँ प्रत्येक डिवाइस की विविध विशेषताएँ होती हैं। किसी विशेष डिवाइस के हार्डवेयर स्तर पर समग्र नियंत्रण, संचालन और प्रबंधन की जिम्मेदारी उसके डिवाइस ड्राइवर को सौंपी जाती है।

डिवाइस ड्राइवर डिवाइस और ऑपरेटिंग सिस्टम के बीच एक इंटरफेस के रूप में कार्य करता है। यह आवश्यक सेवाएँ प्रदान करता है जिससे डिवाइस के हार्डवेयर स्तर पर किए गए संचालनों का विवरण छिपा रहता है। ठीक एक भाषा अनुवादक की तरह, एक डिवाइस ड्राइवर ऑपरेटिंग सिस्टम और जुड़े हुए डिवाइस के बीच एक मध्यस्थ के रूप में कार्य करता है।

अपने शिक्षक से पूछें कि वे आपकी कंप्यूटर में इंस्टॉल किए गए किन्हीं दो डिवाइस ड्राइवरों को खोजने में आपकी मदद करें।

चित्र 1.9: सॉफ़्टवेयर का वर्गीकरण

1.4.3 एप्लीकेशन सॉफ़्टवेयर

सिस्टम सॉफ्टवेयर कंप्यूटर सिस्टम की मूल कार्यक्षमता प्रदान करता है। हालांकि, विभिन्न उपयोगकर्ताओं को अपनी आवश्यकताओं के अनुसार कंप्यूटर सिस्टम की विभिन्न उद्देश्यों के लिए आवश्यकता होती है। इसलिए, अंतिम उपयोगकर्ताओं की विभिन्न आवश्यकताओं को पूरा करने के लिए एक नई श्रेणी के सॉफ्टवेयर की आवश्यकता होती है। यह विशिष्ट सॉफ्टवेयर जो सिस्टम सॉफ्टवेयर के ऊपर कार्य करता है, एप्लिकेशन सॉफ्टवेयर कहलाता है। एप्लिकेशन सॉफ्टवेयर की फिर दो व्यापक श्रेणियां हैं: सामान्य उद्देश्य और अनुकूलित एप्लिकेशन सॉफ्टवेयर।

एक कंप्यूटर सिस्टम एप्लिकेशन सॉफ्टवेयर के बिना कार्य कर सकता है, लेकिन यह सिस्टम सॉफ्टवेयर के बिना कार्य नहीं कर सकता। उदाहरण के लिए, हम कंप्यूटर का उपयोग तब भी कर सकते हैं जब कोई वर्ड प्रोसेसिंग सॉफ्टवेयर इंस्टॉल नहीं है, लेकिन यदि कोई ऑपरेटिंग सिस्टम इंस्टॉल नहीं है, तो हम कंप्यूटर पर कार्य नहीं कर सकते। दूसरे शब्दों में, एप्लिकेशन सॉफ्टवेयर की अनुपस्थिति में कंप्यूटर का उपयोग संभव है।

(A) सामान्य उद्देश्य सॉफ्टवेयर

एप्लिकेशन सॉफ्टवेयर जो सामान्य अनुप्रयोगों के लिए विकसित किया जाता है, ताकि आम तौर पर एक बड़े दर्शकों को संबोधित किया जा सके, सामान्य उद्देश्य सॉफ्टवेयर कहलाता है। ऐसा तैयार-मेड एप्लिकेशन सॉफ्टवेयर अंतिम उपयोगकर्ताओं द्वारा उनकी आवश्यकताओं के अनुसार उपयोग किया जा सकता है। उदाहरण के लिए, स्प्रेडशीट टूल LibreOffice Calc का उपयोग कोई भी कंप्यूटर उपयोगकर्ता गणना करने या खाता शीट बनाने के लिए कर सकता है। Adobe Photoshop, GIMP, Mozilla वेब ब्राउज़र, iTunes आदि सामान्य उद्देश्य सॉफ्टवेयर की श्रेणी में आते हैं।

(B) अनुकूलित सॉफ्टवेयर

ये कस्टम या टेलर-मेड एप्लिकेशन सॉफ्टवेयर होते हैं, जिन्हें किसी विशिष्ट संगठन या व्यक्ति की आवश्यकताओं को पूरा करने के लिए विकसित किया जाता है। ये किसी व्यक्ति या संगठन की जरूरतों के अनुरूप बेहतर ढंग से फिट होते हैं, क्योंकि इन्हें विशेष आवश्यकताओं के अनुसार डिज़ाइन किया जाता है। यूज़र-डिफाइंड सॉफ्टवेयर के कुछ उदाहरणों में वेबसाइटें, स्कूल मैनेजमेंट सॉफ्टवेयर, अकाउंटिंग सॉफ्टवेयर आदि शामिल हैं। यह किसी विशेष रंग और कपड़े का टुकड़ा खरीदकर उसे अपनी इच्छानुसार सिलवाने जैसा है।

अपने शिक्षक की मदद से अपने कंप्यूटर में एक एप्लिकेशन सॉफ्टवेयर इंस्टॉल करें।

1.4.4 मालिकाना या मुफ्त और ओपन सोर्स सॉफ्टवेयर

कुछ सॉफ्टवेयर डेवलपर्स आम जनता को अपने सॉफ्टवेयर और सोर्स कोड को मुफ्त में उपयोग करने की अनुमति देते हैं ताकि एक-दूसरे की मदद से उसे और बेहतर बनाया जा सके। ऐसे सॉफ्टवेयर को फ्री और ओपन सोर्स सॉफ्टवेयर (FOSS) कहा जाता है। उदाहरण के लिए, ऑपरेटिंग सिस्टम Ubuntu का सोर्स कोड किसी भी व्यक्ति के लिए स्वतंत्र रूप से उपलब्ध है जो आवश्यक ज्ञान रखता हो और उसमें नई कार्यक्षमता जोड़ना या सुधार करना चाहता हो। FOSS के अन्य उदाहरणों में Python, LibreOffice, OpenOffice, Mozilla Firefox आदि शामिल हैं। कभी-कभी सॉफ्टवेयर उपयोग के लिए मुफ्त उपलब्ध होते हैं लेकिन उनका सोर्स कोड उपलब्ध नहीं होता। ऐसे सॉफ्टवेयर को फ्रीवेयर कहा जाता है। फ्रीवेयर के उदाहरणों में Skype, Adobe Reader आदि शामिल हैं।

जब प्रयोग किए जाने वाले सॉफ्टवेयर को उस विक्रेता से खरीदना पड़ता है जिसके पास उस सॉफ्टवेयर का कॉपीराइट होता है, तो वह मालिकाना सॉफ्टवेयर (proprietary software) होता है। मालिकाना सॉफ्टवेयर के उदाहरणों में माइक्रोसॉफ्ट विंडोज़, टैली, क्विक हील आदि शामिल हैं। कोई सॉफ्टवेयर फ्रीवेयर या ओपन सोर्स या मालिकाना सॉफ्टवेयर हो सकता है, यह उस व्यक्ति या समूह की शर्तों और नियमों पर निर्भर करता है जिसने उस सॉफ्टवेयर को विकसित और जारी किया है।

सारांश

  • एक कम्प्यूटिंग डिवाइस, जिसे कम्प्यूटर भी कहा जाता है, दी गई निर्देशों के अनुसार इनपुट डेटा को प्रोसेस करता है ताकि वांछित आउटपुट उत्पन्न हो सके।
  • कम्प्यूटर डेटा को प्रोसेस कर सूचना उत्पन्न करता है जिसके आगे के विश्लेषण और व्याख्या से ज्ञान प्राप्त होता है।
  • कम्प्यूटर सिस्टम के चार भौतिक घटक होते हैं अर्थात् i) सीपीयू ii) प्राथमिक मेमोरी iii) इनपुट डिवाइस और iv) आउटपुट डिवाइस। इन्हें कम्प्यूटर का हार्डवेयर कहा जाता है।
  • कम्प्यूटर सिस्टम की दो प्रकार की प्राथमिक मेमोरी होती हैं अर्थात् i) RAM जो वाष्पशील मेमोरी है और ii) ROM जो अवाष्पशील मेमोरी है।
  • सॉफ्टवेयर निर्देशों का एक समूह होता है जिसे वांछित कार्य को प्राप्त करने के लिए लिखा जाता है और इसे मुख्यतः सिस्टम सॉफ्टवेयर, प्रोग्रामिंग टूल्स और एप्लिकेशन सॉफ्टवेयर के रूप में वर्गीकृत किया जाता है।
  • कम्प्यूटर का हार्डवेयर स्वयं कार्य नहीं कर सकता। इसे कार्यात्मक बनाने के लिए सॉफ्टवेयर की आवश्यकता होती है।
  • ऑपरेटिंग सिस्टम उपयोगकर्ता और कम्प्यूटर के बीच एक इंटरफेस होता है और कम्प्यूटर सिस्टम के कार्य की देखरेख करता है अर्थात् यह कम्प्यूटर सिस्टम के हार्डवेयर और सॉफ्टवेयर की निगरानी और नियंत्रण करता है।

अभ्यास

1. एक कंप्यूटर को कार्यात्मक बनाने के लिए आवश्यक सॉफ्टवेयर का नाम लिखें। इसके दो प्राथमिक कार्यों को लिखें।

2. RAM की आवश्यकता क्यों है? यह ROM से कैसे भिन्न है?

3. द्वितीयक मेमोरी की आवश्यकता क्यों है?

4. एक कंप्यूटर सिस्टम का ब्लॉक आरेख बनाएं। प्रत्येक घटक की कार्यक्षमता के बारे में संक्षेप में लिखें।

5. मालिकाना सॉफ्टवेयर और फ्रीवेयर सॉफ्टवेयर के बीच अंतर बताएं। प्रत्येक प्रकार के दो सॉफ्टवेयरों के नाम लिखें।

6. इंटरनेट ब्राउज़िंग के लिए उपयोग किए जाने वाले किसी भी ब्राउज़रों का उल्लेख करें।

7. निम्न कार्यों को करने के लिए उपयोग किए जाने वाले इनपुट/आउटपुट डिवाइस के नाम लिखें:

a) ऑडियो आउटपुट करने के लिए
b) पाठ डेटा दर्ज करने के लिए
c) एक टेक्स्ट फ़ाइल की हार्ड कॉपी बनाने के लिए
d) डेटा/जानकारी प्रदर्शित करने के लिए
e) ऑडियो-आधारित कमांड दर्ज करने के लिए
f) 3D मॉडल बनाने के लिए
g) दृष्टिबाधित व्यक्ति को डेटा दर्ज करने में सहायता करने के लिए

8. निम्न सॉफ्टवेयरों की श्रेणी (सिस्टम, एप्लिकेशन, प्रोग्रामिंग टूल) की पहचान करें:

a) कंपाइलर
b) असेंबलर
c) उबुन्टू
d) टेक्स्ट एडिटर

9. निम्न को बाइट्स में बदलें:

a) $2 \mathrm{MB}$
b) $3.7 \mathrm{~GB}$
c) $1.2 \mathrm{~TB}$

10. जब हम गैर-कार्यात्मक इलेक्ट्रॉनिक उपकरणों को फेंकते हैं तो इसमें शामिल सुरक्षा खतरे क्या हैं?

11. निम्न कार्यों को करने के लिए आवश्यक मेमोरी के प्रकार को लिखें:

a) डेटा को स्थायी रूप से संग्रहीत करने के लिए
b) प्रोग्राम को निष्पादित करने के लिए
c) उन निर्देशों को संग्रहीत करने के लिए जिन्हें अधिलेखित नहीं किया जा सकता।