शेल (कंप्यूटिंग)

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

अवलोकन
प्रचालन तंत्र अपने उपयोगकर्ताओं को फ़ाइल मैनेजर, प्रक्रिया प्रबंधन(आवेदन कार्यक्रम चलाना और समाप्त करना), प्रचय संसाधन, प्रचालन तंत्र जाँच और विन्यास सहित विभिन्न सेवाएं प्रदान करते हैं।

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

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

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

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

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

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

ग्राफिकल शैल को दिसंबर, 1968 में सैन फ्रांसिस्को में संयुक्त कंप्यूटर सम्मेलन में प्रदर्शित किया गया था, जिसे द मदर ऑफ ऑल डेमो कहा गया था और ये पहली बार डगलस एंजेलबार्ट के एनएलएस प्रणाली में उपयोग हुआ था। 1973 में, स्टैनफोर्ड अनुसंधान संस्थान में एंगेलबार्ट के सहयोगी, शैल की अवधारणा को ज़ेरॉक्स पालो अल्टो रिसर्च सेंटर (पीएआरसी) में लेकर आये और उसको ज़ेरॉक्स ऑल्टो पर प्रस्तुत किया। उसके बाद 1980 में, यह अवधारणा निकोलस विर्थ के लिलिथ (कंप्यूटर) और 1983 में एप्पल लिसा में प्रचारित हुई और बाद में यह सर्वव्यापी हो गई।

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

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

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

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

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

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

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

मैक ओएस की स्तिथि में, क्वार्ट्ज अक्षरयोजक विंडो प्रणाली के रूप में कार्य करता है और शैल में फाइंडर (सॉफ्टवेयर), डॉक (मैक ओएस), तंत्र यूआई सर्वर, और मिशन नियंत्रण (मैक ओएस) होता है

माइक्रोसॉफ्ट विंडोज

माइक्रोसॉफ्ट विंडोज प्रचालन तंत्र के आधुनिक संस्करण विंडोज शैल को उनके शैल के रूप में उपयोग करते हैं। विंडोज शैल प्रचालन तंत्र फ़ाइल प्रबंधन कार्यों तक पहुँचने के लिए डेस्कटॉप परिवेश, स्टार्ट मेन्यू, टास्क बार, साथ ही एक ग्राफिकल उपयोगकर्ता संयोजन प्रदान करता है। पुराने संस्करणों में कार्यक्रम प्रबंधक भी शामिल थे, जो माइक्रोसॉफ़्ट विंडोज़ की 3.x श्रृंखला के लिए शैल था, और जो वास्तव में कम से कम विंडोज एक्सपी के माध्यम से 95 और एनटी दोनों प्रकार के विंडोज के बाद के संस्करणों के साथ भेज दिया गया था। विंडोज संस्करण 1 और 2 के संयोजन स्पष्ट रूप से भिन्न थे।

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

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

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

विशेषज्ञ प्रणालियों में, शैल सॉफ्टवेयर का एक टुकड़ा है जो किसी विशेष अनुप्रयोग के ज्ञान आधार के बिना एक खाली विशेषज्ञ प्रणाली है।

यह भी देखें

 * कमांड शेल की तुलना
 * ह्यूमन कंप्यूटर इंटरेक्शन
 * इंटरनेट एक्सप्लोरर खोल
 * शैल खाता
 * शेल निर्मित
 * सुपर उपयोगकर्ता
 * यूनिक्स शेल
 * विंडो मैनेजर – एक अल्पविकसित प्रक्रिया प्रबंधन इंटरफ़ेस प्रदान करता है
 * रीड-इवल-प्रिंट लूप को लैंग्वेज शेल भी कहा जाता है, जो व्याख्या की गई प्रोग्रामिंग भाषा के लिए एक कमांड लाइन इंटरफेस है