جهاز DOS افتراضي
تشير آلات DOS الافتراضية ( VDM ) إلى تقنية تسمح بتشغيل برامج DOS ذات 16 بت/32 بت وبرامج Windows ذات 16 بت عندما يكون هناك نظام تشغيل آخر قيد التشغيل ويتحكم في الأجهزة.
ملخص
يمكن أن تعمل آلات DOS الافتراضية إما حصريًا من خلال طرق محاكاة البرامج النموذجية (على سبيل المثال إعادة التجميع الديناميكي ) أو يمكنها الاعتماد على وضع 8086 الافتراضي لمعالج Intel 80386 ، والذي يسمح لبرنامج الوضع الحقيقي 8086 بالعمل في بيئة خاضعة للرقابة من خلال التقاط جميع العمليات التي تنطوي على الوصول إلى الأجهزة المحمية وإعادة توجيهها إلى نظام التشغيل العادي (كاستثناءات ) . يمكن لنظام التشغيل بعد ذلك إجراء محاكاة واستئناف تنفيذ برنامج DOS.
تطبق أجهزة VDM عمومًا أيضًا الدعم لتشغيل برامج الوضع المحمي ذات 16 بت و 32 بت ( موسعات DOS )، والتي يجب أن تتوافق مع واجهة الوضع المحمي DOS (DPMI). [1]
عندما يحتاج برنامج DOS قيد التشغيل داخل VDM إلى الوصول إلى جهاز طرفي، فإن Windows إما سيسمح بذلك بشكل مباشر (نادرًا)، أو سيقدم لبرنامج DOS برنامج تشغيل جهاز افتراضي (VDD) يحاكي الأجهزة باستخدام وظائف نظام التشغيل. سيحتوي VDM بشكل منهجي على محاكاة لوحدات التحكم في المقاطعة Intel 8259A ، وشرائح المؤقت 8254 ، ووحدة التحكم DMA 8237، وما إلى ذلك [1]
وضع محاكاة DOS 8086 المتزامن
في يناير 1985، قامت شركة Digital Research بالتعاون مع شركة Intel بمعاينة Concurrent DOS 286 1.0 ، [2] وهي نسخة من Concurrent DOS قادرة على تشغيل برامج DOS في الوضع الحقيقي في الوضع المحمي لـ 80286. [2] ومع ذلك، توقفت الطريقة المصممة على شرائح المعالج المتدرج B-1 عن العمل في مايو 1985 على C-1 وخطوات المعالج اللاحقة قبل وقت قصير من طرح شركة Digital Research للمنتج. على الرغم من أن شركة Intel بدأت في معالجة المشكلات في أغسطس 1985 باستخدام خطوة E-1، بحيث عمل "وضع محاكاة 8086" من شركة Digital Research مرة أخرى باستخدام تعليمات المعالج LOADALL غير الموثقة ، [3] [4] إلا أنه كان بطيئًا للغاية بحيث لا يكون عمليًا. أدت تغييرات التعليمات البرمجية الدقيقة لخطوة E-2 إلى تحسين السرعة مرة أخرى. [5] [6] يمكن اعتبار هذا التنفيذ المبكر بمثابة سلف لأجهزة DOS الافتراضية الفعلية.
في النهاية، تمت إعادة تصميم Concurrent DOS 286 من نظام تشغيل سطح مكتب محتمل ليصبح FlexOS 286 للاستخدام الصناعي في عام 1986. [7] [8] كما تم ترخيصه بواسطة IBM لنظام التشغيل 4680 الخاص بهم في عام 1986. [9] [10]
عندما أصبح معالج Intel 80386 مع وضع 8086 الافتراضي متاحًا (كعينات منذ أكتوبر 1985 وبكميات منذ يونيو 1986)، تحولت Digital Research لاستخدامه لتشغيل برامج DOS في الوضع الحقيقي في أجهزة DOS الافتراضية في الوضع المحمي تحت Concurrent DOS 386 1.0 (فبراير 1987) [11] و FlexOS 386 1.0 (يونيو 1987). [12] ومع ذلك، فإن بنية أنظمة التشغيل متعددة المستخدمين متعددة المهام هذه لم تكن تعتمد على DOS في حد ذاتها.
تم تطوير نظام التشغيل Concurrent DOS 386 لاحقًا ليصبح Multiuser DOS (منذ عام 1991) و REAL/32 (منذ عام 1995). ثم أصبح FlexOS 386 نظام التشغيل 4690 في عام 1993.
أجهزة VDM المستندة إلى DOS
على النقيض من أنظمة التشغيل ذات الوضع المحمي، فإن نظام التشغيل DOS، بشكل افتراضي، هو نظام تشغيل في الوضع الحقيقي، ويتحول إلى الوضع المحمي والوضع الافتراضي فقط نيابة عن مديري الذاكرة وموسعات DOS من أجل توفير الوصول إلى الذاكرة الموسعة أو الخريطة في الذاكرة إلى الميجابايت الأول، والذي يمكن الوصول إليه بواسطة برامج DOS العادية.
ظهرت أجهزة VDM المستندة إلى DOS مع نظام التشغيل Microsoft Windows/386 2.01 في سبتمبر 1987. [13] كانت أجهزة DOS الافتراضية المستندة إلى DOS موجودة أيضًا في Windows 3.0 و 3.1x و Windows for Workgroups 3.1x التي تعمل في وضع 386 المحسن وكذلك في أنظمة التشغيل Windows 95 و 98 و 98 SE و ME . إحدى خصائص هذه الحلول التي تعمل أعلى DOS هي أن تخطيط الذاكرة الموضح داخل أجهزة DOS الافتراضية عبارة عن حالات افتراضية لنظام DOS وتكوين برنامج تشغيل DOS يتم تشغيله قبل تحميل تعدد المهام، وأن الطلبات التي لا يمكن التعامل معها في الوضع المحمي يتم تمريرها إلى مجال النظام ليتم تنفيذها بواسطة نظام DOS الأساسي.
على غرار Windows 3.x 386 Enhanced Mode في الهندسة المعمارية، يستخدم EMM386 3.xx من Novell DOS 7 ، [1] [14] Caldera OpenDOS 7.01 ، [14] [15] DR-DOS 7.02 [16] (والإصدارات الأحدث) أيضًا VDMs المستندة إلى DOS لدعم تعدد المهام الوقائي لتطبيقات DOS المتعددة، عند EMM386 /MULTIاستخدام الخيار. [14] [15] [16] كان هذا المكون قيد التطوير في Digital Research / Novell منذ عام 1991 [nb 1] تحت الاسم الرمزي "Vladivar" (في الأصل برنامج تشغيل جهاز منفصل KRNL386.SYS[1] [14] بدلاً من وحدة EMM386). على الرغم من تطويره في المقام الأول للإصدار الرئيسي التالي من DR DOS، والذي تم إصداره باسم Novell DOS 7 في عام 1994، [1] [14] فقد تم استخدامه أيضًا في مشروع DR DOS "Panther" و" Star Trek " الذي لم يتم إصداره مطلقًا في عامي 1992/1993.
نظام التشغيل OS/2 MVDM
تُستخدم أجهزة DOS متعددة افتراضية (MVDM) في OS/2 2.0 وما بعده منذ عام 1992. [1] [4] أجهزة OS/2 MVDM أقوى بكثير من NTVDM. على سبيل المثال، يتم دعم أجهزة الحظر، ويمكن تشغيل إصدارات DOS المختلفة في OS/2 MVDM. [17] بينما كان صندوق OS/2 1.x DOS يعتمد على DOS 3.0، تحاكي أجهزة OS/2 2.x MVDM نظام DOS 5.0. [1]
إن التكامل السلس لتطبيقات Windows 3.1 والإصدارات الأحدث من Win32 في OS/2 هو مفهوم يبدو مشابهًا للتكامل السلس لوضع XP القائم على Windows Virtual PC في Windows 7. يسمح جهاز إعادة التوجيه في VDM "الضيف" أو NTVDM بالوصول إلى أقراص "المضيف" OS/2 أو NT. يمكن للتطبيقات في "الضيف" استخدام الأنابيب المسماة للتواصل مع "المضيف". [18]
بسبب أحد القيود الفنية، لم تتمكن تطبيقات DOS وWindows 16 بت في OS/2 من رؤية أكثر من 2 جيجابايت من مساحة القرص الصلب؛ [19] وقد تم إصلاح هذه المشكلة في ArcaOS 5.0.4. [20]
ويندوز NTVDM

