ऑपरेटिंग सिस्टम की जरुरत (Need of Operating System)
जब हम अपने कंप्यूटर/लैपटॉप को चालू करते हैं, तो हमें एक स्क्रीन मिलती है जहां हम कई काम कर सकते हैं, जैसे दस्तावेज़ संपादित करना (document editing ), इंटरनेट चलाना (surfing internet), वीडियो चलाना (playing videos), app डाउनलोड करना आदि। हमें इलेक्ट्रॉनिक डिवाइस पर काम करने के लिए ऑपरेटिंग सिस्टम की आवश्यकता है। हम में से कई लोगों ने कई सामान्य OS का उपयोग किया है, जैसे कि Windows, Apple OS, लेकिन हम यहाँ Linux के बारे में बात करने जा रहे हैं।
लिनक्स क्या है? (What is LINUX)
LINUX एक open source ऑपरेटिंग सिस्टम है 17 सितंबर, 1991 को, इसे शुरू में लिनक्स टॉर्वाल्ड्स द्वारा प्रकाशित किया गया था। यह एक फ्री और ओपन सोर्स (Open Source) ऑपरेटिंग सिस्टम है। जी.एन.यू. जनरल पब्लिक लाइसेंस (GNU General Public License) के तहत, source code को update किया जा सकता है स्रोत कोड को व्यावसायिक या गैर-व्यावसायिक रूप में update और वितरित (distribute) किया जा सकता है।
Linux को शुरू में व्यक्तिगत कंप्यूटरों के लिए डिज़ाइन किया गया था और अंततः अन्य कंप्यूटरों, जैसे सर्वर, मेनफ्रेम कंप्यूटर, सुपर कंप्यूटर, आदि पर उपयोग किया गया था। Linux का उपयोग आज एम्बेडेड सिस्टम जैसे राउटर, ऑटोमेशन में डिजिटल वीडियो रिकॉर्डर, वीडियो गेम में भी किया जाता है। Android (ऑपरेटिंग सिस्टम) Linux की सबसे जबरदस्त सफलता है|आम तौर पर, Linux को Linux वितरण के अंदर बंडल किया जाता है। Unix से विकसित, Linux उपयोगकर्ताओं को अपने डेटा सेंटर संसाधनों को संभालने का एक कम लागत वाला, सुरक्षित तरीका प्रदान करता है। Linux अपने Open source architecture के कारण समझने में मुश्किल हो सकता है|
आपको सबसे पहले यह समझना होगा कि कंप्यूटर के लिए ऑपरेटिंग सिस्टम या OS क्या है। OS एक प्रोग्रामिंग कोड है जो हार्डवेयर को नियंत्रित करता है। यह आपके सॉफ़्टवेयर और आपके हार्डवेयर के बीच एक परत के रूप में मौजूद है। संक्षेप में, Linux एक OS है। लेकिन Linux में कई विशेषताएं हैं जो इसे Microsoft और Apple OS और लाइसेंसिंग विकल्पों से अलग करती हैं।
ऑपरेटिंग सिस्टम (Operating System)
मशीन के अंदर सभी सॉफ्टवेयर एक ऑपरेटिंग सिस्टम द्वारा संचालित और नियंत्रित होते हैं। प्रोग्राम को निष्पादित करने के लिए OS को API, कमांड-लाइन इंटरफ़ेस (CLI), या GUI के माध्यम से एक्सेस किया जाता है।
OS तय करता है कि कौन से एप्लिकेशन चलाना चाहिए और कब? प्रत्येक एप्लिकेशन को कितनी मेमोरी चाहिए? बैकग्राउंड में चल रहे एप्लिकेशन की संख्या को कम करने के लिए बैच जॉब को डिस्चार्ज करता है, और किसी भी संलग्न हार्डवेयर में इनपुट और आउटपुट को ट्रैक करता है, OS प्रत्येक व्यवसाय द्वारा अपने सॉफ्टवेयर के इन-हाउस डेवलपर्स के माध्यम से प्रबंधित किया जाता है।
जीएनयू जनरल पब्लिक लाइसेंस (GNU General Public License)
GNU General Public License (GPL) एक वेंडर सॉफ्टवेर लाइसेंस (vendor softwarae license) की तरह है इसके द्वारा हम फ्री सॉफ्टवेर का इस्तेमाल कर सकते हैं उसे कॉपी कर सकते है और साथ ही साथ मॉडिफाई कर सकते हैं| GPL ये सुनिश्चित करता है कि ओपन सोर्स सॉफ्टवेर फ्री रहे और closed source न हों|
GNU GPL के तहत, कुछ शर्तों के साथ, उपयोगकर्ता Linux code को कॉपी कर सकते हैं और इसे अपने सिस्टम पर लागू कर सकते हैं। किसी भी कॉपी किए गए code में बने रहने के लिए कॉपीराइट नोटिस (copyright notice), जीपीएल नोट्स (intact GPL notes), वारंटी अस्वीकरण (warranty disclaimer) और जीपीएल की एक प्रति शामिल होनी चाहिए।
कर्नल (Kernel)
कंप्यूटर के OS का मूल कोर (core) Kernel होता है। इसका प्राथमिक उद्देश्य OS और हार्डवेयर के बीच एक सेतु (bridge) का काम करना है| kernel द्वारा कंप्यूटर नियंत्रण, नेटवर्किंग, मेमोरी प्रबंधन किया जा सकता है और फ़ाइल सिस्टम की भी मदद की जाती है।
kernel कार्य करने के लिए सिस्टम ड्राइवरों का उपयोग करते हैं। इन ड्राइवरों में ऑपरेटिंग सिस्टम के अनुरूप कोड होता हैं। कैरेक्टर डिवाइस ड्राइवर, ब्लॉक डिवाइस ड्राइवर और नेटवर्क डिवाइस ड्राइवर तीन ड्राइवर प्रकार हैं।
Linux kernel 1992 में पेश किया गया था और इसे कई सबसिस्टम में विभाजित किया गया है:
जैसे मेमोरी मैनेजमेंट, नेटवर्क स्टैक, प्रोसेस कंट्रोल, सिस्टम कॉल इंटरफेस, वर्चुअल फाइल सिस्टम, आर्क और डिवाइस ड्राइवर।
जनवरी 2020 में Linux kernel में कोड की 27.8 मिलियन (लगभग 2.780 करोड़) लाइनें थीं। चूंकि kernel को ओपन-सोर्स समुदाय द्वारा लगातार बनाए रखा जाता है और अपडेट किया जाता है, यह एक उत्कृष्ट सर्वर इन्फ्रास्ट्रक्चर विकल्प है जिसे रीयल-टाइम रखरखाव की आवश्यकता होती है। Linux kernel को अपने OS में port करना भी संभव है।
वितरण (Distribution)
Linux OS के element open source हैं। फिर भी, विभिन्न वितरण विभिन्न परिनियोजन मॉड्यूल, अवसंरचना और उपयोग के मामलों के लिए आदर्श हैं। प्रत्येक वितरण (Distribution) एक Linux OS संस्करण है जो अनुकूलन योग्य प्रबंधन टूल, इंस्टॉलेशन प्रोग्राम के साथ बंडल किया गया है।
सैकड़ों वितरण (Distribution) मौजूद हैं, लेकिन Fedora, Red Hat Enterprise Linux, Ubuntu, OpenSUSE और Oracle Linux सबसे लोकप्रिय हैं।
मान लीजिए कि आप इन-हाउस समय या ओएस को कॉन्फ़िगर करने वाली प्रतिभा या उन्नत कार्यक्षमता का निवेश नहीं कर सकते, उस स्थिति में, विक्रेता विशेष उद्योगों और उपयोग के मामलों के लिए सेवा-स्तरीय समझौते (SLA), विशेष ऐड-ऑन और परामर्श प्रदान करते हैं। इस मॉडल में, सप्लायर, केवल source code से ही नहीं, अतिरिक्त सेवाओं और उपकरणों से पैसा कमाते हैं।
बूटलोडर (Bootloader)
OS को बूटलोडर द्वारा कंप्यूटर की मेमोरी में लोड किया जाता है, जिसे बूट मैनेजर के रूप में भी जाना जाता है। एक बार जब आप अपने कंप्यूटर सिस्टम को पावर ऑन करते हैं तो Basic I/O framework कुछ आवश्यक परीक्षण (test) रन करता है और फिर OS को चलाने के लिए master boot record लॉन्च करता है। यदि आप mac या Windows OS चला रहे हैं, तो device पर बूटलोडर स्वचालित रूप से (automatically) इंस्टॉल (install) हो जाता है।
Linux के साथ, किसी भी वितरण (distribution) को चलाने के लिए, आपको एक अलग बूटलोडर स्थापित (install) करना होगा। दो प्राथमिक विकल्प (primary options) उपलब्ध हैं: GRUB और LOAD Linux (LOADLIN)। यदि डेटा सेंटर में कई OS हैं या Linux का उपयोग करने में अधिक समय नहीं लगाना चाहते तो LOADLIN बेहतर है। यदि आप अपने ऑपरेटिंग सिस्टम में अधिक बहुमुखी प्रतिभा चाहते हैं और कमांड लाइन से बूट विकल्प बदलने की क्षमता चाहते हैं, तो आप GRUB का उपयोग कर सकते हैं।
किसी भी प्रोग्राम कमांड को चलाने के लिए Linux कमांड का उपयोग एक या अधिक कार्यों को निष्पादित करने के लिए किया जाता है, जैसे कि कॉपी करना, paste करना, खोजना आदि| कमांड कार्यों का उपयोग एक कमांड शेल में कुशलतापूर्वक और प्रभावी ढंग से किया जा सकता है| यह कोर लिनक्स (core linux) और user के बीच एक कड़ी की तरह है, जो user code को हार्डवेयर द्वारा निष्पादित (execute) करने के लिए बदल देता है।
किसी फ़ाइल में कुछ खोजने के लिए, हम कोड को निष्पादित (execute) कर सकते हैं, साथ ही हम अधिक जटिल नियमों (complex regulations) को लागू करने के लिए code लिख सकते हैं।
आमतौर पर, हम में से अधिकांश डेस्कटॉप ऑपरेटिंग सिस्टम का उपयोग हमारी मशीनों के साथ करते हैं, और हम शायद ही कभी पूछते हैं कि ऑपरेटिंग सिस्टम को संशोधित (modified) करने की आवश्यकता क्यों है? कुछ लोग एक नया ऑपरेटिंग सिस्टम सीखने में रुचि रखते हैं और शायद ही कभी सवाल करते हैं कि Linux क्या है? क्योंकि उन्हें लगता है कि उनके वर्तमान ऑपरेटिंग सिस्टम के साथ काम ठीक है।
यदि आप एक ऑपरेटिंग सिस्टम के लिए भुगतान करने से थक गए हैं और आपको अपने वर्तमान ओएस पर लगातार महंगे रखरखाव से नफरत है, तो Linux को आज़माने के लिए कोई शुल्क नहीं है, और कई उपयोगकर्ता linux को डेस्कटॉप कंप्यूटर का सबसे स्थिर ऑपरेटिंग सिस्टम मानेंगे।
linux की ओपन-सोर्स सहयोगी प्रकृति के कारण, linux को आजमाने के लिए वास्तव में कोई शुल्क नहीं है। चाहे जितनी बार आप मशीनों पर, आप लाइसेंस के लिए कुछ भी भुगतान किए बिना OS को निःशुल्क स्थापित कर सकते हैं। दूसरी ओर, कई Linux वितरण पूरी तरह से मुफ्त हैं और ये ओपन-सोर्स सर्वर एप्लिकेशन प्रदान करते हैं, इसलिए आप बिना किसी लाइसेंस शुल्क के वेब पेज ब्राउज़ कर सकते है|
यह तर्क देना भी आसान है कि Linux सॉफ्टवेयर system administrators के जीवन को आसान बनाता है क्योंकि Linux अधिक स्थिर (stable) है। इसका मतलब है कि आपको हर दिन अपने सर्वर को करीब से देखने की जरूरत नहीं है, इसलिए आप बिना किसी समस्या के इस पर भरोसा कर सकते हैं। साथ ही, संपूर्ण Linux OS को प्रभावित किए बिना, आप कभी-कभी Linux के डिज़ाइन के कारण अलग-अलग सेवाओं को पुनरारंभ कर सकते हैं।
सर्वर रीबूट sysadmins के लिए एक विशिष्ट चिंता का विषय है। उनकी विश्वसनीयता के कारण, Linuxsysadmins को कर्नेल को संशोधित किए जाने तक रिबूट को बहुत कम मात्रा में रोकने की अनुमति देता है।
Linux editions, कई प्रकार के हो सकते हैं। उन्हें डेस्कटॉप उपयोग के लिए अभिप्रेत किया जा सकता है या सर्वर के लिए एप्लिकेशन के रूप में उपयोग करने के लिए बनाया जा सकता है। कुछ Linux distribution expert users पर ध्यान केंद्रित करते हैं, जबकि अन्य Linux distribution उपयोगकर्ताओं के लिए पर्याप्त होते हैं। अधिकांश Linuxसंस्करण मुफ्त में डाउनलोड किए जा सकते हैं और ऑप्टिकल डिस्क या यूएसबी ड्राइव पर इंस्टॉलेशन के लिए चलाये जा सकते हैं।
Linux के distributions की लगभग अनंत सीमा है। Ubuntu अक्सर desktop linux उपयोगकर्ताओं के लिए default विकल्प होता है। फिर भी Fedora, Arch, Linux Mint, Debian, and OpenSUSE भी सामान्य विकल्प है।