Linux, Windows व वितरित प्रचालन तंत्र

NET की इकाई 5, Linux व Windows को ठोस, वास्तविक प्रचालन-तंत्रों के रूप में नामित करती है जिन्हें उनके अपने अभिकल्प-निर्णयों से जानना है — न कि वह सामान्य कर्नल-सिद्धांत जिसे GATE के उधार लिए OS अध्याय पहले ही ढक चुके हैं — व पृथक रूप से वितरित तंत्र (नेटवर्क-आधारित OS प्रकार, दृढ़ता, वितरित फ़ाइल तंत्र) को अपने ही प्रकरण के रूप में नामित करती है। यह अध्याय तीनों ढकता है।

Linux अभिकल्प-सिद्धांत, कर्नल-मॉड्यूल व प्रक्रिया-प्रबंधन

  • Linux मानक UNIX दर्शन अनुसरण करता है: 'सब कुछ फ़ाइल है' (युक्तियाँ, पाइप व सॉकेट सभी उसी फ़ाइल-वर्णनकर्ता अंतरापृष्ठ से पहुँचे जाते हैं जैसे सामान्य फ़ाइलें), एकाश्मक-पर-मॉड्यूलर कर्नल अभिकल्प (अधिकांश सेवाएँ गति हेतु कर्नल-समष्टि में चलती हैं, पर कर्नल-मॉड्यूल को रीबूट के बिना रन-समय पर लोड व अनलोड किया जा सकता है, वह सर्व-या-कुछ-नहीं पुनर्निर्माण टालते हुए जो शुद्ध एकाश्मक कर्नल को चाहिए होता), व एक बड़े सब-कुछ-करने वाले प्रोग्राम के बजाय पाइपों से जुड़े छोटे संयोज्य उपकरण।
  • Linux प्रक्रिया-प्रबंधन आमंत्रक प्रक्रिया की लगभग-समरूप प्रति बनाने हेतु fork() प्रयोग करता है (जनक व संतति फिर विचलित होते हैं, सामान्यतः संतति में नया प्रोग्राम-प्रतिबिंब लोड करने हेतु exec() से), व प्रक्रियाओं को init/systemd (PID 1) पर मूलित वृक्ष में संगठित करता है; नियोजन प्राथमिकता-आधारित है गतिक प्राथमिकता-समायोजन सहित, व मानक POSIX नियोजन-वर्ग (सामान्य समय-साझा वर्ग के साथ वास्तविक-समय FIFO/चक्रानुक्रम) विलंबता-क्रांतिक प्रक्रियाओं को सामान्यों पर अग्रक्रय होने देते हैं।
  • Linux के फ़ाइल तंत्र (ext4 व अन्य) एक साझा आभासी फ़ाइल तंत्र (VFS) अमूर्तन-परत के नीचे बैठते हैं, जो ठीक वही है जो उपयोगकर्ता-प्रोग्रामों व उपयोगिताओं को प्रयुक्त अंतर्निहित फ़ाइल-तंत्र की परवाह किए बिना समान रूप से काम करने देता है — वही open/read/write कॉल काम करती हैं चाहे फ़ाइल ext4 पर हो, नेटवर्क-माउंट पर, या कर्नल-जानकारी उजागर करती आभासी /proc प्रविष्टि पर भी।

Windows अभिकल्प-सिद्धांत व तंत्र-घटक