يعد NTVDM أحد مكونات النظام لجميع إصدارات IA-32 من عائلة Windows NT منذ عام 1993 مع إصدار Windows NT 3.1 . وهو يسمح بتنفيذ تطبيقات Windows 16 بت وDOS 16 بت / 32 بت. يُطلق على ملف Windows NT 32 بت القابل للتنفيذ في وضع المستخدم والذي يشكل الأساس لبيئة DOS واحدة (أو Windows 3.x ) اسم ntvdm.exe . [1]
من أجل تنفيذ برامج DOS، يقوم NTVDM بتحميل NTIO.SYS والذي يقوم بدوره بتحميل NTDOS.SYS ، والذي يقوم بتنفيذ COMMAND.COM معدل من أجل تشغيل التطبيق الذي تم تمريره إلى NTVDM كحجة سطر أوامر. ملفات النظام ذات الوضع الحقيقي ذات 16 بت هي مشتقات مجردة من مكافئاتها في MS -DOS 5.0 IO.SYS و MSDOS.SYS و COMMAND.COM [1] مع إزالة جميع الافتراضات المبرمجة على نظام الملفات FAT واستخدام التعليمات البرمجية غير الصالحة 0xC4 0xC4 للانتقال إلى NTVDM ذات 32 بت للتعامل مع الطلبات. [1] في الأصل، أبلغ NTDOS عن إصدار DOS 30.00 للبرامج، [1] ولكن تم تغيير هذا قريبًا للإبلاغ عن إصدار 5.00 في و5.50 في للسماح بتشغيل المزيد من البرامج دون تعديل. [1] هذا صحيح حتى في أحدث إصدارات Windows؛ العديد من وظائف وأوامر MS-DOS الإضافية المقدمة في إصدارات MS-DOS 6.x وفي Windows 9x مفقودة.
INT 21h/AH=30hINT 21h/AX=3306h
تعمل تطبيقات Windows ذات 16 بت افتراضيًا في سلسلة خاصة بها داخل عملية NTVDM واحدة. وعلى الرغم من أن NTVDM نفسها عبارة عن عملية 32 بت ومتعددة المهام بشكل استباقي فيما يتعلق ببقية النظام، فإن التطبيقات ذات 16 بت الموجودة داخلها تعمل بشكل تعاوني متعدد المهام فيما يتعلق ببعضها البعض. عند تحديد خيار "التشغيل في مساحة ذاكرة منفصلة" في مربع التشغيل أو ملف اختصار التطبيق، يحصل كل تطبيق Windows ذي 16 بت على عملية NTVDM الخاصة به وبالتالي يتم تعدد مهامه بشكل استباقي فيما يتعلق بالعمليات الأخرى، بما في ذلك تطبيقات Windows ذات 16 بت الأخرى. تحاكي NTVDM مكالمات BIOS والجداول بالإضافة إلى نواة Windows 3.1 وأجزاء واجهة برمجة التطبيقات ذات 16 بت. [21] تقوم طبقة ترجمة WoW ذات 32 بت بدمج روتينات واجهة برمجة التطبيقات ذات 16 بت.
توجد محاكاة DOS ذات 32 بت لواجهة الوضع المحمي DOS (DPMI) والوصول إلى الذاكرة ذات 32 بت. تقوم هذه الطبقة بتحويل استدعاءات الذاكرة الموسعة والموسعة اللازمة لوظائف DOS إلى استدعاءات ذاكرة Windows NT. wowexec.exe هي طبقة المحاكاة التي تحاكي Windows ذات 16 بت. أضافت Windows 2000 و Windows XP محاكاة Sound Blaster 2.0. [22] لا يتم دعم برامج تشغيل الأجهزة الافتراضية ذات 16 بت وبرامج تشغيل أجهزة كتلة DOS (على سبيل المثال، أقراص RAM). يمكن أن يتم الاتصال بين العمليات مع الأنظمة الفرعية الأخرى من خلال OLE و DDE والأنابيب المسماة .
نظرًا لأن وضع 8086 الافتراضي غير متاح على المعالجات غير المستندة إلى x86 (على وجه التحديد، MIPS و DEC Alpha و PowerPC )، يتم تنفيذ NTVDM بدلاً من ذلك كمحاكي كامل في هذه الإصدارات من NT، باستخدام الكود المرخص من SoftPC من Insignia . [23] [1] حتى Windows NT 3.51 ، يتوفر محاكاة 80286 فقط. مع Windows NT 4.0 ، تمت إضافة محاكاة 486. [24]
لا يتم تضمين NTVDM في إصدارات 64 بت من Windows أو الإصدارات المستندة إلى ARM32 مثل Windows RT أو Windows 10 IoT Core. الإصدار الأخير من Windows الذي يتضمن المكون هو Windows 10 ، حيث توقف Windows 11 عن دعم المعالجات ذات 32 بت .
الأوامر
الأوامر التالية هي جزء من نظام MS-DOS الفرعي في نظام Windows XP. [18]
مشكلة أمنية
في يناير 2010، كشف باحث الأمن في جوجل تافيس أورماندي عن خلل أمني خطير في تنفيذ VDM في نظام التشغيل Windows NT والذي سمح للمستخدمين غير المتميزين بتصعيد امتيازاتهم إلى مستوى النظام ، والذي لوحظ أنه ينطبق على أمان جميع إصدارات x86 من نواة Windows NT منذ عام 1993. وشمل ذلك جميع إصدارات 32 بت من Windows NT و2000 وXP وServer 2003 وVista وServer 2008 وWindows 7. [25] نشر أورماندي إثبات مفهوم لاستغلال الثغرة الأمنية. [26] قبل إصدار Microsoft لتصحيح الأمان، كان الحل البديل لهذه المشكلة هو إيقاف تشغيل دعم التطبيقات ذات 16 بت، مما منع تشغيل البرامج القديمة (تلك المكتوبة لنظامي التشغيل DOS وWindows 3.1). لا تتأثر إصدارات Windows ذات 64 بت نظرًا لعدم تضمين نظام فرعي NTVDM. [27] [28] بمجرد تطبيق تصحيحات أمان Microsoft على أنظمة التشغيل المتأثرة، يمكن إعادة تمكين VDM بأمان. [nb 2]
القيود
يوجد قيد في نظام Windows XP الفرعي 16 بت (ولكن ليس في الإصدارات السابقة من Windows NT) بسبب الحد الأقصى لكل جلسة لكائنات GDI والذي يتسبب في تحويل مقابض GDI إلى اليمين بمقدار بتين، عند تحويلها من 32 إلى 16 بت. [29] ونتيجة لذلك، لا يمكن أن يكون المقبض الفعلي أكبر من 14 بت وبالتالي تتعطل تطبيقات 16 بت التي يتم تقديم مقبض أكبر من 16384 لها بواسطة نظام GDI وتنتهي برسالة خطأ. [29]
بشكل عام، لا تقوم تقنية VDM والتقنيات المشابهة بتشغيل معظم ألعاب DOS القديمة على أجهزة الكمبيوتر اليوم بشكل مرضٍ. يتم توفير المحاكاة فقط للأجهزة الطرفية الأساسية، وغالبًا ما يتم تنفيذها بشكل غير كامل [ بحاجة لمصدر ] . على سبيل المثال، محاكاة الصوت في NTVDM محدودة للغاية. لا تقوم إصدارات عائلة NT من Windows بتحديث الشاشة الحقيقية إلا بضع مرات في الثانية عندما يكتب برنامج DOS عليها، ولا تحاكي أوضاع الرسومات ذات الدقة العالية. نظرًا لأن البرامج تعمل في الغالب بشكل أصلي بسرعة وحدة المعالجة المركزية المضيفة، فإن جميع حلقات التوقيت تنتهي قبل الأوان. يؤدي هذا إما إلى تشغيل اللعبة بسرعة أكبر مما ينبغي أو يتسبب في عدم ملاحظة البرنامج للأجهزة الطرفية المحاكية، لأنه لا ينتظر وقتًا كافيًا للحصول على إجابة.
الغياب في معماريات x64 وAArch64
في وحدة المعالجة المركزية x86-64 ، يتوفر وضع 8086 الافتراضي كوضع فرعي فقط في وضعه القديم (لتشغيل أنظمة التشغيل 16 بت و32 بت)، وليس في وضع 64 بت الطويل الأصلي . [30] لا يتم دعم NTVDM على إصدارات x86-64 من Windows، [31] بما في ذلك برامج DOS، [32] لأن NTVDM يستخدم وضع وحدة المعالجة المركزية VM86 بدلاً من جدول الوصف المحلي لتمكين شريحة 16 بت المطلوبة للتوجيه. [33] لا يتوفر NTVDM أيضًا على إصدارات AArch64 (أو ARM64) من Windows (مثل Windows RT )، لأن Microsoft لم تصدر محاكيًا كاملاً لمجموعة التعليمات غير المتوافقة هذه كما فعلت في البنيات غير المتوافقة السابقة.
على الرغم من عدم دعم NTVDM على إصدارات x86-64 وAArch64 من Windows، إلا أنه لا يزال من الممكن تشغيلها باستخدام برنامج المحاكاة الافتراضية ، مثل Windows XP Mode في الإصدارات غير المنزلية من Windows 7 أو VMware Workstation . تتضمن الطرق الأخرى استخدام NTVDMx64، [34] وهو منفذ غير رسمي للتنفيذ المُحاكي لـ NTVDM من كود مصدر Windows NT 4.0 المُسرب للأنظمة الأساسية غير x86، [23] أو OTVDM (WineVDM)، وهو مُفسِّر Windows 16 بت يعتمد على محاكاة i386 من MAME والجزء 16 بت من طبقة توافق Windows الشهيرة، Wine (انظر القسم الخاص بـ WineVDM أدناه). [35]
واين في دي ام
تم تضمين VDM في Wine و CrossOver لنظامي Linux وMac OS X، والمعروف باسم WineVDM (المعروف أيضًا باسم OTVDM). كما تم نقله إلى Windows نفسه، حيث لا تتضمن إصدارات 64 بت من Windows نظام NTVDM الفرعي (انظر أعلاه). [36]
انظر أيضا
- مقارنة بين برامج المحاكاة الافتراضية للمنصات
- DESQview 386 (منذ 1988)
- النبيذ (البرمجيات)
- دوس بوكس
- دوسيمو
- دمج (برمجيات)
- قائمة مكونات Microsoft Windows
- المشرف الافتراضي
- ويندوز على ويندوز (WoW)
- الآلة الافتراضية (VM)
ملحوظات
- ^ KRNL386.SYS من DR DOS "Panther" لديه سلاسل حقوق الطبع والنشر "1991،1992".
- ^ يمكن إعادة تمكين VDM المعطل عن طريق إعادة تعيين مفتاح التسجيل المقابل إلى
"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat\VDMDisallowed"=dword:00000000.
مراجع
- ^ abcdefghijklm 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 صفحات، قرص مرن مقاس 3.5 بوصة) أخطاء: [1][2]
- ^ ab "تحديات DOS-286 المتزامنة لنظام التشغيل يونكس". مجلة BYTE . 10 (5): 375–377. مايو 1985. مؤرشف من الأصل في 2018-09-14 . تم الاسترجاع في 2017-01-23 .[3]
- ^ "Concurrent DOS 68K 1.2 - Developer Kit for Motorola VME/10 - Disk 2". 1986-08-06 [1986-04-08] . تم الاسترجاع في 2018-09-13 .(ملاحظة: تتضمن هذه الحزمة أيضًا بعض ملفات الرأس من Concurrent DOS 286 ، بما في ذلك STRUCT.H الذي يذكر صراحةً LOADALL لـ "محاكاة 8086".)
- ^ ab Deitel, Harvey M.; Kogan, Michael S. (1992). تصميم OS/2. Addison-Wesley . ISBN 0-201-54889-5.
- ^ فوستر، إدوارد (13 مايو 1985). "Super DOS ينتظر 80286 الجديد – Concurrent DOS 286 – تأخر حتى تقوم Intel بتحديث الشريحة – يوفر قوة Xenix وتوافق IBM PC". InfoWorld . 7 (19). InfoWorld Media Group : 17–18. ISSN 0199-6649. مؤرشف من الأصل في 2019-04-03 . تم الاسترجاع 2019-04-03 .
- ^ فوستر، إدوارد (1985-08-26). "إنتل تعرض شريحة 80286 الجديدة - مستقبل نظام التشغيل DOS 286 المتزامن من DRI لا يزال غير واضح بعد إصلاح المعالج". InfoWorld . 7 (34). InfoWorld Media Group : 21. ISSN 0199-6649. مؤرشف من الأصل في 2019-04-03 . تم الاسترجاع 2019-04-03 .
- ^ ملحق FlexOS لأجهزة الكمبيوتر التي تعمل بنظام Intel iAPX 286 (PDF) . 1.3 (الطبعة الأولى). Digital Research, Inc. نوفمبر 1986. مؤرشف (PDF) من الأصل في 2019-04-03 . تم الاسترجاع في 2018-08-14 .
- ^ CBR، محرر. (1987-01-15). "Digital Research تطلق نظام التشغيل التصنيعي في الوقت الفعلي FlexOS 286". Computer Business Review . مؤرشف من الأصل في 2013-01-18 . تم الاسترجاع في 2018-09-15 .
- ^ كالفو، ميليسا؛ فوربس، جيم (10 فبراير 1986). "آي بي إم ستستخدم نظام تشغيل DRI". InfoWorld . مؤرشف من الأصل في 2019-04-03 . تم الاسترجاع في 2011-09-06 .
- ^ "IBM تختار Concurrent DOS-286 لنظام البيع بالتجزئة PC AT" (PDF) . European Review (18). Digital Research : 1. March 1986. مؤرشف (PDF) من الأصل في 2019-04-03 . تم الاسترجاع في 2018-09-15 .
- ^ Weiss, Jiri (16 فبراير 1987). "DRI ستصدر نظام تشغيل 80386 متعدد المستخدمين". InfoWorld . 9 (7): 1، 8. مؤرشف من الأصل في 2019-04-03 . تم الاسترجاع في 2017-01-22 .[4]
- ^ CBR، محرر (1987-06-03). "Digital Research shows off Real-Time FlexOS 386". Computer Business Review . مؤرشف من الأصل في 2013-06-28 . تم الاسترجاع في 2011-09-06 .
- ^ Necasek, Michal (2011-05-21). "Windows/386 2.01". متحف OS/2. مؤرشف من الأصل في 2019-04-03 . تم الاسترجاع في 2019-04-02 .
- ^ abcde بول، ماتياس ر. (1997/07/30) [1994/05/01]. نصائح NWDOS — نصائح وحيل تعمل على نظام التشغيل Novell DOS 7، مع النقر على تفاصيل غير موثقة وأخطاء وحلول بديلة. الإصدار 157 (باللغة الألمانية) (3 ed.). مؤرشفة من الأصلي بتاريخ 2016-11-03 . تم الاسترجاع 2014/09/06 .
{{cite book}}:|work=تم تجاهله ( مساعدة ) (ملاحظة: NWDOSTIP.TXT هو عمل شامل على Novell DOS 7 و OpenDOS 7.01 ، بما في ذلك وصف العديد من الميزات والأجزاء الداخلية غير الموثقة. وهو جزء من مجموعة MPDOSTIP.ZIP الأكبر التي يحتفظ بها المؤلف حتى عام 2001 ويتم توزيعها على العديد من المواقع في ذلك الوقت. يشير الرابط المقدم إلى إصدار أقدم تم تحويله إلى HTML من ملف NWDOSTIP.TXT.) mpdostip.zip - ^ سلسلة مرجع مطوري OpenDOS — دليل واجهة برمجة تطبيقات تعدد المهام OpenDOS — دليل المبرمج. المملكة المتحدة: Caldera, Inc. أغسطس 1997. رقم قطعة Caldera 200-DOMG-004. مؤرشف من الأصل في 2017-09-10 . تم الاسترجاع في 2016-11-02 .
- ^ دليل مستخدم Caldera DR-DOS 7.02. Caldera, Inc. 1998 [1993, 1997]. مؤرشف من الأصل في 2016-11-05 . تم الاسترجاع في 2014-09-06 .
- ^ "OS/2 Workplace Shell Configuration Techniques" (PDF) . IBM redbook. 1994. ص. 68–80. مؤرشف من الأصل (PDF) في 2012-03-20 . تم الاسترجاع في 2011-07-05 .
- ^ "أوامر النظام الفرعي MS-DOS". Microsoft .
- ^ "لماذا لا أرى أكثر من 2 جيجابايت من المساحة الحرة في جلسات DOS وWin-OS/2؟". Arca Noae, LLC . مؤرشف من الأصل في 2021-07-07 . تم الاسترجاع في 2020-09-03 .
- ^ "ArcaOS Release Notes". 2020-08-31 [2017-05-15]. مؤرشف من الأصل في 2021-03-16 . تم الاسترجاع 2020-09-03 .
- ^ "الفصل 27 - توافق Windows والانتقال إليه". مجموعة أدوات موارد Windows NT 4.0 . Microsoft . 2014-02-20 . تم الاسترجاع في 2017-07-19 .
- ^ شولمان، جيرولد (2002-12-04). "كيف يمكنني استكشاف أخطاء برامج MS-DOS التي تعمل على نظام التشغيل Windows XP وإصلاحها؟". ITPro Windows . تم الاسترجاع في 2017-07-19 .
- ^ ab "leecher1337/ntvdmx64". GitHub . تم الاسترجاع في 2018-11-03 .الوثائق الإضافية لإدوارد مندلسون
- ^ "معلومات: كيف يتعامل نظام التشغيل Windows مع الحسابات ذات الفاصلة العائمة". دعم مايكروسوفت . 2006-11-21. مؤرشف من الأصل في 2013-02-24 . تم الاسترجاع في 2017-07-19 .
- ^ "نشرة أمان Microsoft MS10-015 - هام: الثغرات الأمنية في نواة Windows قد تسمح برفع الامتيازات (977165)". Security TechCenter . Microsoft . 2010-03-17 . تم الاسترجاع في 2012-11-02 .
- ^ Ormandy, Tavis (2010-01-19). "Microsoft Windows NT #GP Trap Handler Allows Users to Switch Kernel Stack". CVE-2010-0232 . الكشف الكامل . تم الاسترجاع في 2013-04-13 .
- ^ فاريل، نيك (2010-01-20). "اكتشاف خلل قديم في نظام التشغيل Windows بعد 17 عامًا". The Inquirer . Incisive. مؤرشف من الأصل في 2010-01-23 . تم الاسترجاع في 2010-01-21 .
{{cite web}}:CS1 maint: عنوان URL غير مناسب ( الرابط ) - ^ "Microsoft Security Advisory (979682): Vulnerability in Windows Kernel Could Allow Elevation of Privilege". TechNet . Microsoft . 2010-01-20 . تم الاسترجاع في 2010-01-21 .
- ^ ab مشكلة "نظام Win 16 الفرعي لا يملك موارد كافية لمواصلة التشغيل" على نظام التشغيل Windows XP
- ^ دليل مطوري برامج Intel 64 وIA-32 Architectures Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B, and 3C (PDF) (PDF). Intel . يونيو 2013 [1997]. 325462-047US . تم الاسترجاع في 2013-07-02 .
- ^ كلاين، هيلج (2008-03-11). "Windows x64 - All the Same Yet Very Different, Part 5: NTVDM, Services, WoW64" . تم الاسترجاع في 2013-07-21 .
- ^ "قائمة القيود في نظام التشغيل Windows 64 بت". Microsoft Corporation. 2007-10-11 . تم الاسترجاع في 2017-07-19 .
- ^ "modify_ldt(2)". دليل مبرمجي لينكس . تم الاسترجاع في 2019-07-21 .
- ^ "NTVDMx64 by Leecher1337". www.columbia.edu . تم الاسترجاع في 2023-03-25 .
- ^ "Winevdm". GitHub . تم الاسترجاع في 2019-07-21 .الوثائق الإضافية لإدوارد مندلسون
- ^ "Otya128/Winevdm". GitHub .
قراءة إضافية
- Pietrek, Matt (August 1998). "Under The Hood". Microsoft Systems Journal . مؤرشف من الأصل في 2017-07-13 . تم الاسترجاع في 2020-01-22 – عبر bytepointer.com.
روابط خارجية
- بنية جهاز DOS الافتراضي
- استكشاف أخطاء البرامج المستندة إلى MS-DOS في نظام التشغيل Windows XP وإصلاحها
- استكشاف أخطاء تطبيق MS-DOS وإصلاحها والذي يتسبب في تعليق نظام NTVDM الفرعي في Windows XP وWindows Server 2003
- استكشاف أخطاء برامج الاتصالات التسلسلية المستندة إلى MS-DOS وإصلاحها في Windows 2000 والإصدارات الأحدث
- NTVDM من ReactOS، وهو الإصدار المستقل المخصص من NTVDM بواسطة Michael Stamper (قادر على تشغيل برنامج MS-DOS في وضع النص النافذة في أنظمة Windows NT 64 بت، ويعمل NTVDM هذا باستخدام بناء الجملة التالي: ntvdm.exe program.exe ، مثل أمر البدء في Windows.
- يقوم MS-DOS Player for Win32-x64، وهو محاكي Microsoft MS-DOS، بتشغيل العديد من برامج DOS لسطر الأوامر مثل المترجمين أو الأدوات الأخرى، والتي يتم أيضًا تعبئتها في ملف تنفيذي مستقل واحد.
- vDOS، هو محاكي DOS مصمم لتشغيل تطبيقات DOS "الأكثر جدية" (وليس الألعاب) على أنظمة NT ذات 64 بت (وهو في الواقع بديل لـ NTVDM على الأنظمة الحديثة).
