डॉस विस्तारक

डॉस विस्तारक डॉस के तहत चलने वाला एक कंप्यूटर सॉफ्टवेयर प्रोग्राम है जो सॉफ्टवेयर को एक संरक्षित मोड वातावरण में चलाने में सक्षम बनाता है तथापि होस्ट ऑपरेटिंग प्रणाली केवल वास्तविक मोड में काम करने में सक्षम हो।

डॉस विस्तारक को प्रारंभ में 1980 के दशक में इंटेल 80286 प्रोसेसर (और बाद में इंटेल 80386 के साथ विस्तारित) की प्रारंभ के बाद डॉस की मेमोरी सीमाओं से निपटने के लिए विकसित किया गया था।

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

पर्यावरण को स्थापित करने और निष्पादित किए जाने वाले वास्तविक कार्यक्रम को लोड करने के अतिरिक्त डॉस विस्तारक (अन्य बातों के अतिरिक्त ) एक अनुवाद परत भी प्रदान करता है जो 1 एमबी वास्तविक मोड मेमोरी बैरियर के नीचे आवंटित बफ़र (कंप्यूटर विज्ञान) को बनाए रखता है। इन बफ़र्स का उपयोग अंतर्निहित वास्तविक मोड ऑपरेटिंग प्रणाली और संरक्षित मोड प्रोग्राम के बीच डेटा स्थानांतरित करने के लिए किया जाता है। चूंकि वास्तविक/V86 मोड और संरक्षित मोड के बीच स्विच करना एक अपेक्षाकृत समय लेने वाला ऑपरेशन है विस्तारक अपने स्वयं के संरक्षित मोड वातावरण में कई वास्तविक मोड संचालन की कार्यक्षमता को डुप्लिकेट करके स्विच की संख्या को कम करने का प्रयास करता है। जैसा कि डॉस ऑपरेटिंग प्रणाली और उपयोगकर्ता स्तर के सॉफ़्टवेयर के बीच संचार के लिए बड़े मापदंड पर व्यवधान का उपयोग करता है डॉस विस्तारक कई सामान्य हार्डवेयर (जैसे वास्तविक समय घड़ी और कीबोर्ड कंट्रोलर) और सॉफ़्टवेयर (जैसे डॉस स्वयं और माउस एपीआई) को बाधित करता है। कुछ विस्तारक अन्य सामान्य व्यवधान कार्यों जैसे कि वीडियो बीआईओएस रूटीन को भी संभालते हैं,

अनिवार्य रूप से एक डॉस विस्तारक एक लघु ऑपरेटिंग प्रणाली की तरह है जो अंतर्निहित ऑपरेटिंग प्रणाली की अधिकांश कार्यक्षमता को स्वयं संभालता है।

विकास इतिहास
फार लैप (कंपनी) द्वारा डॉस विस्तारक का आविष्कार यकीनन किया गया था, किंतु यह टेनबेरी सॉफ्टवेयर' (पूर्व में रैशनल प्रणाली ) 386 विस्तारक डॉस /4जीडब्ल्यू था जो एक बड़े बाजार में संरक्षित मोड डॉस प्रोग्राम लेकर आया था। 386 वर्ग प्रोसेसर के लिए वाटकॉम के सी, सी ++ और फोरट्रान कंपाइलर्स के साथ सम्मिलित यह जल्द ही पीसी अनुप्रयोगों और आईडी सॉफ्टवेयर के सफल डूम (1993 वीडियो गेम) जैसे गेम का सर्वव्यापी मुख्य आधार बन गया है

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

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

