मल्टीप्रोग्रामिंग सिस्टम: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|First implementation of paged virtual memory}} {{Infobox OS | name = THE multiprogramming system | logo = <!-- Filename only: no wikilink, Image: or File:...")
 
No edit summary
Line 29: Line 29:
| website = <!-- {{URL|www.example.com}} -->
| website = <!-- {{URL|www.example.com}} -->
}}
}}
मल्टीप्रोग्रामिंग सिस्टम या ओएस एक कंप्यूटर [[ऑपरेटिंग सिस्टम]] था जिसे एड्सगर डब्ल्यू डिज्क्स्ट्रा के नेतृत्व वाली एक टीम द्वारा डिजाइन किया गया था, जिसका वर्णन 1965-66 में मोनोग्राफ में किया गया था।<ref name="ewd196">
मल्टीप्रोग्रामिंग प्रणाली  या ओएस एक कंप्यूटर [[ऑपरेटिंग सिस्टम|ऑपरेटिंग  प्रणाली]] था जिसे एड्सगर डब्ल्यू डिज्क्स्ट्रा के नेतृत्व वाली एक टीम द्वारा डिजाइन किया गया था, जिसका वर्णन 1965-66 में मोनोग्राफ में किया गया था।<ref name="ewd196">
{{Cite EWD|196|The structure of the 'THE'-multiprogramming system}} (Jun 14, 1965)
{{Cite EWD|196|The structure of the 'THE'-multiprogramming system}} (Jun 14, 1965)
</ref> और 1968 में प्रकाशित हुआ।<ref>
</ref> और 1968 में प्रकाशित हुआ।<ref>
Line 55: Line 55:
|date=May 1988
|date=May 1988
| page = 512
| page = 512
}}</ref> जो [[कंप्यूटर मल्टीटास्किंग]] का समर्थन करता है; इसे बहु-उपयोगकर्ता ऑपरेटिंग सिस्टम के रूप में डिज़ाइन नहीं किया गया था। यह काफी हद तक [[एसडीएस 940]] जैसा था, लेकिन सिस्टम में [[प्रक्रिया (कंप्यूटिंग)]] का सेट स्थिर था।<ref name="osc"/>
}}</ref> जो [[कंप्यूटर मल्टीटास्किंग]] का समर्थन करता है; इसे बहु-उपयोगकर्ता ऑपरेटिंग प्रणाली  के रूप में डिज़ाइन नहीं किया गया था। यह काफी हद तक [[एसडीएस 940]] जैसा था, लेकिन प्रणाली  में [[प्रक्रिया (कंप्यूटिंग)]] का सेट स्थिर था।<ref name="osc"/>