Windows NT का अभिकल्प (आधुनिक Windows के अंतर्निहित वंश) जान-बूझकर स्तरित है: छोटा HAL (हार्डवेयर अमूर्तन परत) शेष OS को युक्ति-विशिष्ट विवरणों से पृथक करता है; कर्नल सर्वाधिक मूल आद्य (थ्रेड-नियोजन, व्यवधान/अपवाद-प्रेषण, बहु-प्रक्रमक तुल्यकालन) कार्यान्वित करता है; व उसके ऊपर कर्नल-मोड में चलती एग्ज़ीक्यूटिव, उच्च-स्तरीय सेवाएँ (वस्तु-प्रबंधक, प्रक्रिया/थ्रेड-प्रबंधक, स्मृति-प्रबंधक, I/O-प्रबंधक, सुरक्षा-संदर्भ-मॉनिटर) प्रदान करती है, प्रत्येक उपयोगकर्ता-मोड को सुपरिभाषित सिस्टम-कॉल समुच्चय से उजागर — शास्त्रीय एकाश्मक UNIX कर्नल से अधिक स्तरित, अधिक मॉड्यूलर अभिकल्प, स्तर-सीमाएँ पार करने के कुछ भार की कीमत पर।

  • फ़ाइल तंत्र: NTFS (मानक आधुनिक Windows फ़ाइल तंत्र) प्रति-फ़ाइल/फ़ोल्डर अभिगम-नियंत्रण सूचियाँ, जर्नलिंग (मेटाडेटा-परिवर्तन लॉग करना ताकि फ़ाइल-तंत्र क्रैश के बाद स्वच्छ रूप से पुनर्प्राप्त हो सके), व पारदर्शी संपीड़न/एनक्रिप्शन समर्थित करता है — वे क्षमताएँ जिनका पुराने FAT फ़ाइल-तंत्र में पूर्णतः अभाव है।
  • नेटवर्किंग: Windows नेटवर्किंग ऐतिहासिक रूप से Windows-आद्य नेटवर्क के भीतर फ़ाइल/प्रिंटर साझाकरण हेतु SMB/CIFS पर केंद्रित रही है, सामान्य संयोजकता हेतु मानक TCP/IP के साथ — उधार लिए GATE कंप्यूटर संजाल अध्याय प्रोटोकॉल-स्तर स्वयं ढकते हैं, जबकि इस उप-प्रकरण की अपनी चिंता यह है कि Windows अपनी आद्य साझाकरण-सेवाओं हेतु विशेष रूप से कौन-सी स्टैक प्रयोग करता है।

वितरित तंत्र: नेटवर्क-आधारित OS प्रकार व दृढ़ता

नेटवर्क OS बनाम वितरित OS
प्रकारउपयोगकर्ता क्या देखता है
नेटवर्क प्रचालन तंत्रहर मशीन अपना स्वतंत्र OS व पहचान रखती है; उपयोगकर्ता स्पष्ट रूप से जानता है कि वह कौन-सी मशीन प्रयोग कर रहा है व मशीनों के आर-पार स्पष्ट रूप से लॉगिन/फ़ाइल-प्रतिलिपि करनी होती है (उदा० ssh, ftp से)।
वितरित प्रचालन तंत्रअनेक भौतिक मशीनों को उपयोगकर्ता को एक एकल संगत तंत्र के रूप में प्रकट कराया जाता है (एकल-तंत्र प्रतिबिंब) — OS स्वयं, उपयोगकर्ता नहीं, तय करता है कि दिया कार्य वस्तुतः कौन-सी मशीन चलाए या दी फ़ाइल कौन-सी रखे।

वितरित तंत्र में दृढ़ता का अर्थ है आंशिक विफलता के बावजूद (कम-से-कम अपमानित) सेवा जारी रखना — एक स्थल या कड़ी के गिरने से पूरा तंत्र नहीं गिरना चाहिए, जो केंद्रीकृत तंत्र से मूलतः भिन्न है, जहाँ एक मशीन की विफलता ही कुल विफलता है। यह अतिरेक (कोई एकल विफलता-बिंदु नहीं) व प्रतिकृति व कोरम-आधारित सहमति जैसे अभिकल्प-चुनावों से प्राप्त होती है।

वितरित फ़ाइल तंत्र व संचार-संरचना

