मल्टीप्रोग्रामिंग सिस्टम

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

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

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

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

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

यह भी देखें

 * आरसी 4000 मल्टीप्रोग्रामिंग सिस्टम
 * रिंग (कंप्यूटर सुरक्षा)
 * ऑपरेटिंग सिस्टम की टाइमलाइन