मल्टीप्रोग्रामिंग सिस्टम: Difference between revisions
No edit summary |
No edit summary |
||
Line 29: | Line 29: | ||
| website = <!-- {{URL|www.example.com}} --> | | website = <!-- {{URL|www.example.com}} --> | ||
}} | }} | ||
मल्टीप्रोग्रामिंग | मल्टीप्रोग्रामिंग प्रणाली या ओएस कंप्यूटर [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] के रूप में है, जिसे एड्सगर डब्ल्यू डिज्क्स्ट्रा के नेतृत्व वाली एक टीम द्वारा डिजाइन किया गया था, जिसका वर्णन 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 45: | Line 45: | ||
|s2cid=2021311 | |s2cid=2021311 | ||
}} | }} | ||
</ref> दिज्क्स्ट्रा ने कभी भी इस प्रणाली का नाम नहीं रखा था; यह केवल टेक्नीश होगेस्कूल आइंडहोवेन का संक्षिप्त रूप है, जो [[नीदरलैंड]] के [[आइंडहोवन प्रौद्योगिकी विश्वविद्यालय]] का डच लैंग्वेज | </ref> दिज्क्स्ट्रा ने कभी भी इस प्रणाली का नाम नहीं रखा था; यह केवल टेक्नीश होगेस्कूल आइंडहोवेन का संक्षिप्त रूप है, जो [[नीदरलैंड]] के [[आइंडहोवन प्रौद्योगिकी विश्वविद्यालय]] का डच लैंग्वेज में नाम है। यह प्रणाली मुख्य रूप से एक बैच प्रणाली के रूप में थी<ref name="osc">{{Citation | ||
| title = Operating System Concepts | | title = Operating System Concepts | ||
| last1 = Silberschatz | | last1 = Silberschatz | ||
Line 54: | Line 54: | ||
|date=May 1988 | |date=May 1988 | ||
| page = 512 | | page = 512 | ||
}}</ref> जो [[कंप्यूटर मल्टीटास्किंग]] का समर्थन करता है और इसे बहु-उपयोगकर्ता ऑपरेटिंग | }}</ref> जो [[कंप्यूटर मल्टीटास्किंग]] का समर्थन करता है और इसे बहु-उपयोगकर्ता ऑपरेटिंग प्रणाली के रूप में डिज़ाइन नहीं किया गया था। यह बहुत सीमा तक [[SDS]] [[एसडीएस 940|940]] जैसा था, लेकिन प्रणाली में [[प्रक्रिया (कंप्यूटिंग)|प्रक्रियाओं (कंप्यूटिंग)]] का सेट स्थिर था।<ref name="osc"/> | ||
प्रणाली ने स्पष्ट रूप से सॉफ़्टवेयर आधारित [[ स्मृति पृष्ठ | पृष्ठांकित वर्चुअल मेमोरी]] का पहला रूप प्रस्तुत | प्रणाली ने स्पष्ट रूप से सॉफ़्टवेयर आधारित [[ स्मृति पृष्ठ |पृष्ठांकित वर्चुअल मेमोरी]] का पहला रूप प्रस्तुत किया था, यह [[इलेक्ट्रोलॉजिका X8]] हार्डवेयर-आधारित मेमोरी प्रबंधन का समर्थन नहीं करता है,<ref name="osc"/> जिससे प्रोग्रामों को [[ड्रम मेमोरी]] पर भौतिक स्थानों का उपयोग करने के लिए बाध्य होना पड़ता है। इसने [[सिस्टम कॉल|प्रणाली रूटीन के लिए कॉल]] को स्वचालित रूप से उत्पन्न करने के लिए एक संशोधित [[ALGOL|ऐल्गॉल]] [[कंपाइलर]] का उपयोग करते है और इस प्रकार डिज्क्स्ट्रा की प्रणाली द्वारा समर्थित एकमात्र [[प्रोग्रामिंग भाषा|प्रोग्रामिंग लैंग्वेज]] का उपयोग करके ऐसा किया था, जिससे यह सुनिश्चित हो गया कि अनुरोधित जानकारी मेमोरी में थी, यदि आवश्यक हो तो मेमोरी को स्वैपिंग कर सकते है।<ref name="osc"/> पृष्ठांकित वर्चुअल मेमोरी का उपयोग [[डेटा बफ़र]] इनपुट/आउटपुट (I/O) डिवाइस डेटा और ऑपरेटिंग प्रणाली कोड के एक महत्वपूर्ण भाग के लिए और लगभग सभी [[ALGOL 60|ऐल्गॉल 60]] कंपाइलर के लिए किया गया था। इस प्रणाली में, [[सेमाफोर (प्रोग्रामिंग)]] का उपयोग पहली बार प्रोग्रामिंग निर्माण के रूप में किया गया था। | ||
==डिज़ाइन== | ==डिज़ाइन== | ||
मल्टीप्रोग्रामिंग प्रणाली की डिज़ाइन एक [[स्तरित]] संरचना के उपयोग के लिए महत्वपूर्ण है, जिसमें उच्च परतें केवल निचली | मल्टीप्रोग्रामिंग प्रणाली की डिज़ाइन एक [[स्तरित]] संरचना के उपयोग के लिए महत्वपूर्ण है, जिसमें उच्च परतें केवल निचली लेयर्स पर निर्भर करती हैं, | ||
* लेयर 0 ऑपरेटिंग | * लेयर 0 ऑपरेटिंग प्रणाली के मल्टीप्रोग्रामिंग पहलुओं के लिए उत्तरदायी था। इसने तय किया कि कौन सी प्रक्रिया सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) को एलोकेट की गई थी और यह उन प्रक्रियाओं के लिए उत्तरदायी थी, जो सेमाफोर (प्रोग्रामिंग) पर अवरुद्ध थीं। जब प्रक्रिया में बदलाव की आवश्यकता होती है तो यह व्यवधानों से निपटता है और [[संदर्भ स्विच|कॉन्टेक्स्ट स्विच]] करता है। इस प्रकार यह सबसे निचले स्तर में आधुनिक शब्दों में [[शेड्यूलर]] के रूप में होता है। | ||
* लेयर 1 प्रक्रियाओं के लिए मेमोरी एलोकेट करने से संबंधित थी। आधुनिक शब्दों में यह पेजर था। | * लेयर 1 प्रक्रियाओं के लिए मेमोरी एलोकेट करने से संबंधित थी। आधुनिक शब्दों में यह पेजर था। | ||
* लेयर 2 ऑपरेटिंग | * लेयर 2 ऑपरेटिंग प्रणाली और [[सिस्टम कंसोल|प्रणाली कंसोल]] के बीच संचार से संबंधित होता है। | ||
* लेयर 3 कंप्यूटर से जुड़े उपकरणों के बीच सभी I/O को प्रबंधित करती है। इसमें विभिन्न उपकरणों से बफ़रिंग जानकारी प्राप्त होती है। | * लेयर 3 कंप्यूटर से जुड़े उपकरणों के बीच सभी I/O को प्रबंधित करती है। इसमें विभिन्न उपकरणों से बफ़रिंग जानकारी प्राप्त होती है। | ||
* लेयर 4 में उपयोगकर्ता प्रोग्राम सम्मलित है। इस प्रकार कुल मिलाकर 5 प्रक्रियाएँ के रूप में थीं, इसमें उन्होंने उपयोगकर्ता प्रोग्राम के कम्पाइलिंग एक्सक्यूटिंग और प्रिंटिंग को संभाला और | * लेयर 4 में उपयोगकर्ता प्रोग्राम सम्मलित है। इस प्रकार कुल मिलाकर 5 प्रक्रियाएँ के रूप में थीं, इसमें उन्होंने उपयोगकर्ता प्रोग्राम के कम्पाइलिंग एक्सक्यूटिंग और प्रिंटिंग को संभाला और समाप्त होने पर वे शेड्यूल क्यू [[कतार]] में स्थानांतरित कर दिया था, जो कि हाल ही में शुरू की गई प्रक्रियाओं और I/O के कारण अवरुद्ध हुई प्रक्रियाओं के पक्ष में प्राथमिकता आधारित प्रक्रियाओं का समर्थन करता है। | ||
* लेयर 5 उपयोगकर्ता के रूप में डिज्क्स्ट्रा नोट्स हमारे द्वारा प्रयुक्त नहीं किया गया था। | * लेयर 5 उपयोगकर्ता के रूप में डिज्क्स्ट्रा नोट्स हमारे द्वारा प्रयुक्त नहीं किया गया था। | ||
यह | यह कॉन्सट्रेंट कि ऊंची परतें केवल निचली लेयर्स पर निर्भर होती हैं और इस प्रकार प्रणाली के बारे में तर्क को अर्ध-औपचारिक विधियों का उपयोग करके अधिक सुव्यवस्थित बनाने के लिए और साथ ही प्रणाली के निर्माण और परीक्षण को क्रमिक रूप से सुविधाजनक बनाने के लिए डिजाइनरों द्वारा लगाया गया था। इस प्रकार लेयर्स को पहले क्रम लेयर 0 के रूप में प्रयुक्त किया गया था, जिसमें प्रत्येक लेयर द्वारा बदले में प्रदान किए गए ऐब्स्ट्रैक्ट का गहन परीक्षण किया गया था। लेयर्स में [[कर्नेल (ऑपरेटिंग सिस्टम)|कर्नेल (ऑपरेटिंग प्रणाली )]] का यह विभाजन कुछ मायनों में [[ मॉलटिक्स |मॉलटिक्स]] के बाद के रिंग-सेगमेंटेशन मॉडल के समान था। इस प्रकार बाद के कई ऑपरेटिंग प्रणाली ने कुछ सीमा तक लेयरिंग का उपयोग किया था, जिसमें [[ विंडोज़ एनटी |विंडोज़ एनटी]] और मैकओएस के रूप में सम्मलित हैं, चूंकि सामान्यतः इसे कम लेयर्स का माना जाता है। | ||
प्रणाली | प्रणाली का कोड डच इलेक्ट्रोलॉजिका X8 कंप्यूटर के लिए असेंबली लैंग्वेज में लिखा गया था। इस कंप्यूटर में [[ शब्द (कंप्यूटर आर्किटेक्चर) |शब्द (कंप्यूटर आर्किटेक्चर)]] का आकार 27 बिट्स, 48 [[किलोवर्ड|किलोवर्ड्स]] की [[कोर मेमोरी]] थी,<ref name="osc"/> इस प्रकार 512 किलोवर्ड ड्रम मेमोरी एलआरयू [[कैशे]] एल्गोरिदम पेपर टेप रीडर, पेपर टेप पंच, प्लॉटर और प्रिंटर के लिए बैकिंग स्टोर प्रदान करती है। | ||
==यह भी देखें== | ==यह भी देखें== | ||
* [[आरसी 4000 मल्टीप्रोग्रामिंग सिस्टम|आरसी 4000 मल्टीप्रोग्रामिंग | * [[आरसी 4000 मल्टीप्रोग्रामिंग सिस्टम|आरसी 4000 मल्टीप्रोग्रामिंग प्रणाली]] | ||
* [[रिंग (कंप्यूटर सुरक्षा)]] | * [[रिंग (कंप्यूटर सुरक्षा)]] | ||
* ऑपरेटिंग | * ऑपरेटिंग प्रणाली की टाइमलाइन | ||
==कॉन्टेक्स्ट == | ==कॉन्टेक्स्ट == |
Revision as of 01:00, 12 August 2023
डेवलपर | Eindhoven University of Technology (Technische Hogeschool Eindhoven); Edsger Dijkstra, et al. |
---|---|
लिखा हुआ | Electrologica X8 assembly language |
काम करने की अवस्था | Discontinued |
आरंभिक रिलीज | 1965 |
Final release | Final / 1968 |
विपणन लक्ष्य | Research |
उपलब्ध | English |
अद्यतन विधि | Compile from source code |
प्लेटफार्मों | Electrologica X8 |
कर्नेल प्रकार | Layered |
डिफ़ॉल्ट उपयोगकर्ता इंटरफ़ेस | Paper tape |
मल्टीप्रोग्रामिंग प्रणाली या ओएस कंप्यूटर ऑपरेटिंग प्रणाली के रूप में है, जिसे एड्सगर डब्ल्यू डिज्क्स्ट्रा के नेतृत्व वाली एक टीम द्वारा डिजाइन किया गया था, जिसका वर्णन 1965-66 में मोनोग्राफ में किया गया था।[1] और 1968 में प्रकाशित किया गया था।[2] दिज्क्स्ट्रा ने कभी भी इस प्रणाली का नाम नहीं रखा था; यह केवल टेक्नीश होगेस्कूल आइंडहोवेन का संक्षिप्त रूप है, जो नीदरलैंड के आइंडहोवन प्रौद्योगिकी विश्वविद्यालय का डच लैंग्वेज में नाम है। यह प्रणाली मुख्य रूप से एक बैच प्रणाली के रूप में थी[3] जो कंप्यूटर मल्टीटास्किंग का समर्थन करता है और इसे बहु-उपयोगकर्ता ऑपरेटिंग प्रणाली के रूप में डिज़ाइन नहीं किया गया था। यह बहुत सीमा तक SDS 940 जैसा था, लेकिन प्रणाली में प्रक्रियाओं (कंप्यूटिंग) का सेट स्थिर था।[3]
प्रणाली ने स्पष्ट रूप से सॉफ़्टवेयर आधारित पृष्ठांकित वर्चुअल मेमोरी का पहला रूप प्रस्तुत किया था, यह इलेक्ट्रोलॉजिका X8 हार्डवेयर-आधारित मेमोरी प्रबंधन का समर्थन नहीं करता है,[3] जिससे प्रोग्रामों को ड्रम मेमोरी पर भौतिक स्थानों का उपयोग करने के लिए बाध्य होना पड़ता है। इसने प्रणाली रूटीन के लिए कॉल को स्वचालित रूप से उत्पन्न करने के लिए एक संशोधित ऐल्गॉल कंपाइलर का उपयोग करते है और इस प्रकार डिज्क्स्ट्रा की प्रणाली द्वारा समर्थित एकमात्र प्रोग्रामिंग लैंग्वेज का उपयोग करके ऐसा किया था, जिससे यह सुनिश्चित हो गया कि अनुरोधित जानकारी मेमोरी में थी, यदि आवश्यक हो तो मेमोरी को स्वैपिंग कर सकते है।[3] पृष्ठांकित वर्चुअल मेमोरी का उपयोग डेटा बफ़र इनपुट/आउटपुट (I/O) डिवाइस डेटा और ऑपरेटिंग प्रणाली कोड के एक महत्वपूर्ण भाग के लिए और लगभग सभी ऐल्गॉल 60 कंपाइलर के लिए किया गया था। इस प्रणाली में, सेमाफोर (प्रोग्रामिंग) का उपयोग पहली बार प्रोग्रामिंग निर्माण के रूप में किया गया था।
डिज़ाइन
मल्टीप्रोग्रामिंग प्रणाली की डिज़ाइन एक स्तरित संरचना के उपयोग के लिए महत्वपूर्ण है, जिसमें उच्च परतें केवल निचली लेयर्स पर निर्भर करती हैं,
- लेयर 0 ऑपरेटिंग प्रणाली के मल्टीप्रोग्रामिंग पहलुओं के लिए उत्तरदायी था। इसने तय किया कि कौन सी प्रक्रिया सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) को एलोकेट की गई थी और यह उन प्रक्रियाओं के लिए उत्तरदायी थी, जो सेमाफोर (प्रोग्रामिंग) पर अवरुद्ध थीं। जब प्रक्रिया में बदलाव की आवश्यकता होती है तो यह व्यवधानों से निपटता है और कॉन्टेक्स्ट स्विच करता है। इस प्रकार यह सबसे निचले स्तर में आधुनिक शब्दों में शेड्यूलर के रूप में होता है।
- लेयर 1 प्रक्रियाओं के लिए मेमोरी एलोकेट करने से संबंधित थी। आधुनिक शब्दों में यह पेजर था।
- लेयर 2 ऑपरेटिंग प्रणाली और प्रणाली कंसोल के बीच संचार से संबंधित होता है।
- लेयर 3 कंप्यूटर से जुड़े उपकरणों के बीच सभी I/O को प्रबंधित करती है। इसमें विभिन्न उपकरणों से बफ़रिंग जानकारी प्राप्त होती है।
- लेयर 4 में उपयोगकर्ता प्रोग्राम सम्मलित है। इस प्रकार कुल मिलाकर 5 प्रक्रियाएँ के रूप में थीं, इसमें उन्होंने उपयोगकर्ता प्रोग्राम के कम्पाइलिंग एक्सक्यूटिंग और प्रिंटिंग को संभाला और समाप्त होने पर वे शेड्यूल क्यू कतार में स्थानांतरित कर दिया था, जो कि हाल ही में शुरू की गई प्रक्रियाओं और I/O के कारण अवरुद्ध हुई प्रक्रियाओं के पक्ष में प्राथमिकता आधारित प्रक्रियाओं का समर्थन करता है।
- लेयर 5 उपयोगकर्ता के रूप में डिज्क्स्ट्रा नोट्स हमारे द्वारा प्रयुक्त नहीं किया गया था।
यह कॉन्सट्रेंट कि ऊंची परतें केवल निचली लेयर्स पर निर्भर होती हैं और इस प्रकार प्रणाली के बारे में तर्क को अर्ध-औपचारिक विधियों का उपयोग करके अधिक सुव्यवस्थित बनाने के लिए और साथ ही प्रणाली के निर्माण और परीक्षण को क्रमिक रूप से सुविधाजनक बनाने के लिए डिजाइनरों द्वारा लगाया गया था। इस प्रकार लेयर्स को पहले क्रम लेयर 0 के रूप में प्रयुक्त किया गया था, जिसमें प्रत्येक लेयर द्वारा बदले में प्रदान किए गए ऐब्स्ट्रैक्ट का गहन परीक्षण किया गया था। लेयर्स में कर्नेल (ऑपरेटिंग प्रणाली ) का यह विभाजन कुछ मायनों में मॉलटिक्स के बाद के रिंग-सेगमेंटेशन मॉडल के समान था। इस प्रकार बाद के कई ऑपरेटिंग प्रणाली ने कुछ सीमा तक लेयरिंग का उपयोग किया था, जिसमें विंडोज़ एनटी और मैकओएस के रूप में सम्मलित हैं, चूंकि सामान्यतः इसे कम लेयर्स का माना जाता है।
प्रणाली का कोड डच इलेक्ट्रोलॉजिका X8 कंप्यूटर के लिए असेंबली लैंग्वेज में लिखा गया था। इस कंप्यूटर में शब्द (कंप्यूटर आर्किटेक्चर) का आकार 27 बिट्स, 48 किलोवर्ड्स की कोर मेमोरी थी,[3] इस प्रकार 512 किलोवर्ड ड्रम मेमोरी एलआरयू कैशे एल्गोरिदम पेपर टेप रीडर, पेपर टेप पंच, प्लॉटर और प्रिंटर के लिए बैकिंग स्टोर प्रदान करती है।
यह भी देखें
- आरसी 4000 मल्टीप्रोग्रामिंग प्रणाली
- रिंग (कंप्यूटर सुरक्षा)
- ऑपरेटिंग प्रणाली की टाइमलाइन
कॉन्टेक्स्ट
- ↑ 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)
- ↑ 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.0 3.1 3.2 3.3 3.4 Silberschatz, Abraham; Peterson, James L. (May 1988), "13: Historical Perspective", Operating System Concepts, p. 512