वितरित फ़ाइल तंत्र अनेक मशीनों पर प्रक्रियाओं को एक ही, स्थान-पारदर्शी नामकरण-योजना से फ़ाइलों तक पहुँचने देता है, बिना उपयोगकर्ता को यह जाने कि कौन-सी भौतिक सर्वर वस्तुतः दी फ़ाइल संचित करती है। यही ठीक वह कारण है कि वितरित फ़ाइल तंत्र (उदा० Google फ़ाइल तंत्र / HDFS वंश) हर खंड को एक बार संचित करने के बजाय कई मशीनों में प्रतिकृत करते हैं — प्रतिकृति एक मशीन की विफलता के विरुद्ध दृढ़ता तथा, अतिरिक्त लाभ के रूप में, क्लाइंट को जो प्रतिकृति निकटतम या न्यूनतम भारित हो वहाँ से लाने देकर तेज़ वाचन दोनों देती है। इस सबके नीचे की संचार-संरचना सामान्यतः नेटवर्क पर संदेश-प्रेषण है (साझा स्मृति के बजाय, जो पृथक मशीनों के आर-पार भौतिक रूप से संभव नहीं), अतः वितरित OS के प्रोटोकॉल को अतिरिक्त रूप से संदेश-हानि, पुनर्क्रमण व द्विगुणन सँभालना है जिन्हें एकल-मशीन OS को कभी विचारना नहीं पड़ता।

मुख्य बिंदु

  • Linux 'सब कुछ फ़ाइल है' अनुसरण करता है, बिना रीबूट कर्नल-मॉड्यूल लोड/अनलोड करता है, व फ़ाइल तंत्रों को साझा VFS परत के अंतर्गत एकीकृत करता है।
  • Windows NT छोटे HAL, न्यूनतम कर्नल व उसके ऊपर पूर्णतर एग्ज़ीक्यूटिव को स्तरित करता है, प्रत्येक उपयोगकर्ता-मोड को परिभाषित सिस्टम-कॉल से उजागर — शास्त्रीय एकाश्मक कर्नल से अधिक स्तरित।
  • NTFS ACL, जर्नलिंग व संपीड़न/एनक्रिप्शन जोड़ता है जिनका FAT में अभाव है; Windows साझाकरण ऐतिहासिक रूप से TCP/IP के साथ SMB/CIFS प्रयोग करता है।
  • नेटवर्क OS हर मशीन की स्वतंत्र पहचान उपयोगकर्ता को दृश्य रखता है; वितरित OS अनेक मशीनों को एक एकल-तंत्र प्रतिबिंब के रूप में प्रस्तुत करता है।
  • वितरित तंत्र में दृढ़ता का अर्थ है अतिरेक से आंशिक विफलता सहना, केंद्रीकृत तंत्र के विपरीत जहाँ एक मशीन की विफलता कुल विफलता है।

अभ्यास प्रश्न (8)