सिस्टम ने स्पष्ट रूप से सॉफ़्टवेयर-आधारित [[ स्मृति पृष्ठ ]] [[ आभासी मेमोरी ]] का पहला रूप पेश किया ([[इलेक्ट्रोलॉजिका X8]] [[मेमोरी प्रबंधन इकाई]] | हार्डवेयर-आधारित मेमोरी प्रबंधन का समर्थन नहीं करता था),<ref name="osc"/>प्रोग्रामों को [[ड्रम मेमोरी]] पर भौतिक स्थानों का उपयोग करने के लिए बाध्य होने से मुक्त करना। इसने [[सिस्टम कॉल]] को स्वचालित रूप से उत्पन्न करने के लिए एक संशोधित [[ALGOL]] [[ संकलक ]] (डिज्क्स्ट्रा के सिस्टम द्वारा समर्थित एकमात्र [[प्रोग्रामिंग भाषा]]) का उपयोग करके ऐसा किया, जिससे यह सुनिश्चित हो गया कि अनुरोधित जानकारी मेमोरी में थी, यदि आवश्यक हो तो मेमोरी को स्वैप करें।<ref name="osc"/>पृष्ठांकित वर्चुअल मेमोरी का उपयोग [[डेटा बफ़र]] इनपुट/आउटपुट (I/O) डिवाइस डेटा, और ऑपरेटिंग सिस्टम कोड के एक महत्वपूर्ण हिस्से और लगभग सभी [[ALGOL 60]] कंपाइलर के लिए भी किया गया था। इस प्रणाली में, [[सेमाफोर (प्रोग्रामिंग)]] का उपयोग पहली बार प्रोग्रामिंग निर्माण के रूप में किया गया था।
प्रणाली  ने स्पष्ट रूप से सॉफ़्टवेयर-आधारित [[ स्मृति पृष्ठ ]] [[ आभासी मेमोरी ]] का पहला रूप पेश किया ([[इलेक्ट्रोलॉजिका X8]] [[मेमोरी प्रबंधन इकाई]] | हार्डवेयर-आधारित मेमोरी प्रबंधन का समर्थन नहीं करता था),<ref name="osc"/>प्रोग्रामों को [[ड्रम मेमोरी]] पर भौतिक स्थानों का उपयोग करने के लिए बाध्य होने से मुक्त करना। इसने [[सिस्टम कॉल|प्रणाली  कॉल]] को स्वचालित रूप से उत्पन्न करने के लिए एक संशोधित [[ALGOL]] [[ संकलक ]] (डिज्क्स्ट्रा के प्रणाली  द्वारा समर्थित एकमात्र [[प्रोग्रामिंग भाषा]]) का उपयोग करके ऐसा किया, जिससे यह सुनिश्चित हो गया कि अनुरोधित जानकारी मेमोरी में थी, यदि आवश्यक हो तो मेमोरी को स्वैप करें।<ref name="osc"/>पृष्ठांकित वर्चुअल मेमोरी का उपयोग [[डेटा बफ़र]] इनपुट/आउटपुट (I/O) डिवाइस डेटा, और ऑपरेटिंग प्रणाली  कोड के एक महत्वपूर्ण हिस्से और लगभग सभी [[ALGOL 60]] कंपाइलर के लिए भी किया गया था। इस प्रणाली में, [[सेमाफोर (प्रोग्रामिंग)]] का उपयोग पहली बार प्रोग्रामिंग निर्माण के रूप में किया गया था।


