वर्चुअल डॉस मशीन: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Subsystem for 32-bit Windows for running 16-bit DOS & Windows programs}}
{{Short description|Subsystem for 32-bit Windows for running 16-bit DOS & Windows programs}}
वर्चुअल डॉस मशीन (वीडीएम) ऐसी तकनीक को संदर्भित करती है जो 16-बिट/32-बिट डॉस और विंडोज 3.1x|16-बिट विंडोज प्रोग्राम को चलाने [[की]] अनुमति देती है जब पहले से ही अन्य [[ऑपरेटिंग सिस्टम]] चल रहा हो और हार्डवेयर को नियंत्रित कर रहा हो।
वर्चुअल डॉस मशीन (वीडीएम) ऐसी तकनीक को संदर्भित करती है जो 16-बिट/32-बिट डॉस और विंडोज 3.1xया16-बिट विंडोज प्रोग्राम को चलाने [[की]] अनुमति देती है, इस प्रकार यह पहले से ही अन्य [[ऑपरेटिंग सिस्टम]] के रन होने पर और हार्डवेयर को नियंत्रित करने पर भी कार्य करती हैं।


== अवलोकन ==
== अवलोकन ==
वर्चुअल डॉस मशीनें या तो विशेष रूप से विशिष्ट एमुलेटर विधियों (जैसे गतिशील पुनर्संयोजन) के माध्यम से संचालित हो सकती हैं या [[इंटेल]] [[80386]] प्रोसेसर के [[वर्चुअल 8086 मोड]] पर भरोसा कर सकती हैं, जो [[वास्तविक मोड]] 8086 सॉफ़्टवेयर को नियंत्रित वातावरण में चलाने की अनुमति देता है, जिसमें सभी ऑपरेशनों को सम्मलित किया जाता है। हार्डवेयर और उन्हें सामान्य ऑपरेटिंग सिस्टम पर अग्रेषित करना (अपवाद संचालन के रूप में)ऑपरेटिंग सिस्टम तब अनुकरण कर सकता है और DOS सॉफ़्टवेयर के निष्पादन को फिर से प्रारंभ कर सकता है।
वर्चुअल डॉस मशीनें या तो विशेष रूप से विशिष्ट एमुलेटर विधियों (जैसे गतिशील पुनर्संयोजन) के माध्यम से संचालित हो सकती हैं या [[इंटेल]] [[80386]] प्रोसेसर के [[वर्चुअल 8086 मोड]] पर विश्वास कर सकती हैं, जो [[वास्तविक मोड]] 8086 सॉफ़्टवेयर को नियंत्रित वातावरण में चलाने की अनुमति देता है, इस प्रकार जिसमें सभी ऑपरेशनों को सम्मलित किया जाता है। हार्डवेयर और उन्हें सामान्य ऑपरेटिंग सिस्टम पर अग्रेषित करना (अपवाद संचालन के रूप में) इत्यादि भी करने में सक्षम होती हैं। इस प्रकार ऑपरेटिंग सिस्टम तब अनुकरण कर सकता है और डिस्क ऑपरेटिंग सिस्टम सॉफ़्टवेयर के निष्पादन को फिर से प्रारंभ भी कर सकता है।
 
VDM सामान्यतः [[16-बिट]] | 16- और [[32-बिट]] संरक्षित मोड सॉफ़्टवेयर ([[दो विस्तार]]) को चलाने के लिए समर्थन को लागू करते हैं, जिसे DOS संरक्षित मोड इंटरफ़ेस (DPMI) के अनुरूप होना होता है।<ref name="Schulman_1994_Undocumented-DOS"/>
 
जब VDM के अंदर चलने वाले DOS प्रोग्राम को पेरिफेरल एक्सेस करने की आवश्यकता होती है, तो [[Microsoft Windows]] या तो इसे सीधे (संभवतः ही कभी) अनुमति देगा, या DOS प्रोग्राम को डिवाइस ड्राइवर # वर्चुअल डिवाइस ड्राइवर (VDD) के साथ प्रस्तुत करेगा, जो ऑपरेटिंग सिस्टम फ़ंक्शंस का उपयोग करके हार्डवेयर का अनुकरण करता है। . VDM में Intel [[8259A]] [[बाधा डालना]] कंट्रोलर, [[Intel 8254]] टाइमर चिप्स, 8237 DMA कंट्रोलर, आदि के लिए व्यवस्थित रूप से अनुकरण होगा।<ref name="Schulman_1994_Undocumented-DOS"/>


इस प्रकार वीडीएम (VDM) सामान्यतः [[16-बिट]] या 16- और [[32-बिट]] संरक्षित मोड सॉफ़्टवेयर ([[दो विस्तार|दोनों के विस्तार]]) को चलाने के लिए समर्थन को लागू करते हैं, जिसे  डिस्क ऑपरेटिंग सिस्टम संरक्षित मोड इंटरफ़ेस (DPMI) के अनुरूप होना होता है।<ref name="Schulman_1994_Undocumented-DOS"/>


जब वीडीएम के अंदर चलने वाले  डिस्क ऑपरेटिंग सिस्टम प्रोग्राम को पेरिफेरल एक्सेस करने की आवश्यकता होती है, तो इस प्रकार  [[Microsoft Windows|माइक्रोसाॅफ्ट विंडोज]] या तो इसे सीधे अनुमति देगा, या  डिस्क ऑपरेटिंग सिस्टम प्रोग्राम को डिवाइस ड्राइवर वर्चुअल डिवाइस ड्राइवर (VDD) के साथ प्रस्तुत करेगा, जो ऑपरेटिंग सिस्टम फ़ंक्शंस का उपयोग करके हार्डवेयर का अनुकरण करता है। इस प्रकार वीडीएम में इंटेल [[8259A]] [[बाधा डालना|बाधा डालने]] वाले कंट्रोलर, [[Intel 8254|इंटेल 8254]] टाइमर चिप्स, 8237 डीएमए कंट्रोलर, आदि के लिए व्यवस्थित रूप से अनुकरण करता हैं।<ref name="Schulman_1994_Undocumented-DOS"/>
==समवर्ती डॉस 8086 एमुलेशन मोड ==
==समवर्ती डॉस 8086 एमुलेशन मोड ==
जनवरी 1985 में [[डिजिटल अनुसंधान]] ने इंटेल के साथ मिलकर समवर्ती DOS 286 1.0 का पूर्वावलोकन किया,<ref name="BYTE_1985_CDOS286"/>[[80286]] के संरक्षित मोड में वास्तविक मोड डॉस प्रोग्राम चलाने में सक्षम [[समवर्ती डॉस]] का संस्करण।<ref name="BYTE_1985_CDOS286"/>B-1 स्टेपिंग प्रोसेसर चिप्स पर तैयार की गई विधि, चूंकि, मई 1985 में C-1 और उसके बाद के प्रोसेसर स्टेपिंग पर काम करना बंद कर दिया, इससे कुछ समय पहले डिजिटल रिसर्च उत्पाद को जारी करने वाला था। चूंकि ई-1 कदम के साथ इंटेल ने अगस्त 1985 में मुद्दों को संबोधित करना प्रारंभ कर दिया, जिससे कि डिजिटल रिसर्च के 8086 इम्यूलेशन मोड ने फिर से गैर-दस्तावेजी [[286 लोडल]] प्रोसेसर निर्देश का उपयोग करके काम किया,<ref name="DRI_1986_CDOS68K-2"/><ref name="Deitel_1992"/>व्यावहारिक होना बहुत धीमा था। E-2 स्टेपिंग के लिए [[माइक्रोकोड]] परिवर्तन ने फिर से गति में सुधार किया।<ref name="Infoworld_1985_Super"/><ref name="Infoworld_1985_80286"/>इस प्रारंभिक कार्यान्वयन को वास्तविक वर्चुअल डॉस मशीनों के पूर्ववर्ती के रूप में देखा जा सकता है।
जनवरी 1985 में [[डिजिटल अनुसंधान]] ने इंटेल के साथ मिलकर समवर्ती डिस्क ऑपरेटिंग सिस्टम 286 1.0 का पूर्वावलोकन करता हैं,<ref name="BYTE_1985_CDOS286"/> [[80286]] के संरक्षित मोड में वास्तविक मोड डॉस प्रोग्राम चलाने में सक्षम [[समवर्ती डॉस]] का संस्करण भी सहायक होता हैं।<ref name="BYTE_1985_CDOS286"/> इस प्रकार B-1 स्टेपिंग प्रोसेसर चिप्स पर तैयार की गई विधि का उपयोग किया जाता था। चूंकि, मई 1985 में C-1 और इसके पश्चात प्रोसेसर स्टेपिंग पर कार्य करना बंद कर देता हैं, इससे कुछ समय पहले डिजिटल रिसर्च उत्पाद को प्रस्तुत करने वाला था। चूंकि ई-1 स्टेपिंग के साथ इंटेल ने अगस्त 1985 में विवादों को संबोधित करना प्रारंभ कर दिया, जिससे कि डिजिटल रिसर्च के 8086 इम्यूलेशन मोड ने फिर से गैर-दस्तावेजी [[286 लोडल]] प्रोसेसर निर्देश का उपयोग करके कार्य करता हैं,<ref name="DRI_1986_CDOS68K-2"/><ref name="Deitel_1992"/> व्यावहारिक रुप से इसके होने की सीमा बहुत धीमी थी। इस प्रकार E-2 स्टेपिंग के लिए [[माइक्रोकोड]] परिवर्तन ने फिर से गति में सुधार किया गया था।<ref name="Infoworld_1985_Super"/><ref name="Infoworld_1985_80286"/> इस प्रकार इस प्रारंभिक कार्यान्वयन को वास्तविक वर्चुअल डॉस मशीनों के पूर्ववर्ती के रूप में देखा जा सकता है।


आखिरकार, समवर्ती DOS 286 को 1986 में औद्योगिक उपयोग के लिए [[FlexOS 286]] बनने के लिए संभावित डेस्कटॉप ऑपरेटिंग सिस्टम से फिर से काम में लिया गया।<ref name="DRI_1986_FlexOS286"/><ref name="CBR_1987_FlexOS-286"/>इसे 1986 में [[IBM]] द्वारा उनके [[4680 OS]] के लिए लाइसेंस भी दिया गया था।<ref name="InfoWorld_1986_Concurrent"/><ref name="DRI_1986_IBM"/>
इस प्रकार समवर्ती डिस्क ऑपरेटिंग सिस्टम 286 को 1986 में औद्योगिक उपयोग के लिए [[FlexOS 286|फ्लेक्सओएस 286]] बनने के लिए संभावित डेस्कटॉप ऑपरेटिंग सिस्टम से फिर से कार्य में लिया गया।<ref name="DRI_1986_FlexOS286"/><ref name="CBR_1987_FlexOS-286"/> इसे 1986 में [[IBM]] द्वारा उनके [[4680 OS|4680 ओएस]] के लिए लाइसेंस भी दिया गया था।<ref name="InfoWorld_1986_Concurrent"/><ref name="DRI_1986_IBM"/>