डॉस विस्तारक

 * डॉस /4G|डॉस /4G और डॉस /4जीडब्ल्यू और डॉस /16M टेनबेरी सॉफ्टवेयर, इंक. द्वारा
 * 286|डॉस विस्तारक और 386 फार लैप (कंपनी) द्वारा डॉस विस्तारक बाद में टीएनटी डॉस विस्तारक द्वारा प्रतिस्थापित किया गया।
 * अल विलियम्स द्वारा प्रॉट डॉ. डॉब के जर्नल में प्रकाशित एक 32-बिट डॉस विस्तारक और दो किताबों में  इस विस्तारक में वास्तविक मोड में वापस स्विच करने के अतिरिक्त एमुलेटेड मोड में डॉस और बीआईओएस कॉल चलाने का गुण था।
 * कॉज़वे एक पूर्व मालिकाना विस्तारक था जो डॉस 4G के साथ प्रतिस्पर्धा करता था। 2000 तक इसे ओपन सोर्स कोड रूप में जारी किया गया है। कुछ दुर्लभ खेल जैसे द एल्डर स्क्रॉल II: डैगरफॉल इसका उपयोग करते हैं।
 * डॉस/32 डॉस/4जी के विकल्प के रूप में नरेक के.
 * एर्गो (पूर्व में एक्लिप्स, पूर्व में A. I. आर्किटेक्ट्स) OS/286 और OS/386 विस्तारक, और डीपीएम16 और डीपीएम32 सर्वर
 * 386पावर 32-बिट डॉस विस्तारक 32-बिट असेंबली ऐप्स के लिए एक विस्तारक है। स्रोत कोड सम्मिलित है।
 * 1990 के बाद से सभी माइक्रोसॉफ़्ट विंडोज़ संस्करण, NT शाखा को छोड़कर, डीपीएमI सर्वर और डॉस विस्तारक दोनों वर्चुअल डॉस मशीन
 * एचएक्स डॉस विस्तारक विंडोज़ कंसोल और कुछ विन32 जीयूआई अनुप्रयोगों को डॉस के तहत चलाने की अनुमति देने के लिए सीमित विन32 समर्थन प्रदान करता है। इसमें 16-बिट और 32-बिट डॉस प्रोटेक्टेड मोड इंटरफेस सर्वर (एचडीपीएमआई16/एचडीपीएमआई32) दोनों सम्मिलित हैं जो संरक्षित मोड डॉस प्रोग्राम के साथ उपयोग के लिए हैं।
 * डॉसविन32 सीमित विन32 समर्थन प्रदान करता है
 * डब्ल्यूडीओएसएक्स टीएमटी पास्कल कंपाइलर द्वारा उपयोग किए जाने वाले सीमित विन32 समर्थन का प्रारंभिक कार्यान्वयन था।
 * बोरलैंड सी ++ एक विस्तारक था जिसमें उनके कुछ विकास सूट सम्मिलित थे जो कि विन32 एपीआई के एक सीमित भाग तक पहुंच सकते थे।
 * टर्बो असेंबलर, फिर से बोरलैंड से, डीपीएम 32VM के साथ 32आरटीएम और डीपीएम16BI के साथ आरटीएम दो डीपीएमI होस्ट सम्मिलित हैं।
 * सीडब्ल्यूएसडीपीएमआई चार्ल्स डब्ल्यू सैंडमैन द्वारा एक डीपीएमI सर्वर 32-बिट संरक्षित मोड डॉस डीजेजीपीपी प्रोग्राम के साथ उपयोग के लिए।
 * क्वार्टरडेक ऑफिस प्रणाली द्वारा क्यूडीपीएमआई, क्यूईएमएम के साथ सम्मिलित एक डीपीएमआई होस्ट था।
 * GO32, डीजेजीपीपी के पुराने (प्री-v2) संस्करणों और फ़्री पास्कल में उपयोग किया जाता है
 * D3X पूरी तरह से असेम्बली भाषा में लिखा गया एक डीपीएमI सर्वर है। अभी भी अल्फा अवस्था में है, किंतु पूरा होने से पहले ही बंद कर दिया गया।
 * डीपीएमआईओएनई एक और डीपीएमI सेवर है। मूल रूप से बोर्लैंड सी ++ और डेल्फी द्वारा उत्पन्न 32 बिट प्रोग्राम के लिए विकसित किया गया।
 * सैलफोर्ड सॉफ्टवेयर द्वारा डीबीओएस, एक 32-बिट संरक्षित मोड डॉस विस्तारक मुख्य रूप से उनके एफटीएन77 फोरट्रान कंपाइलर द्वारा उपयोग किया जाता है
 * फ्लैशटेक द्वारा X32 और X32VM और डिजिटल मंगल कंपाइलर्स द्वारा लक्ष्य के रूप में समर्थित
 * ब्लिंक इंक वर्जन 3 और उससे ऊपर के ब्लिंकर ने सीए-क्लिपर, माइक्रोसॉफ्ट सी/सी++, पास्कल, फोरट्रान और बोरलैंड सी/सी++ सहित कई 16 बिट डॉस कंपाइलर्स के लिए 286 डॉस विस्तारक प्रदान किया। रन टाइम पर्यावरण के आधार पर वास्तविक या संरक्षित मोड में चलने में सक्षम अद्वितीय 'डुअल मोड' निष्पादन योग्य समर्थित।
 * ईएमएक्स (प्रोग्रामिंग पर्यावरण)