==डिज़ाइन==
==डिज़ाइन==
मल्टीप्रोग्रामिंग सिस्टम का डिज़ाइन [[मतिहीनता]] के उपयोग के लिए महत्वपूर्ण है, जिसमें उच्च परतें केवल निचली परतों पर निर्भर करती हैं:
मल्टीप्रोग्रामिंग प्रणाली  का डिज़ाइन [[मतिहीनता]] के उपयोग के लिए महत्वपूर्ण है, जिसमें उच्च परतें केवल निचली परतों पर निर्भर करती हैं:
* लेयर 0 ऑपरेटिंग सिस्टम के मल्टीप्रोग्रामिंग पहलुओं के लिए जिम्मेदार था। इसने तय किया कि कौन सी प्रक्रिया केंद्रीय प्रसंस्करण इकाई (सीपीयू) को आवंटित की गई थी, और उन प्रक्रियाओं के लिए जिम्मेदार थी जो सेमाफोर (प्रोग्रामिंग) पर अवरुद्ध थीं। जब प्रक्रिया में बदलाव की आवश्यकता होती है तो यह व्यवधानों से निपटता है और [[संदर्भ स्विच]] करता है। यह सबसे निचला स्तर है. आधुनिक शब्दों में, यह [[अनुसूचक]] था।
* लेयर 0 ऑपरेटिंग प्रणाली  के मल्टीप्रोग्रामिंग पहलुओं के लिए जिम्मेदार था। इसने तय किया कि कौन सी प्रक्रिया केंद्रीय प्रसंस्करण इकाई (सीपीयू) को आवंटित की गई थी, और उन प्रक्रियाओं के लिए जिम्मेदार थी जो सेमाफोर (प्रोग्रामिंग) पर अवरुद्ध थीं। जब प्रक्रिया में बदलाव की आवश्यकता होती है तो यह व्यवधानों से निपटता है और [[संदर्भ स्विच]] करता है। यह सबसे निचला स्तर है. आधुनिक शब्दों में, यह [[अनुसूचक]] था।
* परत 1 मेमोरी प्रबंधन से लेकर प्रक्रियाओं तक से संबंधित थी। आधुनिक शब्दों में यह पेजर था।
* परत 1 मेमोरी प्रबंधन से लेकर प्रक्रियाओं तक से संबंधित थी। आधुनिक शब्दों में यह पेजर था।
* परत 2 ऑपरेटिंग सिस्टम और [[सिस्टम कंसोल]] के बीच संचार से संबंधित है।
* परत 2 ऑपरेटिंग प्रणाली  और [[सिस्टम कंसोल|प्रणाली  कंसोल]] के बीच संचार से संबंधित है।
* परत 3 कंप्यूटर से जुड़े उपकरणों के बीच सभी I/O को प्रबंधित करती है। इसमें विभिन्न उपकरणों से बफ़रिंग जानकारी शामिल थी।
* परत 3 कंप्यूटर से जुड़े उपकरणों के बीच सभी I/O को प्रबंधित करती है। इसमें विभिन्न उपकरणों से बफ़रिंग जानकारी शामिल थी।
* परत 4 में उपयोगकर्ता स्थान शामिल है। वहाँ 5 प्रक्रियाएँ थीं: कुल मिलाकर, उन्होंने उपयोगकर्ता कार्यक्रमों के कंपाइलर, [[निष्पादन (कंप्यूटिंग)]], और [[प्रिंटर (कंप्यूटिंग)]] को संभाला। समाप्त होने पर, वे शेड्यूल क्यू (अमूर्त डेटा प्रकार) पर वापस प्रवाह को नियंत्रित करते हैं, जो [[प्राथमिकता कतार]] | प्राथमिकता-आधारित था, हाल ही में शुरू की गई प्रक्रियाओं और I/O के कारण अवरुद्ध हुई प्रक्रियाओं का समर्थन करता है।
* परत 4 में उपयोगकर्ता स्थान शामिल है। वहाँ 5 प्रक्रियाएँ थीं: कुल मिलाकर, उन्होंने उपयोगकर्ता कार्यक्रमों के कंपाइलर, [[निष्पादन (कंप्यूटिंग)]], और [[प्रिंटर (कंप्यूटिंग)]] को संभाला। समाप्त होने पर, वे शेड्यूल क्यू (अमूर्त डेटा प्रकार) पर वापस प्रवाह को नियंत्रित करते हैं, जो [[प्राथमिकता कतार]] | प्राथमिकता-आधारित था, हाल ही में शुरू की गई प्रक्रियाओं और I/O के कारण अवरुद्ध हुई प्रक्रियाओं का समर्थन करता है।
* परत 5 उपयोगकर्ता था; जैसा कि डिज्क्स्ट्रा नोट करता है, हमारे द्वारा लागू नहीं किया गया है।
* परत 5 उपयोगकर्ता था; जैसा कि डिज्क्स्ट्रा नोट करता है, हमारे द्वारा लागू नहीं किया गया है।


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


सिस्टम का कोड डच इलेक्ट्रोलॉजिका X8 कंप्यूटर के लिए असेंबली भाषा में लिखा गया था। इस कंप्यूटर में [[ शब्द (कंप्यूटर आर्किटेक्चर) ]] का आकार 27 बिट्स, 48 [[किलोवर्ड]]्स की [[कोर मेमोरी]] थी,<ref name="osc"/>512 किलोवर्ड ड्रम मेमोरी कैश प्रतिस्थापन नीतियों, पेपर टेप रीडर, पेपर टेप पंच, प्लॉटर और प्रिंटर के लिए [[कैश (कंप्यूटिंग)]] प्रदान करती है।
प्रणाली  का कोड डच इलेक्ट्रोलॉजिका X8 कंप्यूटर के लिए असेंबली भाषा में लिखा गया था। इस कंप्यूटर में [[ शब्द (कंप्यूटर आर्किटेक्चर) ]] का आकार 27 बिट्स, 48 [[किलोवर्ड]]्स की [[कोर मेमोरी]] थी,<ref name="osc"/>512 किलोवर्ड ड्रम मेमोरी कैश प्रतिस्थापन नीतियों, पेपर टेप रीडर, पेपर टेप पंच, प्लॉटर और प्रिंटर के लिए [[कैश (कंप्यूटिंग)]] प्रदान करती है।