उत्तर खोलने से पहले प्रत्येक प्रश्न हल करें। हर व्याख्या सही विकल्प के साथ लुभावना गलत विकल्प भी बताती है, क्योंकि अंक वहीं जाते हैं।

  1. Linux का 'सब कुछ फ़ाइल है' दर्शन इसका अर्थ है:

    1. युक्तियाँ, पाइप व सॉकेट सामान्य फ़ाइलों जैसे ही फ़ाइल-वर्णनकर्ता अंतरापृष्ठ से पहुँचे जाते हैं
    2. Linux तंत्र पर केवल पाठ-फ़ाइलें विद्यमान हो सकती हैं
    3. कर्नल को रन-समय पर संशोधित नहीं किया जा सकता
    4. बिल्कुल कोई फ़ाइल तंत्र नहीं है
    उत्तर देखें

    उत्तर: A — युक्तियाँ, पाइप व सॉकेट सामान्य फ़ाइलों जैसे ही फ़ाइल-वर्णनकर्ता अंतरापृष्ठ से पहुँचे जाते हैं

    यह एकीकृत अमूर्तन उसी open/read/write-शैली संक्रियाओं को सामान्य फ़ाइलों व युक्तियों तथा अंतर-प्रक्रिया संचार अंत-बिंदुओं जैसे बहुत भिन्न संसाधनों के आर-पार समान रूप से काम करने देता है।
  2. Linux कर्नल-मॉड्यूल को रन-समय पर लोड व अनलोड किया जा सकता है, जिसका मुख्यतः अर्थ है:

    1. पूर्ण कर्नल-पुनर्निर्माण व रीबूट के बिना नई कार्यक्षमता जोड़ी जा सकती है
    2. किसी भी परिवर्तन हेतु कर्नल को सदा स्रोत से पुनर्निर्मित करना ही चाहिए
    3. Linux का बिल्कुल कोई कर्नल नहीं है
    4. मॉड्यूल केवल उपयोगकर्ता-मोड में चलते हैं, कर्नल-मोड में कभी नहीं
    उत्तर देखें

    उत्तर: A — पूर्ण कर्नल-पुनर्निर्माण व रीबूट के बिना नई कार्यक्षमता जोड़ी जा सकती है

    लोड-योग्य कर्नल-मॉड्यूल वह सर्व-या-कुछ-नहीं पुनर्निर्माण टालते हैं जो शुद्ध एकाश्मक कर्नल को चाहिए होता, ड्राइवरों व विशेषताओं को गतिक रूप से जोड़े या हटाए जाने देते हुए।
  3. Windows NT के स्तरित अभिकल्प में, वह घटक जो शेष OS को युक्ति-विशिष्ट हार्डवेयर-विवरणों से पृथक करता है, है:

    1. HAL (हार्डवेयर अमूर्तन परत)
    2. NTFS
    3. SMB/CIFS
    4. सुरक्षा-संदर्भ-मॉनिटर
    उत्तर देखें

    उत्तर: A — HAL (हार्डवेयर अमूर्तन परत)

    HAL ठीक इसीलिए स्तरित अभिकल्प के बिल्कुल नीचे बैठता है कि हार्डवेयर-भेदों को उसके ऊपर के कर्नल व एग्ज़ीक्यूटिव से अमूर्त कर दे; NTFS फ़ाइल तंत्र है, SMB/CIFS साझाकरण प्रोटोकॉल, व सुरक्षा-संदर्भ-मॉनिटर एग्ज़ीक्यूटिव-स्तरीय अभिगम-नियंत्रण घटक।
  4. नेटवर्क प्रचालन तंत्र व वितरित प्रचालन तंत्र के बीच मुख्य भेद यह है:

    1. वितरित OS अनेक मशीनों को एक एकल-तंत्र प्रतिबिंब के रूप में प्रस्तुत करता है; नेटवर्क OS हर मशीन की पहचान उपयोगकर्ता को पृथक रूप से दृश्य रखता है
    2. नेटवर्क OS में बिल्कुल कोई मशीन जुड़ी नहीं होती
    3. दोनों शब्द ठीक पर्यायवाची हैं
    4. वितरित OS एक से अधिक प्रक्रिया नहीं चला सकता
    उत्तर देखें

    उत्तर: A — वितरित OS अनेक मशीनों को एक एकल-तंत्र प्रतिबिंब के रूप में प्रस्तुत करता है; नेटवर्क OS हर मशीन की पहचान उपयोगकर्ता को पृथक रूप से दृश्य रखता है

    नेटवर्क OS में उपयोगकर्ता स्पष्ट रूप से जानता व प्रबंधित करता है कि वह कौन-सी मशीन प्रयोग कर रहा है; वितरित OS इसके बजाय यह छिपाता है, उपयोगकर्ता की ओर से तय करते हुए कि कोई प्रक्रिया वस्तुतः कौन-सी मशीन चलाए या फ़ाइल कौन-सी रखे।
  5. वितरित तंत्र में दृढ़ता मुख्यतः इसका उल्लेख करती है:

    1. किसी स्थल या कड़ी की आंशिक विफलता के बावजूद कम-से-कम अपमानित सेवा जारी रखना
    2. किसी भी विफलता से पूर्णतः प्रतिरक्षित होना
    3. कार्य हेतु ठीक एक मशीन की आवश्यकता
    4. बिल्कुल कोई अतिरेक न होना
    उत्तर देखें

    उत्तर: A — किसी स्थल या कड़ी की आंशिक विफलता के बावजूद कम-से-कम अपमानित सेवा जारी रखना

    दृढ़ता आंशिक विफलता के अंतर्गत सहज अवनयन के विषय में है, अतिरेक व एकल विफलता-बिंदु के अभाव से प्राप्त — विफलता से पूर्ण प्रतिरक्षा का असंभव दावा नहीं।
  6. पुराने FAT फ़ाइल-तंत्र की तुलना में NTFS के विषय में निम्नलिखित में कौन सत्य हैं? (एक से अधिक विकल्प सही हो सकते हैं।)

    1. NTFS प्रति-फ़ाइल अभिगम-नियंत्रण सूचियाँ समर्थित करता है
    2. NTFS क्रैश-पुनर्प्राप्ति हेतु जर्नलिंग समर्थित करता है
    3. NTFS पारदर्शी संपीड़न व एनक्रिप्शन समर्थित करता है
    4. FAT व NTFS हर क्षमता में समान हैं
    उत्तर देखें

    उत्तर: A — NTFS प्रति-फ़ाइल अभिगम-नियंत्रण सूचियाँ समर्थित करता है; B — NTFS क्रैश-पुनर्प्राप्ति हेतु जर्नलिंग समर्थित करता है; C — NTFS पारदर्शी संपीड़न व एनक्रिप्शन समर्थित करता है

    NTFS ACL, जर्नलिंग व पारदर्शी संपीड़न/एनक्रिप्शन जोड़ता है, इनमें से किसी को भी पुराना, सरलतर FAT फ़ाइल-तंत्र समर्थित नहीं करता।
  7. उस Linux सिस्टम-कॉल का नाम बताइए जो आमंत्रक प्रक्रिया की लगभग-समरूप प्रति बनाने हेतु प्रयुक्त होती है, जिसके बाद संतति सामान्यतः नया प्रोग्राम-प्रतिबिंब लोड करने हेतु exec() बुलाती है।

    संख्यात्मक उत्तर — मान टाइप करें।

    उत्तर देखें

    उत्तर: fork

    fork() मानक UNIX/Linux प्रक्रिया-सर्जन आद्य है; fork-फिर-exec प्रतिरूप वह तरीका है जिससे, उदाहरणतः, शेल संतति प्रक्रिया में नया प्रोग्राम चालू करता है।
  8. हर आँकड़ा-खंड को कई मशीनों में प्रतिकृत करता वितरित फ़ाइल तंत्र मुख्यतः यह लाभ पाता है:

    1. किसी एक मशीन की विफलता के विरुद्ध दृढ़ता, साथ ही संभवतः निकटवर्ती प्रतिकृति से तेज़ वाचन
    2. सभी आँकड़े की गारंटीशुदा हानि
    3. एक प्रति संचित करने की तुलना में व्यवहार में कोई परिवर्तन नहीं
    4. किसी भी नेटवर्क की आवश्यकता का पूर्ण उन्मूलन
    उत्तर देखें

    उत्तर: A — किसी एक मशीन की विफलता के विरुद्ध दृढ़ता, साथ ही संभवतः निकटवर्ती प्रतिकृति से तेज़ वाचन

    प्रतिकृति आँकड़ा-हानि के बिना व्यक्तिगत मशीन-विफलता सहने की मानक तकनीक है, और अतिरिक्त लाभ के रूप में क्लाइंट को जो प्रतिकृति निकटतम या न्यूनतम भारित हो वहाँ से पढ़ने देती है।