जब Intel का 80386 अपने वर्चुअल 8086 मोड के साथ उपलब्ध हो गया (अक्टूबर 1985 से नमूने के रूप में और जून 1986 से मात्रा में), डिजिटल रिसर्च ने समवर्ती DOS 386 1.0 (फरवरी) के अनुसार संरक्षित मोड में वर्चुअल DOS मशीनों में वास्तविक मोड DOS प्रोग्राम चलाने के लिए इसका उपयोग करने के लिए स्विच किया। 1987)<ref name="Weiss_1987"/>और FlexOS 386 1.0 (जून 1987)।<ref name="CBR_1987_FlexOS"/>चूंकि, इन बहुउपयोगकर्ता मल्टीटास्किंग की वास्तुकला
जब इंटेल का 80386 अपने वर्चुअल 8086 मोड के साथ उपलब्ध हो गया (अक्टूबर 1985 से नमूने के रूप में और जून 1986 से मात्रा में), डिजिटल रिसर्च ने समवर्ती डिस्क ऑपरेटिंग सिस्टम 386 1.0 (फरवरी) के अनुसार संरक्षित मोड में वर्चुअल डिस्क ऑपरेटिंग सिस्टम मशीनों में वास्तविक मोड डिस्क ऑपरेटिंग सिस्टम प्रोग्राम चलाने के लिए इसका उपयोग करने के लिए 1987 में फ्लेक्सओएस और 386 1.0 (जून 1987) में स्विच किया गया,<ref name="Weiss_1987"/><ref name="CBR_1987_FlexOS"/> चूंकि, इस प्रकार इन बहुउपयोगकर्ता मल्टीटास्किंग की संरचना से संरक्षित मोड ऑपरेटिंग सिस्टम अपने आप में डॉस-आधारित नहीं थे।
संरक्षित मोड ऑपरेटिंग सिस्टम अपने आप में डॉस-आधारित नहीं थे।


समवर्ती DOS 386 को बाद में बहुउपयोगकर्ता DOS (1991 से) और REAL/32 (1995 से) बनने के लिए विकसित किया गया था। [[FlexOS 386]] बाद में 1993 में [[4690 OS]] बन गया।
समवर्ती डिस्क ऑपरेटिंग सिस्टम 386 को बाद में बहुउपयोगकर्ता डिस्क ऑपरेटिंग सिस्टम (1991 से) और REAL/32 (1995 से) बनने के लिए विकसित किया गया था। इस प्रकार  [[FlexOS 386|फ्लेक्सओएस 386]] बाद में 1993 में [[4690 OS|4690 ओएस]] बन गया।


==डॉस-आधारित वीडीएम ==
==डॉस-आधारित वीडीएम ==
इन संरक्षित मोड ऑपरेटिंग सिस्टमों के विपरीत, DOS, डिफ़ॉल्ट रूप से, वास्तविक-मोड ऑपरेटिंग सिस्टम है, केवल स्मृति प्रबंधकों और DOS एक्सटेंडर की ओर से संरक्षित मोड और वर्चुअल 86 मोड पर स्विच करना जिससे कि विस्तारित मेमोरी या मैप तक पहुंच प्रदान की जा सके। पहले मेगाबाइट में मेमोरी, जो सामान्य डॉस प्रोग्रामों के लिए सुलभ है।
इन संरक्षित मोड ऑपरेटिंग सिस्टमों के विपरीत, डिस्क ऑपरेटिंग सिस्टम, डिफ़ॉल्ट रूप से, वास्तविक-मोड ऑपरेटिंग सिस्टम है, केवल स्मृति प्रबंधकों और डिस्क ऑपरेटिंग सिस्टम एक्सटेंडर की ओर से संरक्षित मोड और वर्चुअल 86 मोड पर स्विच करना जिससे कि विस्तारित मेमोरी या मैप तक पहुंच प्रदान की जा सके। इस प्रकार पहले मेगाबाइट में मेमोरी, जो सामान्य डॉस प्रोग्रामों के लिए सुलभ है।