==यह भी देखें==
==यह भी देखें==
* [[आरसी 4000 मल्टीप्रोग्रामिंग सिस्टम]]
* [[आरसी 4000 मल्टीप्रोग्रामिंग सिस्टम|आरसी 4000 मल्टीप्रोग्रामिंग  प्रणाली]]  
* [[रिंग (कंप्यूटर सुरक्षा)]]
* [[रिंग (कंप्यूटर सुरक्षा)]]
* ऑपरेटिंग सिस्टम की टाइमलाइन
* ऑपरेटिंग प्रणाली  की टाइमलाइन


==संदर्भ==
==संदर्भ==

Revision as of 23:14, 11 August 2023

THE multiprogramming system
डेवलपरEindhoven University of Technology (Technische Hogeschool Eindhoven);
Edsger Dijkstra, et al.
लिखा हुआElectrologica X8 assembly language
काम करने की अवस्थाDiscontinued
आरंभिक रिलीज1965; 59 years ago (1965)
Final releaseFinal / 1968; 56 years ago (1968)
विपणन लक्ष्यResearch
उपलब्धEnglish
अद्यतन विधिCompile from source code
प्लेटफार्मोंElectrologica X8
कर्नेल प्रकारLayered
डिफ़ॉल्ट
उपयोगकर्ता इंटरफ़ेस
Paper tape

मल्टीप्रोग्रामिंग प्रणाली या ओएस एक कंप्यूटर ऑपरेटिंग प्रणाली था जिसे एड्सगर डब्ल्यू डिज्क्स्ट्रा के नेतृत्व वाली एक टीम द्वारा डिजाइन किया गया था, जिसका वर्णन 1965-66 में मोनोग्राफ में किया गया था।[1] और 1968 में प्रकाशित हुआ।[2] दिज्क्स्ट्रा ने कभी भी इस प्रणाली का नाम नहीं रखा; THE केवल टेक्नीश होगेस्कूल आइंडहोवेन का संक्षिप्त रूप है, जो नीदरलैंड के आइंडहोवन प्रौद्योगिकी विश्वविद्यालय का (डच भाषा में) नाम है। THE प्रणाली मुख्य रूप से एक बैच प्रणाली थी[3] जो कंप्यूटर मल्टीटास्किंग का समर्थन करता है; इसे बहु-उपयोगकर्ता ऑपरेटिंग प्रणाली के रूप में डिज़ाइन नहीं किया गया था। यह काफी हद तक एसडीएस 940 जैसा था, लेकिन प्रणाली में प्रक्रिया (कंप्यूटिंग) का सेट स्थिर था।[3]

प्रणाली ने स्पष्ट रूप से सॉफ़्टवेयर-आधारित स्मृति पृष्ठ आभासी मेमोरी का पहला रूप पेश किया (इलेक्ट्रोलॉजिका X8 मेमोरी प्रबंधन इकाई | हार्डवेयर-आधारित मेमोरी प्रबंधन का समर्थन नहीं करता था),[3]प्रोग्रामों को ड्रम मेमोरी पर भौतिक स्थानों का उपयोग करने के लिए बाध्य होने से मुक्त करना। इसने प्रणाली कॉल को स्वचालित रूप से उत्पन्न करने के लिए एक संशोधित ALGOL संकलक (डिज्क्स्ट्रा के प्रणाली द्वारा समर्थित एकमात्र प्रोग्रामिंग भाषा) का उपयोग करके ऐसा किया, जिससे यह सुनिश्चित हो गया कि अनुरोधित जानकारी मेमोरी में थी, यदि आवश्यक हो तो मेमोरी को स्वैप करें।[3]पृष्ठांकित वर्चुअल मेमोरी का उपयोग डेटा बफ़र इनपुट/आउटपुट (I/O) डिवाइस डेटा, और ऑपरेटिंग प्रणाली कोड के एक महत्वपूर्ण हिस्से और लगभग सभी ALGOL 60 कंपाइलर के लिए भी किया गया था। इस प्रणाली में, सेमाफोर (प्रोग्रामिंग) का उपयोग पहली बार प्रोग्रामिंग निर्माण के रूप में किया गया था।