उल्लेखनीय डॉस विस्तारित अनुप्रयोग

 * एटीटी ग्राफिक्स सॉफ्टवेयर लैब्स 'रियो' - संकल्प स्वतंत्र वस्तुओं 'ग्राफिक्स सॉफ्टवेयर।
 * एडोब एक्रोबेट रीडर 1.0 (डॉस /4जीडब्ल्यू प्रोफेशनल के प्रारंभिक संस्करण का उपयोग करता है)
 * ऑटोकैड 11 (फारलैप 386)
 * लोटस 1-2-3 रिलीज़ 3 (तर्कसंगत प्रणाली डॉस /16M)
 * ओरेकल कॉर्पोरेशन प्रोफेशनल
 * आईबीएम इंटरलीफ
 * मेजर बी.बी.एस, 1980 का बुलेटिन बोर्ड प्रणाली सॉफ्टवेयर पैकेज जिसने फ़ार लैप (कंपनी) डॉस विस्तारक का उपयोग किया।
 * क्वार्टरडेक ऑफिस प्रणाली डीईएसक्यूव्यू और डीईएसक्यूव्यू/एक्स मल्टीटास्किंग सॉफ्टवेयर
 * वाटकॉम की सी (प्रोग्रामिंग भाषा), सी ++ और एक्स86 के लिए फोरट्रान संकलक
 * 1990 के दशक के आरंभ से लेकर मध्य तक अनगिनत डॉस गेम, जिनमें ज्यादातर डॉस /4जीडब्ल्यू का उपयोग करते हैं, जिनमें सम्मिलित हैं:
 * आईडी सॉफ्टवेयर का डूम और इसके सीक्वेल, साथ ही क्वेक (वीडियो गेम) (डीजेजीपीपी के साथ निर्मित)
 * लुकिंग ग्लास स्टूडियोज का प्रणाली शॉक
 * लंबन सॉफ्टवेयर का अवतरण (वीडियो गेम)
 * क्रैक डॉट कॉम का दुरुपयोग (कंप्यूटर गेम)
 * बर्फ़ीला तूफ़ान एंटरटेनमेंट का वॉरक्राफ्ट: ओर्क्स एंड ह्यूमन और वॉरक्राफ्ट II: टाइड्स ऑफ़ डार्कनेस
 * 3डी क्षेत्र' ड्यूक नुकेम 3डी
 * मिडवे गेम्स मॉर्टल कोम्बैट (1992 वीडियो गेम)
 * वेस्टवुड स्टूडियोज की कमान और जीत और कमान और जीत: रेड अलर्ट
 * डीएमए डिजाइन (अब रॉकस्टार नॉर्थ) का ग्रैंड थेफ्ट ऑटो (वीडियो गेम)आधुनिक कंप्यूटरों के साथ इसे और अधिक संगत बनाने के लिए गेम के बाद के संस्करणों को विंडोज़ में पोर्ट किया गया था।
 * कोमांचे (वीडियो गेम श्रृंखला) | कोमांचे: नोवालॉजिक द्वारा अधिकतम ओवरकिल ने एक कस्टम अवास्तविक मोड मेमोरी मैनेजर का उपयोग किया जिसके लिए 80386 प्रोसेसर की आवश्यकता थी और यह डॉस मेमोरी प्रबंधन और वर्चुअल डॉस मशीनों के साथ असंगत था, कॉन्फ़िग.एसवाईएस में एक जटिल डॉस बूट मेनू कॉन्फ़िगरेशन की आवश्यकता थी . बाद के संशोधनों में एक डॉस विस्तारक सम्मिलित था जिसने समस्या को हल किया था ।
 * अंतिम सातवीं और अल्टिमा VII भाग दो: उत्पत्ति प्रणाली द्वारा सर्पेंट आइल ने वूडू मेमोरी मैनेजर नामक एक कस्टम अवास्तविक डॉस मेमोरी प्रबंधन का भी उपयोग किया जो विस्तारित मेमोरी मेमोरी और डॉस मेमोरी प्रबंधन जैसे ईएमएम386 के साथ असंगत था।

बाहरी संबंध

 * HX-डॉस
 * The Free Country's list of डॉस extenders
 * The Free Country's list of डॉस extenders