DOS-आधारित VDMs सितंबर 1987 में Microsoft के Windows/386 2.01 के साथ दिखाई दिए।<ref name="Win386_201"/>डॉस-आधारित वर्चुअल डॉस मशीनें विंडोज 3.0, विंडोज 3.1x | 3.1x और वर्कग्रुप्स के लिए विंडोज में भी सम्मलित थीं। वर्कग्रुप्स के लिए विंडोज 3.1x [[386 उन्नत मोड]] के साथ-साथ [[विंडोज 95]], [[विंडोज 98]], [[विंडोज 98 सीई]] और [[विंडोज एमई]] में चल रही थी। . DOS के शीर्ष पर चल रहे इन समाधानों की विशेषता यह है कि वर्चुअल DOS मशीनों के अंदर दिखाया गया मेमोरी लेआउट DOS सिस्टम के आभासी उदाहरण हैं और DOS ड्राइवर कॉन्फ़िगरेशन मल्टीटास्कर लोड होने से पहले चलता है, और वे अनुरोध जिन्हें संरक्षित मोड में नियंत्रित नहीं किया जा सकता है अंतर्निहित डॉस सिस्टम द्वारा निष्पादित किए जाने के लिए सिस्टम डोमेन में पारित किया जाता है।
डिस्क ऑपरेटिंग सिस्टम-आधारित वीडीएम सितंबर 1987 में माइक्रोसाॅफ्ट के विंडोज/386 2.01 के साथ दिखाई दी थी।<ref name="Win386_201"/> डॉस-आधारित वर्चुअल डॉस मशीनें विंडोज 3.0, विंडोज 3.1x या 3.1x और वर्कग्रुप्स के लिए विंडोज में भी सम्मलित थीं। इस प्रकार वर्कग्रुप्स के लिए विंडोज 3.1x [[386 उन्नत मोड]] के साथ-साथ [[विंडोज 95]], [[विंडोज 98]], [[विंडोज 98 सीई]] और [[विंडोज एमई]] में चल रही थी। डिस्क ऑपरेटिंग सिस्टम के शीर्ष पर चल रहे इन समाधानों की विशेषता यह है कि वर्चुअल डिस्क ऑपरेटिंग सिस्टम मशीनों के अंदर दिखाया गया मेमोरी लेआउट डिस्क ऑपरेटिंग सिस्टम सिस्टम के आभासी उदाहरण हैं और डिस्क ऑपरेटिंग सिस्टम ड्राइवर कॉन्फ़िगरेशन मल्टीटास्कर लोड होने से पहले चलता है, और उनके अनुरोध पर संरक्षित मोड में नियंत्रित नहीं किया जाता है, इस प्रकार अंतर्निहित डॉस सिस्टम द्वारा निष्पादित किए जाने के लिए सिस्टम डोमेन में पारित किया जाता है।
    
    
आर्किटेक्चर में विंडोज 3.x 386 एन्हांस्ड मोड के समान, [[नोवेल डॉस 7]] का [[EMM386]] 3.xx,<ref name="Schulman_1994_Undocumented-DOS"/><ref name="Paul_1997_NWDOSTIP"/>काल्डेरा OpenDOS 7.01<ref name="Paul_1997_NWDOSTIP"/><ref name="Caldera_1997_Multi"/>डॉ-डॉस 7.02<ref name="Caldera_1998_USER"/>(और बाद में) <kbd>EMM386 /MULTI</kbd> विकल्प का उपयोग किए जाने पर कई DOS अनुप्रयोगों के प्री-इम्प्टिव मल्टीटास्किंग का समर्थन करने के लिए DOS-आधारित VDM का भी उपयोग करता है।<ref name="Paul_1997_NWDOSTIP"/><ref name="Caldera_1997_Multi"/><ref name="Caldera_1998_USER"/>यह घटक 1991 से डिजिटल रिसर्च/नॉवेल में विकास के अधीन है<ref group="nb" name="NB_Panther"/>कोडनेम व्लादिवर के अनुसार (मूल रूप से अलग डिवाइस ड्राइवर <kbd>KRNL386.SYS</kbd><ref name="Schulman_1994_Undocumented-DOS"/><ref name="Paul_1997_NWDOSTIP"/>EMM386 के मॉड्यूल के अतिरिक्त)। जबकि मुख्य रूप से DR DOS के अगले प्रमुख संस्करण के लिए विकसित किया गया था, जिसे 1994 में Novell DOS 7 के रूप में जारी किया गया था,<ref name="Schulman_1994_Undocumented-DOS"/><ref name="Paul_1997_NWDOSTIP"/>इसका उपयोग 1992/1993 में कभी जारी न होने वाले DR DOS पैंथर और [[स्टार ट्रेक परियोजना]] परियोजना में भी किया गया था।
आर्किटेक्चर में विंडोज 3.x 386 एन्हांस्ड मोड के समान, [[नोवेल डॉस 7]] का [[EMM386|ईएमएम386]] 3.xx,<ref name="Schulman_1994_Undocumented-DOS"/><ref name="Paul_1997_NWDOSTIP"/>काल्डेरा ओपेन डिस्क ऑपरेटिंग सिस्टम 7.01<ref name="Paul_1997_NWDOSTIP"/><ref name="Caldera_1997_Multi"/>डॉ-डॉस 7.02<ref name="Caldera_1998_USER"/>(और बाद में) <kbd>ईएमएम386 /MULTI</kbd> विकल्प का उपयोग किए जाने पर कई डिस्क ऑपरेटिंग सिस्टम अनुप्रयोगों के प्री-इम्प्टिव मल्टीटास्किंग का समर्थन करने के लिए डिस्क ऑपरेटिंग सिस्टम-आधारित वीडीएम का भी उपयोग करता है।<ref name="Paul_1997_NWDOSTIP"/><ref name="Caldera_1997_Multi"/><ref name="Caldera_1998_USER"/> इस प्रकार यह घटक 1991 से डिजिटल रिसर्च/नॉवेल में विकास के अधीन है,<ref group="nb" name="NB_Panther"/> इस प्रकार कोडनेम व्लादिवर के अनुसार (मूल रूप से अलग डिवाइस ड्राइवर <kbd>केआरएनएल 386.SYS</kbd><ref name="Schulman_1994_Undocumented-DOS"/><ref name="Paul_1997_NWDOSTIP"/> ईएमएम386 के मॉड्यूल के अतिरिक्त इसका उपयोग करता था। जबकि मुख्य रूप से डीआर डिस्क ऑपरेटिंग सिस्टम के अगले प्रमुख संस्करण के लिए विकसित किया गया था, जिसे 1994 में नोवेल  डिस्क ऑपरेटिंग सिस्टम 7 के रूप में प्रस्तुत किया गया था,<ref name="Schulman_1994_Undocumented-DOS"/><ref name="Paul_1997_NWDOSTIP"/> इसका उपयोग 1992/1993 में कभी प्रस्तुत न होने वाले डीआर  डिस्क ऑपरेटिंग सिस्टम पैंथर और [[स्टार ट्रेक परियोजना]] परियोजना में भी किया गया था।


==ओएस/2 एमवीडीएम ==
==ओएस/2 एमवीडीएम ==
MVDM (मल्टीपल वर्चुअल DOS मशीन) कहे जाने वाले VDM का उपयोग OS/2 2.0 और बाद में 1992 से किया जाता है।<ref name="Schulman_1994_Undocumented-DOS"/><ref name="Deitel_1992"/>ओएस/2 एमवीडीएम #एनटीवीडीएम से अधिक शक्तिशाली हैं। उदाहरण के लिए, ब्लॉक डिवाइस समर्थित हैं, और विभिन्न DOS संस्करण OS/2 MVDM में बूट किए जा सकते हैं।<ref name="IBM_WorkplaceShell"/>जबकि OS/2 1.x DOS बॉक्स DOS 3.0 पर आधारित था, OS/2 2.x MVDMs DOS 5.0 का अनुकरण करते हैं।<ref name="Schulman_1994_Undocumented-DOS"/>
एमवीडीएम (मल्टीपल वर्चुअल डिस्क ऑपरेटिंग सिस्टम मशीन) कहे जाने वाले वीडीएम का उपयोग ओएस/2 2.0 और बाद में 1992 से किया जाता है।<ref name="Schulman_1994_Undocumented-DOS"/><ref name="Deitel_1992"/> ओएस/2 एमवीडीएम एनटीवीडीएम से अधिक शक्तिशाली हैं। उदाहरण के लिए, ब्लॉक डिवाइस समर्थित हैं, और विभिन्न डिस्क ऑपरेटिंग सिस्टम संस्करण ओएस/2 एमवीडीएम में बूट किए जा सकते हैं।<ref name="IBM_WorkplaceShell"/> जबकि ओएस/2 1.x डिस्क ऑपरेटिंग सिस्टम बॉक्स डिस्क ऑपरेटिंग सिस्टम 3.0 पर आधारित था, इस प्रकार ओएस/2 2.x एमवीडीएम डिस्क ऑपरेटिंग सिस्टम 5.0 का अनुकरण करते हैं।<ref name="Schulman_1994_Undocumented-DOS"/>


Windows 3.1x|Windows 3.1 और बाद में OS/2 में [[Win32s]] अनुप्रयोगों का सहज एकीकरण सतह पर समान दिखने वाली अवधारणा है [[विंडोज 7]] में [[विंडोज वर्चुअल पीसी]] पर आधारित XP मोड के निर्बाध एकीकरण के लिए। अतिथि VDM या NTVDM में पुनर्निर्देशक OS/2 या NT होस्ट के डिस्क पर पहुंच की अनुमति देता है। गेस्ट में एप्लिकेशन अपने होस्ट के साथ संचार के लिए [[नामित पाइप]] का उपयोग कर सकते हैं।<ref name="Microsoft_490895"/>
विंडोज 3.1xयाविंडोज 3.1 और बाद में ओएस/2 में [[Win32s|विन32s]] अनुप्रयोगों का सहज एकीकरण सतह पर समान दिखने वाली अवधारणा है [[विंडोज 7]] में [[विंडोज वर्चुअल पीसी]] पर आधारित XP मोड के निर्बाध एकीकरण के लिए। अतिथि वीडीएम या एनटीवीडीएम में पुनर्निर्देशक ओएस/2 या एनटी होस्ट के डिस्क पर पहुंच की अनुमति देता है। इस प्रकार गेस्ट में एप्लिकेशन अपने होस्ट के साथ संचार के लिए [[नामित पाइप]] का उपयोग कर सकते हैं।<ref name="Microsoft_490895"/>


एक तकनीकी सीमा के कारण, OS/2 के अंतर्गत DOS और 16-बिट Windows एप्लिकेशन 2GB से अधिक हार्ड ड्राइव स्थान देखने में असमर्थ थे,<ref name="Arca_2020_1"/>यह [[ArcaOS]] 5.0.4 में तय किया गया था।<ref name="Arca_2020_2"/>
इस प्रकार तकनीकी सीमा के कारण, ओएस/2 के अंतर्गत डिस्क ऑपरेटिंग सिस्टम और 16-बिट विंडोज एप्लिकेशन 2GB से अधिक हार्ड ड्राइव स्थान देखने में असमर्थ थे,<ref name="Arca_2020_1"/> यह [[ArcaOS|ऐर्काओएस]] 5.0.4 में तय किया गया था।<ref name="Arca_2020_2"/>
==विंडोज एनटीवीडीएम ==
==विंडोज एनटीवीडीएम ==
[[File:Command.com Win10.png|thumb|COMMAND.COM [[Windows 10]] के NTVDM में चल रहा है]]NTVDM, [[Windows NT]] 3.1 की रिलीज़ के साथ 1993 से Windows NT परिवार के सभी [[IA-32]] संस्करणों का सिस्टम घटक था। यह 16-बिट विंडोज़ और 16-बिट/32-बिट डॉस अनुप्रयोगों के निष्पादन की अनुमति देता है। Windows NT 32-बिट उपयोगकर्ता-मोड निष्पादन योग्य जो DOS (या Windows 3.1x|Windows 3.x) पर्यावरण के लिए आधार बनाता है, कहलाता है {{mono|ntvdm.exe}}.<ref name="Schulman_1994_Undocumented-DOS"/>
[[File:Command.com Win10.png|thumb|COMMAND.COM [[Windows 10|विंडोज 10]] के एनटीवीडीएम में चल रहा है]]एनटीवीडीएम, [[Windows NT|विंडोज एनटी]] 3.1 की प्रेषण़ के साथ 1993 से विंडोज एनटी समूह के सभी [[IA-32|आईए-32]] संस्करणों का सिस्टम घटक था। यह 16-बिट विंडोज़ और 16-बिट/32-बिट डॉस अनुप्रयोगों के निष्पादन की अनुमति देता है। इस प्रकार विंडोज एनटी 32-बिट उपयोगकर्ता-मोड निष्पादन योग्य जो डिस्क ऑपरेटिंग सिस्टम (या विंडोज 3.1xयाविंडोज 3.x) पर्यावरण के लिए आधार बनाता है, जो {{mono|ntvdm.exe}} कहलाता है।<ref name="Schulman_1994_Undocumented-DOS"/>


डॉस प्रोग्राम निष्पादित करने के लिए, एनटीवीडीएम लोड करता है {{mono|[[NTIO.SYS]]}} जो बदले में लोड होता है {{mono|[[NTDOS.SYS]]}}, जो संशोधित निष्पादित करता है {{mono|COMMAND.COM}} एनटीवीडीएम को कमांड-लाइन तर्क के रूप में पारित किए गए एप्लिकेशन को चलाने के लिए। 16-बिट रीयल-मोड सिस्टम फ़ाइलें उनके MS-DOS 5.0 समकक्षों के व्युत्पत्तियों को छीन लिया गया है {{mono|[[IO.SYS]]}}, {{mono|[[MSDOS.SYS]]}} और {{mono|[[COMMAND.COM]]}}<ref name="Schulman_1994_Undocumented-DOS"/>[[एफएटी फाइल सिस्टम]] पर सभी हार्ड-वायर्ड धारणाओं के साथ हटा दिया गया और अनुरोधों को संभालने के लिए 32-बिट एनटीवीडीएम में अमान्य ऑपकोड 0xC4 0xC4 से BIOS ऑपरेशन का उपयोग किया गया।<ref name="Schulman_1994_Undocumented-DOS"/>मूल रूप से, NTDOS ने कार्यक्रमों के लिए 30.00 के DOS संस्करण की सूचना दी,<ref name="Schulman_1994_Undocumented-DOS"/>किन्तु इसे जल्द ही 5.00 बजे के संस्करण की रिपोर्ट करने के लिए बदल दिया गया {{code|2=asm|1=INT 21h/AH=30h}} और 5.50 बजे {{code|2=asm|1=INT 21h/AX=3306h}} अधिक कार्यक्रमों को अपरिवर्तित चलाने की अनुमति देने के लिए।<ref name="Schulman_1994_Undocumented-DOS"/>यह विंडोज के नवीनतम रिलीज में भी सही है; MS-DOS संस्करण 6.x और [[Windows 9x]] में प्रस्तुत किए गए कई अतिरिक्त MS-DOS फ़ंक्शंस और कमांड गायब हैं।
डॉस प्रोग्राम निष्पादित करने के लिए, एनटीवीडीएम लोड करता है, इस प्रकार  {{mono|[[NTIO.SYS]]}} जो इसके परिवर्तन के समय लोड होता है, इस प्रकार {{mono|[[NTDOS.SYS]]}}, जो संशोधित निष्पादित करता है, {{mono|COMMAND.COM}} एनटीवीडीएम को कमांड-लाइन तर्क के रूप में पारित किए गए एप्लिकेशन को चलाने के लिए उपयोग में लाया जाता हैं। 16-बिट रीयल-मोड सिस्टम फ़ाइलें उनके MS- डिस्क ऑपरेटिंग सिस्टम 5.0 समकक्षों के व्युत्पत्तियों को छीन लिया गया है, {{mono|[[IO.SYS]]}}, {{mono|[[MSDOS.SYS]]}} और {{mono|[[COMMAND.COM]]}}<ref name="Schulman_1994_Undocumented-DOS"/>[[एफएटी फाइल सिस्टम]] पर सभी हार्ड-वायर्ड धारणाओं के साथ हटा दिया गया और अनुरोधों को संभालने के लिए 32-बिट एनटीवीडीएम में अमान्य ऑपकोड 0xC4 0xC4 से BIOS के ऑपरेशन का उपयोग किया गया था।<ref name="Schulman_1994_Undocumented-DOS"/> इस प्रकार मूल रूप से, एनटी डिस्क ऑपरेटिंग सिस्टम ने कार्यक्रमों के लिए 30.00 के डिस्क ऑपरेटिंग सिस्टम संस्करण की सूचना दी,<ref name="Schulman_1994_Undocumented-DOS"/> किन्तु इसे शीघ्र ही 5.00 बजे के संस्करण की रिपोर्ट करने के लिए बदल दिया गया, {{code|2=asm|1=INT 21h/AH=30h}} और 5.50 बजे {{code|2=asm|1=INT 21h/AX=3306h}} अधिक कार्यक्रमों को अपरिवर्तित चलाने की अनुमति देने के लिए किया जाता हैं।<ref name="Schulman_1994_Undocumented-DOS"/> यह विंडोज के नवीनतम प्रेषण में भी सही है, MS- डिस्क ऑपरेटिंग सिस्टम संस्करण 6.x और [[Windows 9x|विंडोज 9x]] में प्रस्तुत किए गए कई अतिरिक्त MS- डिस्क ऑपरेटिंग सिस्टम फ़ंक्शंस और कमांड विलुप्त हैं।


डिफ़ॉल्ट रूप से 16-बिट विंडोज़ अनुप्रयोग सभी एनटीवीडीएम प्रक्रिया के भीतर अपने स्वयं के धागे में चलते हैं। यद्यपि NTVDM स्वयं 32-बिट प्रक्रिया है और बाकी सिस्टम के संबंध में पूर्व-खाली रूप से मल्टीटास्क्ड है, इसके भीतर 16-बिट एप्लिकेशन एक-दूसरे के संबंध में सहकारी रूप से मल्टीटास्क हैं। जब रन बॉक्स या एप्लिकेशन की शॉर्टकट फ़ाइल में रन इन सेपरेट मेमोरी स्पेस विकल्प को चेक किया जाता है, तो प्रत्येक 16-बिट विंडोज़ एप्लिकेशन को अपनी एनटीवीडीएम प्रक्रिया मिलती है और इसलिए अन्य 16-बिट विंडोज सहित अन्य प्रक्रियाओं के संबंध में पूर्व-खाली रूप से मल्टीटास्क किया जाता है। अनुप्रयोग। NTVDM BIOS कॉल और टेबल के साथ-साथ विंडोज 3.1 कर्नेल और 16-बिट एपीआई स्टब्स का अनुकरण करता है।<ref name="Microsoft_27"/>विंडोज़ अनुवाद परत पर 32-बिट विंडोज़ 16-बिट एपीआई रूटीन को [[थंक]] करता है।
डिफ़ॉल्ट रूप से 16-बिट विंडोज़ अनुप्रयोग सभी एनटीवीडीएम प्रक्रिया के भीतर अपने स्वयं के धागे में चलते हैं। यद्यपि एनटीवीडीएम स्वयं 32-बिट प्रक्रिया है और बाकी सिस्टम के संबंध में पूर्व-खाली रूप से मल्टीटास्क्ड है, इसके भीतर 16-बिट एप्लिकेशन एक-दूसरे के संबंध में सहकारी रूप से मल्टीटास्क हैं। इस प्रकार जब रन बॉक्स या एप्लिकेशन की शॉर्टकट फ़ाइल में रन इन सेपरेट मेमोरी स्पेस विकल्प को चेक किया जाता है, तो प्रत्येक 16-बिट विंडोज़ एप्लिकेशन को अपनी एनटीवीडीएम प्रक्रिया मिलती है और इसलिए अन्य 16-बिट विंडोज सहित अन्य प्रक्रियाओं के संबंध में पूर्व-खाली रूप से मल्टीटास्क किया जाता है। इसके अनुप्रयोग में एनटीवीडीएम BIOS कॉल और टेबल के साथ-साथ विंडोज 3.1 कर्नेल और 16-बिट एपीआई स्टब्स का अनुकरण करता है।<ref name="Microsoft_27"/> इस प्रकार विंडोज़ अनुवाद परत पर 32-बिट विंडोज़ 16-बिट एपीआई रूटीन को [[थंक]] करता है।


32-बिट डॉस एमुलेशन डॉस प्रोटेक्टेड मोड इंटरफेस (डीपीएमआई) और 32-बिट मेमोरी एक्सेस के लिए सम्मलित है। यह परत DOS कार्यों के लिए आवश्यक विस्तारित और विस्तारित मेमोरी कॉल को Windows NT मेमोरी कॉल में परिवर्तित करती है। {{mono|wowexec.exe}} अनुकरण परत है जो 16-बिट विंडोज का अनुकरण करती है। [[विंडोज 2000]] और [[विन्डोज़ एक्सपी]] ने [[ध्वनि फाड़ने वाला]] 2.0 एमुलेशन जोड़ा।<ref name="itPro_2002"/>16-बिट वर्चुअल डिवाइस ड्राइवर और DOS ब्लॉक डिवाइस ड्राइवर (जैसे, RAM डिस्क) समर्थित नहीं हैं। अन्य सबसिस्टम के साथ [[अंतःप्रक्रम संचार]] [[जोडकर परनिगरानी और उद्देश् य]], [[डायनेमिक डेटा एक्सचेंज]] और [[नामित पाइप]] के माध्यम से हो सकता है।
32-बिट डॉस एमुलेशन डॉस प्रोटेक्टेड मोड इंटरफेस (डीपीएमआई) और 32-बिट मेमोरी एक्सेस के लिए सम्मलित है। यह परत डिस्क ऑपरेटिंग सिस्टम कार्यों के लिए आवश्यक विस्तारित और विस्तारित मेमोरी कॉल को विंडोज एनटी मेमोरी कॉल में परिवर्तित करती है। {{mono|wowexec.exe}} अनुकरण ऐसी परत है जो 16-बिट विंडोज का अनुकरण करती है। इस प्रकार  [[विंडोज 2000]] और [[विन्डोज़ एक्सपी]] ने [[ध्वनि फाड़ने वाला]] 2.0 एमुलेशन जोड़ता हैं।<ref name="itPro_2002"/> 16-बिट वर्चुअल डिवाइस ड्राइवर और डिस्क ऑपरेटिंग सिस्टम ब्लॉक डिवाइस ड्राइवर (जैसे, रैम डिस्क) समर्थित नहीं हैं। इस प्रकार अन्य सबसिस्टम के साथ [[अंतःप्रक्रम संचार]] [[जोडकर परनिगरानी और उद्देश् य|जोड़कर जाँच और उद्देश्य]], [[डायनेमिक डेटा एक्सचेंज]] और [[नामित पाइप]] के माध्यम से हो सकता है।


चूंकि आभासी 80[[86]] मोड गैर-x86-आधारित प्रोसेसर (अधिक विशेष रूप से, [[एमआईपीएस आर्किटेक्चर]], [[डीईसी अल्फा]], और [[पावरपीसी]]) पर उपलब्ध नहीं है, एनटीवीडीएम को इसके अतिरिक्त इंसिग्निया के [[सॉफ्टपीसी]] से लाइसेंस प्राप्त कोड का उपयोग करके एनटी के इन संस्करणों में पूर्ण एमुलेटर के रूप में लागू किया गया था।<ref name = "NTVDMX64"/><ref name="Schulman_1994_Undocumented-DOS"/>Windows NT 3.51 तक, केवल 80286 अनुकरण उपलब्ध था। Windows NT 4.0 के साथ, [[Intel 80486]] एमुलेशन जोड़ा गया था।<ref name="Microsoft_2006"/>
चूंकि आभासी 80[[86]] मोड गैर-x86-आधारित प्रोसेसर (अधिक विशेष रूप से, [[एमआईपीएस आर्किटेक्चर]], [[डीईसी अल्फा]], और [[पावरपीसी]]) पर उपलब्ध नहीं है, एनटीवीडीएम को इसके अतिरिक्त इंसिग्निया के [[सॉफ्टपीसी]] से लाइसेंस प्राप्त कोड का उपयोग करके एनटी के इन संस्करणों में पूर्ण एमुलेटर के रूप में लागू किया गया था।<ref name = "NTVDMX64"/><ref name="Schulman_1994_Undocumented-DOS"/>विंडोज एनटी 3.51 तक, केवल 80286 अनुकरण उपलब्ध था। विंडोज एनटी 4.0 के साथ, [[Intel 80486|इंटेल 80486]] एमुलेशन जोड़ा गया था।<ref name="Microsoft_2006"/>


Windows 11 या ARM32 आधारित संस्करणों जैसे [[Windows RT]] या Windows 10 IoT Core से पहले Windows के 64-बिट संस्करणों के साथ NTVDM सम्मलित नहीं है। विंडोज 10 इस घटक को सम्मलित करने के लिए विंडोज का अंतिम संस्करण है।
इस प्रकार विंडोज 11 या ARM32 आधारित संस्करणों जैसे [[Windows RT|विंडोज RT]] या विंडोज 10 Iओटी Core से पहले विंडोज के 64-बिट संस्करणों के साथ एनटीवीडीएम सम्मलित नहीं है। विंडोज 10 इस घटक को सम्मलित करने के लिए विंडोज का अंतिम संस्करण है।


इस घटक को बंद कर दिया गया है, क्योंकि [[विंडोज़ 11]] ने [[32-बिट कंप्यूटिंग]] | 32-बिट प्रोसेसर के लिए समर्थन छोड़ दिया है।
इस घटक को बंद कर दिया गया है, क्योंकि [[विंडोज़ 11]] ने [[32-बिट कंप्यूटिंग]] या 32-बिट प्रोसेसर के लिए समर्थन छोड़ दिया है।


=== आदेश ===
=== आदेश ===
[[कमांड (कंप्यूटिंग)]] की निम्न सूची Windows XP MS-DOS सबसिस्टम का हिस्सा है।<ref name="Microsoft_490895"/>
[[कमांड (कंप्यूटिंग)]] की निम्न सूची विंडोज XP MS- डिस्क ऑपरेटिंग सिस्टम सबसिस्टम का भाग है।<ref name="Microsoft_490895"/>


{{div col|colwidth=9em}}
{{div col|colwidth=9em}}
Line 68: Line 65:
{{div col end}}
{{div col end}}
=== सुरक्षा समस्या ===
=== सुरक्षा समस्या ===
जनवरी 2010 में, [[Google]] सुरक्षा शोधकर्ता [[तवीस ओरमंडी]] ने Windows NT के VDM कार्यान्वयन में गंभीर सुरक्षा दोष का खुलासा किया, जिसने विशेषाधिकार प्राप्त उपयोगकर्ताओं को अपने विशेषाधिकारों को [[सुपर उपयोगकर्ता]] स्तर तक बढ़ाने की अनुमति दी, जिसे 1993 से Windows NT कर्नेल के सभी x86 संस्करणों की सुरक्षा के लिए लागू माना जाता है। Windows NT, 2000, XP, Server 2003, Vista, Server 2008 और Windows 7 के सभी 32-बिट संस्करण सम्मलित हैं।<ref name="Microsoft_MS10-015"/>ओरमंडी ने भेद्यता के लिए एक्सप्लॉइट (कंप्यूटर सुरक्षा) | प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉयट प्रकाशित किया।<ref name="Ormandy_2010"/>Microsoft द्वारा सुरक्षा पैच जारी करने से पहले, इस समस्या का समाधान 16-बिट एप्लिकेशन समर्थन को बंद करना था, जो पुराने प्रोग्रामों (जिन्हें DOS और Windows 3.1 के लिए लिखा गया था) को चलने से रोकता था। NTVDM सबसिस्टम सम्मलित नहीं होने के कारण Windows के 64-बिट संस्करण प्रभावित नहीं होते हैं।<ref name="inquirer"/><ref name="technet"/>एक बार Microsoft सुरक्षा पैच प्रभावित ऑपरेटिंग सिस्टम पर लागू हो जाने के बाद VDM को सुरक्षित रूप से पुन: सक्षम किया जा सकता है।<ref group="nb" name="VDMReg"/>
जनवरी 2010 में, [[Google|गूगल]] सुरक्षा शोधकर्ता [[तवीस ओरमंडी]] ने विंडोज एनटी के वीडीएम कार्यान्वयन में गंभीर सुरक्षा दोष को संदर्भित किया गया, जिसने विशेषाधिकार प्राप्त उपयोगकर्ताओं को अपने विशेषाधिकारों को [[सुपर उपयोगकर्ता]] स्तर तक बढ़ाने की अनुमति दी, जिसे 1993 से विंडोज एनटी कर्नेल के सभी x86 संस्करणों की सुरक्षा के लिए लागू माना जाता है। विंडोज एनटी, 2000, XP, सर्वर 2003, विस्ता, सर्वर 2008 और विंडोज 7 के सभी 32-बिट संस्करण सम्मलित हैं।<ref name="Microsoft_MS10-015"/> ओरमंडी ने भेद्यता के लिए एक्सप्लॉइट (कंप्यूटर सुरक्षा) या प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉयट प्रकाशित किया गया।<ref name="Ormandy_2010"/> माइक्रोसाॅफ्ट द्वारा सुरक्षा पैच प्रस्तुत करने से पहले, इस समस्या का समाधान 16-बिट एप्लिकेशन समर्थन को बंद करना था, जो पुराने प्रोग्रामों (जिन्हें डिस्क ऑपरेटिंग सिस्टम और विंडोज 3.1 के लिए लिखा गया था) को चलने से रोकता था। एनटीवीडीएम सबसिस्टम सम्मलित नहीं होने के कारण विंडोज के 64-बिट संस्करण प्रभावित नहीं होते हैं।<ref name="inquirer"/><ref name="technet"/> इस प्रकार माइक्रोसाॅफ्ट सुरक्षा पैच प्रभावित ऑपरेटिंग सिस्टम पर लागू हो जाने के बाद वीडीएम को सुरक्षित रूप से पुन: सक्षम किया जा सकता है।<ref group="nb" name="VDMReg"/>
=== सीमाएं ===
=== सीमाएं ===
GDI ऑब्जेक्ट के लिए बढ़ी हुई प्रति-सत्र सीमा के कारण Windows XP 16-बिट सबसिस्टम (किन्तु Windows NT के पुराने संस्करणों में नहीं) में सीमा सम्मलित है, जिसके कारण GDI हैंडल को दो बिट्स से दाईं ओर स्थानांतरित कर दिया जाता है, जब उन्हें परिवर्तित किया जाता है 32 से 16 बिट्स।<ref name="XPVDM bug"/>परिणामस्वरूप, वास्तविक हैंडल 14 बिट्स से बड़ा नहीं हो सकता है और इसके परिणामस्वरूप 16-बिट एप्लिकेशन जो कि GDI सिस्टम क्रैश द्वारा 16384 से बड़े हैंडल को परोसा जाता है और त्रुटि संदेश के साथ समाप्त होता है।<ref name="XPVDM bug"/>
जीडीआई (GDI) ऑब्जेक्ट के लिए बढ़ी हुई प्रति-सत्र सीमा के कारण विंडोज XP 16-बिट सबसिस्टम (किन्तु विंडोज एनटी के पुराने संस्करणों में नहीं) में सीमा सम्मलित है, जिसके कारण जीडीआई हैंडल को दो बिट्स से दाईं ओर स्थानांतरित कर दिया जाता है, जब उन्हें 32 से 16 बिट्स में परिवर्तित किया जाता है।<ref name="XPVDM bug"/> परिणामस्वरूप, वास्तविक हैंडल 14 बिट्स से बड़ा नहीं हो सकता है और इसके परिणामस्वरूप 16-बिट एप्लिकेशन जो कि जीडीआई सिस्टम क्रैश द्वारा 16384 से बड़े हैंडल को प्रस्तुत किया जाता है और इस प्रकार त्रुटि संदेश के साथ समाप्त होता है।<ref name="XPVDM bug"/>


सामान्यतः, VDM और इसी तरह की तकनीकें आज के कंप्यूटरों पर अधिकांश पुराने DOS गेम को संतोषजनक ढंग से नहीं चलाती हैं। अनुकरण केवल सबसे बुनियादी बाह्य उपकरणों के लिए प्रदान किया जाता है, जिसे प्रायः अपूर्ण रूप से लागू किया जाता है{{Citation needed |date=April 2010}}. उदाहरण के लिए, एनटीवीडीएम में ध्वनि अनुकरण बहुत सीमित है। विंडोज के एनटी-पारिवारिक संस्करण केवल वास्तविक स्क्रीन को प्रति सेकंड कुछ बार अपडेट करते हैं जब डॉस प्रोग्राम इसे लिखता है, और वे उच्च रिज़ॉल्यूशन ग्राफिक्स मोड का अनुकरण नहीं करते हैं। क्योंकि सॉफ्टवेयर ज्यादातर होस्ट सीपीयू की गति से नेटिव चलता है, सभी टाइमिंग लूप समय से पहले समाप्त हो जाएंगे। यह या तो गेम को बहुत तेजी से चलाता है या सॉफ़्टवेयर को अनुकरणीय हार्डवेयर बाह्य उपकरणों पर ध्यान नहीं देता है, क्योंकि यह उत्तर के लिए पर्याप्त समय तक प्रतीक्षा नहीं करता है।
सामान्यतः, वीडीएम और इसी तरह की तकनीक आज के कंप्यूटरों पर अधिकांश पुराने डिस्क ऑपरेटिंग सिस्टम गेम को संतोषजनक ढंग से नहीं चलाती हैं। इस प्रकार अनुकरण केवल सबसे मौलिक बाह्य उपकरणों के लिए प्रदान किया जाता है, जिसे प्रायः अपूर्ण रूप से लागू किया जाता है।{{Citation needed |date=April 2010}} उदाहरण के लिए, एनटीवीडीएम में ध्वनि अनुकरण बहुत सीमित है। इस प्रकार विंडोज के एनटी-पारिवारिक संस्करण केवल वास्तविक स्क्रीन को प्रति सेकंड कुछ बार अपडेट करते हैं, जब डॉस प्रोग्राम इसे लिखता है और वे उच्च रिज़ॉल्यूशन ग्राफिक्स मोड का अनुकरण नहीं करते हैं। क्योंकि सॉफ्टवेयर ज्यादातर होस्ट सीपीयू की गति से नेटिव चलता है, सभी टाइमिंग लूप समय से पहले समाप्त हो जाएंगे। यह या तो गेम को बहुत तेजी से चलाता है या सॉफ़्टवेयर को अनुकरणीय हार्डवेयर बाह्य उपकरणों पर ध्यान नहीं देता है, क्योंकि यह उत्तर के लिए पर्याप्त समय तक प्रतीक्षा नहीं करता है।


==== x64 और AArch64 ==== में अनुपस्थिति
== x64 और आर्क (AArch) 64 में अनुपस्थिति ==
एक [[x86-64]] CPU में, वर्चुअल 8086 मोड केवल इसके लीगेसी मोड (16- और 32-बिट ऑपरेटिंग सिस्टम चलाने के लिए) में उप-मोड के रूप में उपलब्ध है, मूल 64-बिट लंबे मोड में नहीं।<ref name="Intel_2013_Arch-Ref"/>Windows के x86-64 संस्करणों पर NTVDM समर्थित नहीं है,<ref name="Klein_2008"/>डॉस कार्यक्रमों सहित,<ref name="Microsoft_2007_Limitations"/>क्योंकि NTVDM एड्रेसिंग के लिए आवश्यक 16-बिट सेगमेंट को सक्षम करने के लिए स्थानीय डिस्क्रिप्टर तालिका के अतिरिक्त VM86 CPU मोड का उपयोग करता है।<ref name="modify_ldt"/>NTVDM [[AArch64]] पर भी उपलब्ध नहीं है, क्योंकि Microsoft ने इस असंगत निर्देश सेट के लिए पूर्ण इम्यूलेटर जारी नहीं किया था, जैसा कि पिछले असंगत आर्किटेक्चर पर किया था।
एक [[x86-64]] सीपीयू में, वर्चुअल 8086 मोड केवल इसके लीगेसी मोड (16- और 32-बिट ऑपरेटिंग सिस्टम चलाने के लिए) में उप-मोड के रूप में उपलब्ध है, मूल 64-बिट लंबे मोड में नहीं हैं।<ref name="Intel_2013_Arch-Ref" /> इस प्रकार विंडोज के x86-64 संस्करणों पर एनटीवीडीएम डॉस कार्यक्रमों सहित समर्थित नहीं है,<ref name="Klein_2008" /> <ref name="Microsoft_2007_Limitations" /> क्योंकि एनटीवीडीएम एड्रेसिंग के लिए आवश्यक 16-बिट सेगमेंट को सक्षम करने के लिए स्थानीय डिस्क्रिप्टर तालिका के अतिरिक्त VM86 सीपीयू मोड का उपयोग करता है।<ref name="modify_ldt" /> एनटीवीडीएम [[AArch64|आर्क64]] पर भी उपलब्ध नहीं है, क्योंकि माइक्रोसाॅफ्ट ने इस असंगत निर्देश सेट के लिए पूर्ण इम्यूलेटर प्रस्तुत नहीं किया था, जैसा कि पिछले असंगत आर्किटेक्चर पर किया था।


जबकि एनटीवीडीएम विंडोज के x86-64 संस्करणों पर समर्थित नहीं है, फिर भी उन्हें [[वर्चुअलाइजेशन]] सॉफ्टवेयर का उपयोग करके चलाया जा सकता है, जैसे कि विंडोज 7 या [[VMware कार्य केंद्र]] के गैर-होम संस्करणों में [[विंडोज एक्सपी मोड]]अन्य विधियों में NTVDMx64 का उपयोग करना सम्मलित है, गैर-x86 प्लेटफॉर्म के लिए Windows NT 4.0 से NTVDM के लीक हुए नकली कार्यान्वयन का अनौपचारिक पोर्ट,<ref name="NTVDMX64"/>या OTVDM (WineVDM), [[MAME]] के ​​i386 इम्यूलेशन पर आधारित 16-बिट विंडोज दुभाषिया और लोकप्रिय विंडोज कम्पैटिबिलिटी लेयर, [[शराब (सॉफ्टवेयर)]] का 16-बिट भाग।<ref name="Otvdm"/>
जबकि एनटीवीडीएम विंडोज के x86-64 संस्करणों पर समर्थित नहीं है, फिर भी उन्हें [[वर्चुअलाइजेशन]] सॉफ्टवेयर का उपयोग करके चलाया जा सकता है, जैसे कि विंडोज 7 या [[VMware कार्य केंद्र|वीएम वेयर कार्य केंद्र]] के गैर-होम संस्करणों में [[विंडोज एक्सपी मोड]] इत्यादि का उपयोग किया जाता था। इस प्रकार अन्य विधियों में एनटीवीडीएमx64 का उपयोग करना सम्मलित है, गैर-x86 प्लेटफॉर्म के लिए विंडोज एनटी 4.0 से एनटीवीडीएम के लीक हुए नकली कार्यान्वयन का अनौपचारिक पोर्ट,<ref name="NTVDMX64" />या ओटीवीडीएम (विनeवीडीएम), [[MAME|एमएएमई]] के ​​i386 इम्यूलेशन पर आधारित 16-बिट विंडोज दुभाषिया और लोकप्रिय विंडोज कम्पैटिबिलिटी लेयर, [[शराब (सॉफ्टवेयर)|एक्कोहल (सॉफ्टवेयर)]] का 16-बिट भाग हैं।<ref name="Otvdm" />
== यह भी देखें ==
== यह भी देखें ==
* [[प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना]]
* [[प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना]]
* [[DESQview 386]] (1988 से)
* [[DESQview 386|डेक्क व्यू 386]] (1988 से)
* शराब (सॉफ्टवेयर)
* एक्कोहल (सॉफ्टवेयर)
* [[से DOSBox]]
* [[से DOSBox|से  डिस्क ऑपरेटिंग सिस्टमBox]]
* [[आपूर्ति किया जाना]]
* [[आपूर्ति किया जाना]]
* [[विलय (सॉफ्टवेयर)]]
* [[विलय (सॉफ्टवेयर)]]
Line 141: Line 138:


==बाहरी संबंध==
==बाहरी संबंध==
* [http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/prork/pric_run_tzvh.mspx?mfr=true Virtual DOS Machine Structure]
* [http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/prork/pric_run_tzvh.mspx?mfr=true Virtual डिस्क ऑपरेटिंग सिस्टम Machine Structure]
* [http://support.microsoft.com/kb/314106 Troubleshooting MS-DOS-based programs in Windows XP]
* [http://support.microsoft.com/kb/314106 Troubleshoओटीing MS- डिस्क ऑपरेटिंग सिस्टम-based progरैमs in विंडोज XP]
* [http://www.markwilson.co.uk/blog/2005/01/troubleshooting-ms-dos-application.htm Troubleshooting an MS-DOS application which hangs the NTVDM subsystem in Windows XP and Windows Server 2003]
* [http://www.markwilson.co.uk/blog/2005/01/troubleshooting-ms-dos-application.htm Troubleshoओटीing an MS- डिस्क ऑपरेटिंग सिस्टम application which hangs the एनटीवीडीएम subsystem in विंडोज XP and विंडोज सर्वर 2003]
* [http://www.adontec.com/commex_e.htm Troubleshooting MS-DOS-based serial communication programs in Windows 2000 and later]
* [http://www.adontec.com/commex_e.htm Troubleshoओटीing MS- डिस्क ऑपरेटिंग सिस्टम-based serआईएl communication progरैमs in विंडोज 2000 and later]
* [http://takeda-toshiya.my.coocan.jp MS-DOS Player for Win32-x64, a Microsoft MS-DOS Emulator], runs many command line DOS programs like compilers or other tools, also packaged into one stand-alone executable file.
* [http://takeda-toshiya.my.coocan.jp MS- डिस्क ऑपरेटिंग सिस्टम Player for विन32-x64, a माइक्रोसाॅफ्ट MS- डिस्क ऑपरेटिंग सिस्टम Emulator], runs many command line डिस्क ऑपरेटिंग सिस्टम progरैमs like compilers or ओटीher tools, also packaged iएनटीo one stand-alone executable file.
* [http://www.vdos.info/ vDOS], a DOS emulator designed for the running the more "serious" DOS apps (not games) on 64-bit NT systems (effectively a replacement for NTVDM on modern systems).
* [http://www.vdos.info/ v डिस्क ऑपरेटिंग सिस्टम], a डिस्क ऑपरेटिंग सिस्टम emulator designed for the running the more "serious" डिस्क ऑपरेटिंग सिस्टम apps (nओटी games) on 64-बीआईt एनटी systems (effectively a replacemeएनटी for एनटीवीडीएम on modern systems).
 
{{Windows Components}}
[[Category: वर्चुअलाइजेशन]] [[Category: डॉस तकनीक]] [[Category: विंडोज प्रशासन]] [[Category: दो एमुलेटर]] [[Category: विंडोज घटकों को बंद कर दिया]]
 
 


[[Category: Machine Translated Page]]
[[Category:All articles with unsourced statements]]
[[Category:Articles with invalid date parameter in template]]
[[Category:Articles with unsourced statements from April 2010]]
[[Category:CS1 Deutsch-language sources (de)]]
[[Category:CS1 maint]]
[[Category:Collapse templates]]
[[Category:Created On 17/02/2023]]
[[Category:Created On 17/02/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Multi-column templates]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages using div col with small parameter]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Templates using under-protected Lua modules]]
[[Category:Wikipedia fully protected templates|Div col]]

Latest revision as of 16:43, 24 February 2023

वर्चुअल डॉस मशीन (वीडीएम) ऐसी तकनीक को संदर्भित करती है जो 16-बिट/32-बिट डॉस और विंडोज 3.1xया16-बिट विंडोज प्रोग्राम को चलाने की अनुमति देती है, इस प्रकार यह पहले से ही अन्य ऑपरेटिंग सिस्टम के रन होने पर और हार्डवेयर को नियंत्रित करने पर भी कार्य करती हैं।

अवलोकन

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

इस प्रकार वीडीएम (VDM) सामान्यतः 16-बिट या 16- और 32-बिट संरक्षित मोड सॉफ़्टवेयर (दोनों के विस्तार) को चलाने के लिए समर्थन को लागू करते हैं, जिसे डिस्क ऑपरेटिंग सिस्टम संरक्षित मोड इंटरफ़ेस (DPMI) के अनुरूप होना होता है।[1]

जब वीडीएम के अंदर चलने वाले डिस्क ऑपरेटिंग सिस्टम प्रोग्राम को पेरिफेरल एक्सेस करने की आवश्यकता होती है, तो इस प्रकार माइक्रोसाॅफ्ट विंडोज या तो इसे सीधे अनुमति देगा, या डिस्क ऑपरेटिंग सिस्टम प्रोग्राम को डिवाइस ड्राइवर वर्चुअल डिवाइस ड्राइवर (VDD) के साथ प्रस्तुत करेगा, जो ऑपरेटिंग सिस्टम फ़ंक्शंस का उपयोग करके हार्डवेयर का अनुकरण करता है। इस प्रकार वीडीएम में इंटेल 8259A बाधा डालने वाले कंट्रोलर, इंटेल 8254 टाइमर चिप्स, 8237 डीएमए कंट्रोलर, आदि के लिए व्यवस्थित रूप से अनुकरण करता हैं।[1]

समवर्ती डॉस 8086 एमुलेशन मोड

जनवरी 1985 में डिजिटल अनुसंधान ने इंटेल के साथ मिलकर समवर्ती डिस्क ऑपरेटिंग सिस्टम 286 1.0 का पूर्वावलोकन करता हैं,[2] 80286 के संरक्षित मोड में वास्तविक मोड डॉस प्रोग्राम चलाने में सक्षम समवर्ती डॉस का संस्करण भी सहायक होता हैं।[2] इस प्रकार B-1 स्टेपिंग प्रोसेसर चिप्स पर तैयार की गई विधि का उपयोग किया जाता था। चूंकि, मई 1985 में C-1 और इसके पश्चात प्रोसेसर स्टेपिंग पर कार्य करना बंद कर देता हैं, इससे कुछ समय पहले डिजिटल रिसर्च उत्पाद को प्रस्तुत करने वाला था। चूंकि ई-1 स्टेपिंग के साथ इंटेल ने अगस्त 1985 में विवादों को संबोधित करना प्रारंभ कर दिया, जिससे कि डिजिटल रिसर्च के 8086 इम्यूलेशन मोड ने फिर से गैर-दस्तावेजी 286 लोडल प्रोसेसर निर्देश का उपयोग करके कार्य करता हैं,[3][4] व्यावहारिक रुप से इसके होने की सीमा बहुत धीमी थी। इस प्रकार E-2 स्टेपिंग के लिए माइक्रोकोड परिवर्तन ने फिर से गति में सुधार किया गया था।[5][6] इस प्रकार इस प्रारंभिक कार्यान्वयन को वास्तविक वर्चुअल डॉस मशीनों के पूर्ववर्ती के रूप में देखा जा सकता है।

इस प्रकार समवर्ती डिस्क ऑपरेटिंग सिस्टम 286 को 1986 में औद्योगिक उपयोग के लिए फ्लेक्सओएस 286 बनने के लिए संभावित डेस्कटॉप ऑपरेटिंग सिस्टम से फिर से कार्य में लिया गया।[7][8] इसे 1986 में IBM द्वारा उनके 4680 ओएस के लिए लाइसेंस भी दिया गया था।[9][10]

जब इंटेल का 80386 अपने वर्चुअल 8086 मोड के साथ उपलब्ध हो गया (अक्टूबर 1985 से नमूने के रूप में और जून 1986 से मात्रा में), डिजिटल रिसर्च ने समवर्ती डिस्क ऑपरेटिंग सिस्टम 386 1.0 (फरवरी) के अनुसार संरक्षित मोड में वर्चुअल डिस्क ऑपरेटिंग सिस्टम मशीनों में वास्तविक मोड डिस्क ऑपरेटिंग सिस्टम प्रोग्राम चलाने के लिए इसका उपयोग करने के लिए 1987 में फ्लेक्सओएस और 386 1.0 (जून 1987) में स्विच किया गया,[11][12] चूंकि, इस प्रकार इन बहुउपयोगकर्ता मल्टीटास्किंग की संरचना से संरक्षित मोड ऑपरेटिंग सिस्टम अपने आप में डॉस-आधारित नहीं थे।

समवर्ती डिस्क ऑपरेटिंग सिस्टम 386 को बाद में बहुउपयोगकर्ता डिस्क ऑपरेटिंग सिस्टम (1991 से) और REAL/32 (1995 से) बनने के लिए विकसित किया गया था। इस प्रकार फ्लेक्सओएस 386 बाद में 1993 में 4690 ओएस बन गया।

डॉस-आधारित वीडीएम

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

डिस्क ऑपरेटिंग सिस्टम-आधारित वीडीएम सितंबर 1987 में माइक्रोसाॅफ्ट के विंडोज/386 2.01 के साथ दिखाई दी थी।[13] डॉस-आधारित वर्चुअल डॉस मशीनें विंडोज 3.0, विंडोज 3.1x या 3.1x और वर्कग्रुप्स के लिए विंडोज में भी सम्मलित थीं। इस प्रकार वर्कग्रुप्स के लिए विंडोज 3.1x 386 उन्नत मोड के साथ-साथ विंडोज 95, विंडोज 98, विंडोज 98 सीई और विंडोज एमई में चल रही थी। डिस्क ऑपरेटिंग सिस्टम के शीर्ष पर चल रहे इन समाधानों की विशेषता यह है कि वर्चुअल डिस्क ऑपरेटिंग सिस्टम मशीनों के अंदर दिखाया गया मेमोरी लेआउट डिस्क ऑपरेटिंग सिस्टम सिस्टम के आभासी उदाहरण हैं और डिस्क ऑपरेटिंग सिस्टम ड्राइवर कॉन्फ़िगरेशन मल्टीटास्कर लोड होने से पहले चलता है, और उनके अनुरोध पर संरक्षित मोड में नियंत्रित नहीं किया जाता है, इस प्रकार अंतर्निहित डॉस सिस्टम द्वारा निष्पादित किए जाने के लिए सिस्टम डोमेन में पारित किया जाता है।

आर्किटेक्चर में विंडोज 3.x 386 एन्हांस्ड मोड के समान, नोवेल डॉस 7 का ईएमएम386 3.xx,[1][14]काल्डेरा ओपेन डिस्क ऑपरेटिंग सिस्टम 7.01[14][15]डॉ-डॉस 7.02[16](और बाद में) ईएमएम386 /MULTI विकल्प का उपयोग किए जाने पर कई डिस्क ऑपरेटिंग सिस्टम अनुप्रयोगों के प्री-इम्प्टिव मल्टीटास्किंग का समर्थन करने के लिए डिस्क ऑपरेटिंग सिस्टम-आधारित वीडीएम का भी उपयोग करता है।[14][15][16] इस प्रकार यह घटक 1991 से डिजिटल रिसर्च/नॉवेल में विकास के अधीन है,[nb 1] इस प्रकार कोडनेम व्लादिवर के अनुसार (मूल रूप से अलग डिवाइस ड्राइवर केआरएनएल 386.SYS[1][14] ईएमएम386 के मॉड्यूल के अतिरिक्त इसका उपयोग करता था। जबकि मुख्य रूप से डीआर डिस्क ऑपरेटिंग सिस्टम के अगले प्रमुख संस्करण के लिए विकसित किया गया था, जिसे 1994 में नोवेल डिस्क ऑपरेटिंग सिस्टम 7 के रूप में प्रस्तुत किया गया था,[1][14] इसका उपयोग 1992/1993 में कभी प्रस्तुत न होने वाले डीआर डिस्क ऑपरेटिंग सिस्टम पैंथर और स्टार ट्रेक परियोजना परियोजना में भी किया गया था।

ओएस/2 एमवीडीएम

एमवीडीएम (मल्टीपल वर्चुअल डिस्क ऑपरेटिंग सिस्टम मशीन) कहे जाने वाले वीडीएम का उपयोग ओएस/2 2.0 और बाद में 1992 से किया जाता है।[1][4] ओएस/2 एमवीडीएम एनटीवीडीएम से अधिक शक्तिशाली हैं। उदाहरण के लिए, ब्लॉक डिवाइस समर्थित हैं, और विभिन्न डिस्क ऑपरेटिंग सिस्टम संस्करण ओएस/2 एमवीडीएम में बूट किए जा सकते हैं।[17] जबकि ओएस/2 1.x डिस्क ऑपरेटिंग सिस्टम बॉक्स डिस्क ऑपरेटिंग सिस्टम 3.0 पर आधारित था, इस प्रकार ओएस/2 2.x एमवीडीएम डिस्क ऑपरेटिंग सिस्टम 5.0 का अनुकरण करते हैं।[1]

विंडोज 3.1xयाविंडोज 3.1 और बाद में ओएस/2 में विन32s अनुप्रयोगों का सहज एकीकरण सतह पर समान दिखने वाली अवधारणा है विंडोज 7 में विंडोज वर्चुअल पीसी पर आधारित XP मोड के निर्बाध एकीकरण के लिए। अतिथि वीडीएम या एनटीवीडीएम में पुनर्निर्देशक ओएस/2 या एनटी होस्ट के डिस्क पर पहुंच की अनुमति देता है। इस प्रकार गेस्ट में एप्लिकेशन अपने होस्ट के साथ संचार के लिए नामित पाइप का उपयोग कर सकते हैं।[18]

इस प्रकार तकनीकी सीमा के कारण, ओएस/2 के अंतर्गत डिस्क ऑपरेटिंग सिस्टम और 16-बिट विंडोज एप्लिकेशन 2GB से अधिक हार्ड ड्राइव स्थान देखने में असमर्थ थे,[19] यह ऐर्काओएस 5.0.4 में तय किया गया था।[20]

विंडोज एनटीवीडीएम

COMMAND.COM विंडोज 10 के एनटीवीडीएम में चल रहा है

एनटीवीडीएम, विंडोज एनटी 3.1 की प्रेषण़ के साथ 1993 से विंडोज एनटी समूह के सभी आईए-32 संस्करणों का सिस्टम घटक था। यह 16-बिट विंडोज़ और 16-बिट/32-बिट डॉस अनुप्रयोगों के निष्पादन की अनुमति देता है। इस प्रकार विंडोज एनटी 32-बिट उपयोगकर्ता-मोड निष्पादन योग्य जो डिस्क ऑपरेटिंग सिस्टम (या विंडोज 3.1xयाविंडोज 3.x) पर्यावरण के लिए आधार बनाता है, जो ntvdm.exe कहलाता है।[1]

डॉस प्रोग्राम निष्पादित करने के लिए, एनटीवीडीएम लोड करता है, इस प्रकार NTIO.SYS जो इसके परिवर्तन के समय लोड होता है, इस प्रकार NTDOS.SYS, जो संशोधित निष्पादित करता है, COMMAND.COM एनटीवीडीएम को कमांड-लाइन तर्क के रूप में पारित किए गए एप्लिकेशन को चलाने के लिए उपयोग में लाया जाता हैं। 16-बिट रीयल-मोड सिस्टम फ़ाइलें उनके MS- डिस्क ऑपरेटिंग सिस्टम 5.0 समकक्षों के व्युत्पत्तियों को छीन लिया गया है, IO.SYS, MSDOS.SYS और COMMAND.COM[1]एफएटी फाइल सिस्टम पर सभी हार्ड-वायर्ड धारणाओं के साथ हटा दिया गया और अनुरोधों को संभालने के लिए 32-बिट एनटीवीडीएम में अमान्य ऑपकोड 0xC4 0xC4 से BIOS के ऑपरेशन का उपयोग किया गया था।[1] इस प्रकार मूल रूप से, एनटी डिस्क ऑपरेटिंग सिस्टम ने कार्यक्रमों के लिए 30.00 के डिस्क ऑपरेटिंग सिस्टम संस्करण की सूचना दी,[1] किन्तु इसे शीघ्र ही 5.00 बजे के संस्करण की रिपोर्ट करने के लिए बदल दिया गया, INT 21h/AH=30h और 5.50 बजे INT 21h/AX=3306h अधिक कार्यक्रमों को अपरिवर्तित चलाने की अनुमति देने के लिए किया जाता हैं।[1] यह विंडोज के नवीनतम प्रेषण में भी सही है, MS- डिस्क ऑपरेटिंग सिस्टम संस्करण 6.x और विंडोज 9x में प्रस्तुत किए गए कई अतिरिक्त MS- डिस्क ऑपरेटिंग सिस्टम फ़ंक्शंस और कमांड विलुप्त हैं।

डिफ़ॉल्ट रूप से 16-बिट विंडोज़ अनुप्रयोग सभी एनटीवीडीएम प्रक्रिया के भीतर अपने स्वयं के धागे में चलते हैं। यद्यपि एनटीवीडीएम स्वयं 32-बिट प्रक्रिया है और बाकी सिस्टम के संबंध में पूर्व-खाली रूप से मल्टीटास्क्ड है, इसके भीतर 16-बिट एप्लिकेशन एक-दूसरे के संबंध में सहकारी रूप से मल्टीटास्क हैं। इस प्रकार जब रन बॉक्स या एप्लिकेशन की शॉर्टकट फ़ाइल में रन इन सेपरेट मेमोरी स्पेस विकल्प को चेक किया जाता है, तो प्रत्येक 16-बिट विंडोज़ एप्लिकेशन को अपनी एनटीवीडीएम प्रक्रिया मिलती है और इसलिए अन्य 16-बिट विंडोज सहित अन्य प्रक्रियाओं के संबंध में पूर्व-खाली रूप से मल्टीटास्क किया जाता है। इसके अनुप्रयोग में एनटीवीडीएम BIOS कॉल और टेबल के साथ-साथ विंडोज 3.1 कर्नेल और 16-बिट एपीआई स्टब्स का अनुकरण करता है।[21] इस प्रकार विंडोज़ अनुवाद परत पर 32-बिट विंडोज़ 16-बिट एपीआई रूटीन को थंक करता है।

32-बिट डॉस एमुलेशन डॉस प्रोटेक्टेड मोड इंटरफेस (डीपीएमआई) और 32-बिट मेमोरी एक्सेस के लिए सम्मलित है। यह परत डिस्क ऑपरेटिंग सिस्टम कार्यों के लिए आवश्यक विस्तारित और विस्तारित मेमोरी कॉल को विंडोज एनटी मेमोरी कॉल में परिवर्तित करती है। wowexec.exe अनुकरण ऐसी परत है जो 16-बिट विंडोज का अनुकरण करती है। इस प्रकार विंडोज 2000 और विन्डोज़ एक्सपी ने ध्वनि फाड़ने वाला 2.0 एमुलेशन जोड़ता हैं।[22] 16-बिट वर्चुअल डिवाइस ड्राइवर और डिस्क ऑपरेटिंग सिस्टम ब्लॉक डिवाइस ड्राइवर (जैसे, रैम डिस्क) समर्थित नहीं हैं। इस प्रकार अन्य सबसिस्टम के साथ अंतःप्रक्रम संचार जोड़कर जाँच और उद्देश्य, डायनेमिक डेटा एक्सचेंज और नामित पाइप के माध्यम से हो सकता है।

चूंकि आभासी 8086 मोड गैर-x86-आधारित प्रोसेसर (अधिक विशेष रूप से, एमआईपीएस आर्किटेक्चर, डीईसी अल्फा, और पावरपीसी) पर उपलब्ध नहीं है, एनटीवीडीएम को इसके अतिरिक्त इंसिग्निया के सॉफ्टपीसी से लाइसेंस प्राप्त कोड का उपयोग करके एनटी के इन संस्करणों में पूर्ण एमुलेटर के रूप में लागू किया गया था।[23][1]विंडोज एनटी 3.51 तक, केवल 80286 अनुकरण उपलब्ध था। विंडोज एनटी 4.0 के साथ, इंटेल 80486 एमुलेशन जोड़ा गया था।[24]

इस प्रकार विंडोज 11 या ARM32 आधारित संस्करणों जैसे विंडोज RT या विंडोज 10 Iओटी Core से पहले विंडोज के 64-बिट संस्करणों के साथ एनटीवीडीएम सम्मलित नहीं है। विंडोज 10 इस घटक को सम्मलित करने के लिए विंडोज का अंतिम संस्करण है।

इस घटक को बंद कर दिया गया है, क्योंकि विंडोज़ 11 ने 32-बिट कंप्यूटिंग या 32-बिट प्रोसेसर के लिए समर्थन छोड़ दिया है।

आदेश

कमांड (कंप्यूटिंग) की निम्न सूची विंडोज XP MS- डिस्क ऑपरेटिंग सिस्टम सबसिस्टम का भाग है।[18]

सुरक्षा समस्या

जनवरी 2010 में, गूगल सुरक्षा शोधकर्ता तवीस ओरमंडी ने विंडोज एनटी के वीडीएम कार्यान्वयन में गंभीर सुरक्षा दोष को संदर्भित किया गया, जिसने विशेषाधिकार प्राप्त उपयोगकर्ताओं को अपने विशेषाधिकारों को सुपर उपयोगकर्ता स्तर तक बढ़ाने की अनुमति दी, जिसे 1993 से विंडोज एनटी कर्नेल के सभी x86 संस्करणों की सुरक्षा के लिए लागू माना जाता है। विंडोज एनटी, 2000, XP, सर्वर 2003, विस्ता, सर्वर 2008 और विंडोज 7 के सभी 32-बिट संस्करण सम्मलित हैं।[25] ओरमंडी ने भेद्यता के लिए एक्सप्लॉइट (कंप्यूटर सुरक्षा) या प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉयट प्रकाशित किया गया।[26] माइक्रोसाॅफ्ट द्वारा सुरक्षा पैच प्रस्तुत करने से पहले, इस समस्या का समाधान 16-बिट एप्लिकेशन समर्थन को बंद करना था, जो पुराने प्रोग्रामों (जिन्हें डिस्क ऑपरेटिंग सिस्टम और विंडोज 3.1 के लिए लिखा गया था) को चलने से रोकता था। एनटीवीडीएम सबसिस्टम सम्मलित नहीं होने के कारण विंडोज के 64-बिट संस्करण प्रभावित नहीं होते हैं।[27][28] इस प्रकार माइक्रोसाॅफ्ट सुरक्षा पैच प्रभावित ऑपरेटिंग सिस्टम पर लागू हो जाने के बाद वीडीएम को सुरक्षित रूप से पुन: सक्षम किया जा सकता है।[nb 2]

सीमाएं

जीडीआई (GDI) ऑब्जेक्ट के लिए बढ़ी हुई प्रति-सत्र सीमा के कारण विंडोज XP 16-बिट सबसिस्टम (किन्तु विंडोज एनटी के पुराने संस्करणों में नहीं) में सीमा सम्मलित है, जिसके कारण जीडीआई हैंडल को दो बिट्स से दाईं ओर स्थानांतरित कर दिया जाता है, जब उन्हें 32 से 16 बिट्स में परिवर्तित किया जाता है।[29] परिणामस्वरूप, वास्तविक हैंडल 14 बिट्स से बड़ा नहीं हो सकता है और इसके परिणामस्वरूप 16-बिट एप्लिकेशन जो कि जीडीआई सिस्टम क्रैश द्वारा 16384 से बड़े हैंडल को प्रस्तुत किया जाता है और इस प्रकार त्रुटि संदेश के साथ समाप्त होता है।[29]

सामान्यतः, वीडीएम और इसी तरह की तकनीक आज के कंप्यूटरों पर अधिकांश पुराने डिस्क ऑपरेटिंग सिस्टम गेम को संतोषजनक ढंग से नहीं चलाती हैं। इस प्रकार अनुकरण केवल सबसे मौलिक बाह्य उपकरणों के लिए प्रदान किया जाता है, जिसे प्रायः अपूर्ण रूप से लागू किया जाता है।[citation needed] उदाहरण के लिए, एनटीवीडीएम में ध्वनि अनुकरण बहुत सीमित है। इस प्रकार विंडोज के एनटी-पारिवारिक संस्करण केवल वास्तविक स्क्रीन को प्रति सेकंड कुछ बार अपडेट करते हैं, जब डॉस प्रोग्राम इसे लिखता है और वे उच्च रिज़ॉल्यूशन ग्राफिक्स मोड का अनुकरण नहीं करते हैं। क्योंकि सॉफ्टवेयर ज्यादातर होस्ट सीपीयू की गति से नेटिव चलता है, सभी टाइमिंग लूप समय से पहले समाप्त हो जाएंगे। यह या तो गेम को बहुत तेजी से चलाता है या सॉफ़्टवेयर को अनुकरणीय हार्डवेयर बाह्य उपकरणों पर ध्यान नहीं देता है, क्योंकि यह उत्तर के लिए पर्याप्त समय तक प्रतीक्षा नहीं करता है।

x64 और आर्क (AArch) 64 में अनुपस्थिति

एक x86-64 सीपीयू में, वर्चुअल 8086 मोड केवल इसके लीगेसी मोड (16- और 32-बिट ऑपरेटिंग सिस्टम चलाने के लिए) में उप-मोड के रूप में उपलब्ध है, मूल 64-बिट लंबे मोड में नहीं हैं।[30] इस प्रकार विंडोज के x86-64 संस्करणों पर एनटीवीडीएम डॉस कार्यक्रमों सहित समर्थित नहीं है,[31] [32] क्योंकि एनटीवीडीएम एड्रेसिंग के लिए आवश्यक 16-बिट सेगमेंट को सक्षम करने के लिए स्थानीय डिस्क्रिप्टर तालिका के अतिरिक्त VM86 सीपीयू मोड का उपयोग करता है।[33] एनटीवीडीएम आर्क64 पर भी उपलब्ध नहीं है, क्योंकि माइक्रोसाॅफ्ट ने इस असंगत निर्देश सेट के लिए पूर्ण इम्यूलेटर प्रस्तुत नहीं किया था, जैसा कि पिछले असंगत आर्किटेक्चर पर किया था।

जबकि एनटीवीडीएम विंडोज के x86-64 संस्करणों पर समर्थित नहीं है, फिर भी उन्हें वर्चुअलाइजेशन सॉफ्टवेयर का उपयोग करके चलाया जा सकता है, जैसे कि विंडोज 7 या वीएम वेयर कार्य केंद्र के गैर-होम संस्करणों में विंडोज एक्सपी मोड इत्यादि का उपयोग किया जाता था। इस प्रकार अन्य विधियों में एनटीवीडीएमx64 का उपयोग करना सम्मलित है, गैर-x86 प्लेटफॉर्म के लिए विंडोज एनटी 4.0 से एनटीवीडीएम के लीक हुए नकली कार्यान्वयन का अनौपचारिक पोर्ट,[23]या ओटीवीडीएम (विनeवीडीएम), एमएएमई के ​​i386 इम्यूलेशन पर आधारित 16-बिट विंडोज दुभाषिया और लोकप्रिय विंडोज कम्पैटिबिलिटी लेयर, एक्कोहल (सॉफ्टवेयर) का 16-बिट भाग हैं।[34]

यह भी देखें

टिप्पणियाँ

  1. KRNL386.SYS of DR DOS "Panther" has copyright strings "1991,1992".
  2. A disabled VDM could be reenabled by setting the corresponding registry key back to "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat\VDMDisallowed"=dword:00000000.


संदर्भ

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Reading, Massachusetts: Addison Wesley. ISBN 0-201-63287-X. (xviii+856+vi pages, 3.5-inch floppy) Errata: [1][2]
  2. 2.0 2.1 "Concurrent DOS-286 Challenges Unix". BYTE Magazine. 10 (5): 375–377. May 1985. Archived from the original on 2018-09-14. Retrieved 2017-01-23. [3]
  3. "Concurrent DOS 68K 1.2 - Developer Kit for Motorola VME/10 - Disk 2". 1986-08-06 [1986-04-08]. Retrieved 2018-09-13. (NB. This package also includes some header files from Concurrent DOS 286, including STRUCT.H explicitly mentioning LOADALL for "8086 emulation".)
  4. 4.0 4.1 Deitel, Harvey M.; Kogan, Michael S. (1992). The Design of OS/2. Addison-Wesley. ISBN 0-201-54889-5.
  5. Foster, Edward (1985-05-13). "Super DOS awaits new 80286 – Concurrent DOS 286 – delayed until Intel upgrades chip – offers Xenix's power and IBM PC compatibility". InfoWorld. InfoWorld Media Group. 7 (19): 17–18. ISSN 0199-6649. Archived from the original on 2019-04-03. Retrieved 2019-04-03.
  6. Foster, Edward (1985-08-26). "Intel shows new 80286 chip – Future of DRI's Concurrent DOS 286 still unclear after processor fixed". InfoWorld. InfoWorld Media Group. 7 (34): 21. ISSN 0199-6649. Archived from the original on 2019-04-03. Retrieved 2019-04-03.
  7. FlexOS Supplement for Intel iAPX 286-based Computers (PDF). 1.3 (1 ed.). Digital Research, Inc. November 1986. Archived (PDF) from the original on 2019-04-03. Retrieved 2018-08-14.
  8. CBR, ed. (1987-01-15). "Digital Research launches FlexOS 286 Real-Time Manufacturing Operating System". Computer Business Review. Archived from the original on 2013-01-18. Retrieved 2018-09-15.
  9. Calvo, Melissa; Forbes, Jim (1986-02-10). "IBM to use a DRI operating system". InfoWorld . Archived from the original on 2019-04-03. Retrieved 2011-09-06.
  10. "IBM selects Concurrent DOS-286 for PC AT retail system" (PDF). European Review. Digital Research (18): 1. March 1986. Archived (PDF) from the original on 2019-04-03. Retrieved 2018-09-15.
  11. Weiss, Jiri (1987-02-16). "DRI To Release Multiuser 80386 Operating System". InfoWorld. 9 (7): 1, 8. Archived from the original on 2019-04-03. Retrieved 2017-01-22. [4]
  12. CBR, ed. (1987-06-03). "Digital Research shows off Real-Time FlexOS 386". Computer Business Review. Archived from the original on 2013-06-28. Retrieved 2011-09-06.
  13. Necasek, Michal (2011-05-21). "Windows/386 2.01". OS/2 Museum. Archived from the original on 2019-04-02. Retrieved 2019-04-02. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch (help)
  14. 14.0 14.1 14.2 14.3 14.4 Paul, Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Archived from the original on 2016-11-03. Retrieved 2014-09-06. {{cite book}}: |work= ignored (help) (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.) mpdostip.zip
  15. 15.0 15.1 OpenDOS Developer's Reference Series — OpenDOS Multitasking API Guide — Programmer's Guide. UK: Caldera, Inc. August 1997. Caldera Part No. 200-DOMG-004. Archived from the original on 2017-09-10. Retrieved 2016-11-02.
  16. 16.0 16.1 Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Archived from the original on 2016-11-05. Retrieved 2014-09-06.
  17. "OS/2 Workplace Shell Configuration Techniques" (PDF). IBM redbook. 1994. pp. 68–80. Archived from the original (PDF) on 2012-03-20. Retrieved 2011-07-05.
  18. 18.0 18.1 "MS-DOS subsystem commands". Microsoft.
  19. "Why can't my DOS and Win-OS/2 sessions see more than 2 GB of free space?". Arca Noae, LLC. Archived from the original on 2021-07-07. Retrieved 2020-09-03.
  20. "ArcaOS Release Notes". 2020-08-31 [2017-05-15]. Archived from the original on 2021-03-16. Retrieved 2020-09-03.
  21. "Chapter 27 - Windows Compatibility and Migration". Windows NT 4.0 Resource Kit. Microsoft. Retrieved 2017-07-19.
  22. Schulman, Jerold (2002-12-04). "How do I troubleshoot MS-DOS programs running on Windows XP?". ITPro Windows. Retrieved 2017-07-19.
  23. 23.0 23.1 "leecher1337/ntvdmx64". GitHub. Retrieved 2018-11-03. Edward Mendelson's additional documentation
  24. "INFO: How Windows handles floating-point calculations". Microsoft Support. 2006-11-21. Archived from the original on 2013-02-24. Retrieved 2017-07-19.
  25. "Microsoft Security Bulletin MS10-015 - Important: Vulnerabilities in Windows Kernel Could Allow Elevation of Privilege (977165)". Security TechCenter. Microsoft. 2010-03-17. Retrieved 2012-11-02.
  26. Ormandy, Tavis (2010-01-19). "Microsoft Windows NT #GP Trap Handler Allows Users to Switch Kernel Stack". CVE-2010-0232. Full-disclosure. Retrieved 2013-04-13.
  27. Farrell, Nick (2010-01-20). "Ancient Windows flaw found after 17 years". The Inquirer. Incisive. Archived from the original on 23 January 2010. Retrieved 2010-01-21.{{cite web}}: CS1 maint: unfit URL (link)
  28. "Microsoft Security Advisory (979682): Vulnerability in Windows Kernel Could Allow Elevation of Privilege". TechNet. Microsoft. 2010-01-20. Retrieved 2010-01-21.
  29. 29.0 29.1 The "Win 16 Subsystem has insufficient resources to continue running" problem on Windows XP
  30. Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B, and 3C (PDF) (PDF). Intel. June 2013 [1997]. 325462-047US. Retrieved 2013-07-02.
  31. Klein, Helge (2008-03-11). "Windows x64 - All the Same Yet Very Different, Part 5: NTVDM, Services, WoW64". Retrieved 2013-07-21.
  32. "List of limitations in 64-Bit Windows". Microsoft Corporation. 2007-10-11. Retrieved 2017-07-19.
  33. "modify_ldt(2)". Linux Programmer's Manual. Retrieved 2019-07-21.
  34. "Winevdm". GitHub. Retrieved 2019-07-21. Edward Mendelson's additional documentation


अग्रिम पठन


बाहरी संबंध