डिज़ाइन

मल्टीप्रोग्रामिंग प्रणाली का डिज़ाइन मतिहीनता के उपयोग के लिए महत्वपूर्ण है, जिसमें उच्च परतें केवल निचली परतों पर निर्भर करती हैं:

  • लेयर 0 ऑपरेटिंग प्रणाली के मल्टीप्रोग्रामिंग पहलुओं के लिए जिम्मेदार था। इसने तय किया कि कौन सी प्रक्रिया केंद्रीय प्रसंस्करण इकाई (सीपीयू) को आवंटित की गई थी, और उन प्रक्रियाओं के लिए जिम्मेदार थी जो सेमाफोर (प्रोग्रामिंग) पर अवरुद्ध थीं। जब प्रक्रिया में बदलाव की आवश्यकता होती है तो यह व्यवधानों से निपटता है और संदर्भ स्विच करता है। यह सबसे निचला स्तर है. आधुनिक शब्दों में, यह अनुसूचक था।
  • परत 1 मेमोरी प्रबंधन से लेकर प्रक्रियाओं तक से संबंधित थी। आधुनिक शब्दों में यह पेजर था।
  • परत 2 ऑपरेटिंग प्रणाली और प्रणाली कंसोल के बीच संचार से संबंधित है।
  • परत 3 कंप्यूटर से जुड़े उपकरणों के बीच सभी I/O को प्रबंधित करती है। इसमें विभिन्न उपकरणों से बफ़रिंग जानकारी शामिल थी।
  • परत 4 में उपयोगकर्ता स्थान शामिल है। वहाँ 5 प्रक्रियाएँ थीं: कुल मिलाकर, उन्होंने उपयोगकर्ता कार्यक्रमों के कंपाइलर, निष्पादन (कंप्यूटिंग), और प्रिंटर (कंप्यूटिंग) को संभाला। समाप्त होने पर, वे शेड्यूल क्यू (अमूर्त डेटा प्रकार) पर वापस प्रवाह को नियंत्रित करते हैं, जो प्राथमिकता कतार | प्राथमिकता-आधारित था, हाल ही में शुरू की गई प्रक्रियाओं और I/O के कारण अवरुद्ध हुई प्रक्रियाओं का समर्थन करता है।
  • परत 5 उपयोगकर्ता था; जैसा कि डिज्क्स्ट्रा नोट करता है, हमारे द्वारा लागू नहीं किया गया है।

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

प्रणाली का कोड डच इलेक्ट्रोलॉजिका X8 कंप्यूटर के लिए असेंबली भाषा में लिखा गया था। इस कंप्यूटर में शब्द (कंप्यूटर आर्किटेक्चर) का आकार 27 बिट्स, 48 किलोवर्ड्स की कोर मेमोरी थी,[3]512 किलोवर्ड ड्रम मेमोरी कैश प्रतिस्थापन नीतियों, पेपर टेप रीडर, पेपर टेप पंच, प्लॉटर और प्रिंटर के लिए कैश (कंप्यूटिंग) प्रदान करती है।

यह भी देखें

संदर्भ

  1. Dijkstra, Edsger W. The structure of the 'THE'-multiprogramming system (EWD-196) (PDF). E.W. Dijkstra Archive. Center for American History, University of Texas at Austin. (transcription) (Jun 14, 1965)
  2. Dijkstra, E.W. (1968), "The structure of the 'THE'-multiprogramming system", Communications of the ACM, 11 (5): 341–346, doi:10.1145/363095.363143, S2CID 2021311
  3. 3.0 3.1 3.2 3.3 3.4 Silberschatz, Abraham; Peterson, James L. (May 1988), "13: Historical Perspective", Operating System Concepts, p. 512