อ่าน 11 นาที
เครื่องเสมือน DOS
เครื่องเสมือน DOS (Virtual DOS Machines หรือ VDM ) หมายถึงเทคโนโลยีที่ช่วยให้สามารถเรียกใช้ โปรแกรม DOS 16 บิต/32 บิต และ โปรแกรม Windows 16 บิต ได้ เมื่อมี ระบบปฏิบัติการ อื่น...
เครื่องเสมือน DOS
เครื่องเสมือน DOS (Virtual DOS MachinesหรือVDM ) หมายถึงเทคโนโลยีที่ช่วยให้สามารถเรียกใช้โปรแกรม DOS 16 บิต/32 บิต และ โปรแกรม Windows 16 บิต ได้ เมื่อมีระบบปฏิบัติการ อื่น ทำงานและควบคุมฮาร์ดแวร์ อยู่แล้ว
ภาพรวม
เครื่องเสมือน DOS สามารถทำงานได้โดยใช้เพียงวิธีการจำลองซอฟต์แวร์ ทั่วไป (เช่น การคอมไพล์แบบไดนามิก ) หรืออาจใช้โหมดเสมือน 8086ของ โปรเซสเซอร์ Intel 80386ซึ่งช่วยให้ ซอฟต์แวร์ โหมดจริง 8086 ทำงานในสภาพแวดล้อมที่มีการควบคุม โดยการดักจับการทำงานทั้งหมดที่เกี่ยวข้องกับการเข้าถึงฮาร์ดแวร์ที่ได้รับการป้องกัน และส่งต่อไปยังระบบปฏิบัติการปกติ (ในรูปแบบของข้อยกเว้น ) จากนั้นระบบปฏิบัติการสามารถทำการจำลองและดำเนินการต่อซอฟต์แวร์ DOS ได้
โดยทั่วไป VDM ยังรองรับการทำงานของ ซอฟต์แวร์ โหมดป้องกัน16 บิตและ32 บิต ( ตัวขยาย DOS ) ซึ่งต้องเป็นไปตามอินเทอร์เฟซโหมดป้องกัน DOS (DPMI) [ 1 ]
เมื่อโปรแกรม DOS ที่ทำงานอยู่ภายใน VDM จำเป็นต้องเข้าถึงอุปกรณ์ต่อพ่วงWindowsจะอนุญาตให้เข้าถึงโดยตรง (ซึ่งเกิดขึ้นไม่บ่อยนัก) หรือจะแสดงไดรเวอร์อุปกรณ์เสมือน (VDD) ให้กับโปรแกรม DOS ซึ่งจำลองฮาร์ดแวร์โดยใช้ฟังก์ชันของระบบปฏิบัติการ VDM จะมีการจำลองตัวควบคุมการขัดจังหวะ Intel 8259A ชิปตัวจับเวลา 8254ตัวควบคุม DMA 8237 เป็นต้น[ 1 ]
โหมดจำลอง DOS 8086 แบบพร้อมกัน
ในเดือนมกราคม พ.ศ. 2528 Digital Researchร่วมกับ Intel ได้เปิดตัวConcurrent DOS 286 1.0 [ 2 ]ซึ่งเป็นเวอร์ชันของConcurrent DOSที่สามารถรันโปรแกรม DOS ในโหมดเรียลโหมดในโหมดป้องกันของ80286 ได้[ 2 ]อย่างไรก็ตาม วิธีการที่คิดค้นขึ้นบนชิปประมวลผลรุ่น B-1 นั้นหยุดทำงานในเดือนพฤษภาคม พ.ศ. 2528 บนชิปประมวลผลรุ่น C-1 และรุ่นต่อๆ มา ไม่นานก่อนที่ Digital Research จะวางจำหน่ายผลิตภัณฑ์ แม้ว่า Intel จะเริ่มแก้ไขปัญหาในเดือนสิงหาคม พ.ศ. 2528 ด้วยชิปประมวลผลรุ่น 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 พร้อมใช้งาน (ในรูปแบบตัวอย่างตั้งแต่เดือนตุลาคม พ.ศ. 2528 และในปริมาณมากตั้งแต่เดือนมิถุนายน พ.ศ. 2529) Digital Research จึงเปลี่ยนมาใช้สิ่งนี้เพื่อเรียกใช้โปรแกรม DOS ในโหมดจริงในเครื่อง DOS เสมือนในโหมดป้องกันภายใต้Concurrent DOS 386 1.0 (กุมภาพันธ์ พ.ศ. 2530) [ 11 ]และFlexOS 386 1.0 (มิถุนายน พ.ศ. 2530) [ 12 ]อย่างไรก็ตาม สถาปัตยกรรมของระบบปฏิบัติการแบบมัลติยูเซอร์มัลติทาสกิ้งในโหมดป้องกันเหล่านี้ไม่ได้ใช้ DOS เป็นพื้นฐาน
ระบบปฏิบัติการ Concurrent DOS 386ได้รับการพัฒนาต่อมาเป็นMultiuser DOS (ตั้งแต่ปี 1991) และREAL/32 (ตั้งแต่ปี 1995) ส่วนFlexOS 386ต่อมาได้กลายเป็น4690 OSในปี 1993
VDM ที่ใช้ DOS
ตรงกันข้ามกับระบบปฏิบัติการโหมดป้องกันเหล่านี้ DOS โดยค่าเริ่มต้นเป็นระบบปฏิบัติการโหมดจริง โดยจะสลับไปใช้โหมดป้องกันและโหมดเสมือน 86 เฉพาะเมื่อจำเป็นสำหรับตัวจัดการหน่วยความจำและส่วนขยายของ DOS เพื่อให้สามารถเข้าถึงหน่วยความจำเพิ่มเติมหรือแมปหน่วยความจำเข้าไปในเมกะไบต์แรก ซึ่งโปรแกรม DOS ทั่วไปสามารถเข้าถึงได้
VDM ที่ใช้ DOS ปรากฏขึ้นพร้อมกับWindows/386 2.01 ของ Microsoft ในเดือนกันยายน พ.ศ. 2530 [ 13 ]เครื่องเสมือน DOS ที่ใช้ DOS ยังมีอยู่ในWindows 3.0 , 3.1xและWindows for Workgroups 3.1xที่ทำงานใน โหมด 386 Enhanced Modeเช่นเดียวกับใน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 ] (และ เวอร์ชัน ต่อมา) ก็ใช้ VDM ที่ใช้ DOS เพื่อรองรับการทำงานแบบมัลติทาสกิ้งแบบแย่งชิงของแอปพลิเคชัน DOS หลายตัว เมื่อใช้ตัวเลือกนี้[ 14 ] [ 15 ] [ 16 ]ส่วนประกอบนี้ได้รับการพัฒนาที่Digital Research / Novellตั้งแต่ปี 1991 [ nb 1 ]ภายใต้ชื่อรหัส "Vladivar" (เดิมทีเป็นไดรเวอร์อุปกรณ์แยกต่างหาก[ 1 ] [ 14 ]แทนที่จะเป็นโมดูลของ EMM386) แม้ว่าจะได้รับการพัฒนาเป็นหลักสำหรับ DR DOS เวอร์ชันหลักถัดไป ซึ่งวางจำหน่ายในชื่อ Novell DOS 7 ในปี 1994 [ 1 ] [ 14 ]แต่ก็ยังถูกนำไปใช้ใน โครงการ DR DOS "Panther"และ " Star Trek " ที่ไม่เคยวางจำหน่าย ในปี 1992/1993 อีกด้วยEMM386 /MULTIKRNL386.SYS
OS/2 MVDM
เครื่องเสมือน DOS หลายเครื่อง (MVDM) ถูกใช้ในOS/2 2.0และเวอร์ชันต่อมาตั้งแต่ปี 1992 [ 1 ] [ 4 ] MVDM ของ OS/2 มีประสิทธิภาพมากกว่าNTVDM อย่างมาก ตัวอย่างเช่น รองรับอุปกรณ์บล็อก และสามารถบูต DOS เวอร์ชันต่างๆ ลงใน MVDM ของ OS/2 ได้[ 17 ]ในขณะที่กล่อง DOS ของ OS/2 1.x ใช้ DOS 3.0 เป็นพื้นฐาน MVDM ของ OS/2 2.x จำลอง DOS 5.0 [ 1 ]
การผสานรวม แอปพลิเคชัน Windows 3.1และWin32 รุ่นหลังๆ เข้ากับ OS/2 อย่างราบรื่นนั้น ดูเหมือนจะเป็นการผสานรวมXP Modeเข้ากับWindows Virtual PCในWindows 7 อย่างราบรื่นเช่นกัน ตัวเปลี่ยนเส้นทางใน VDM หรือ NTVDM ของ "แขก" ช่วยให้สามารถเข้าถึงดิสก์ของ OS/2 หรือ NT "โฮสต์" ได้ แอปพลิเคชันใน "แขก" สามารถใช้named pipesเพื่อสื่อสารกับ "โฮสต์" ของตนได้[ 18 ]
เนื่องจากข้อจำกัดทางเทคนิค แอปพลิเคชัน DOS และ Windows 16 บิตภายใต้ OS/2 ไม่สามารถมองเห็นพื้นที่ฮาร์ดไดรฟ์ได้มากกว่า 2 GB [ 19 ]ซึ่งได้รับการแก้ไขในArcaOS 5.0.4 [ 20 ]
วินโดวส์ เอ็นทีวีดีเอ็ม

NTVDM เป็นส่วนประกอบระบบของWindows NT ทุก รุ่นIA-32ตั้งแต่ปี 1993 ที่มีการเปิดตัวWindows NT 3.1โดยอนุญาตให้เรียกใช้แอปพลิเคชัน Windows 16 บิต และแอปพลิเคชัน DOS 16 บิต/32 บิต ไฟล์ปฏิบัติการโหมดผู้ใช้ 32 บิตของ Windows NT ซึ่งเป็นพื้นฐานสำหรับสภาพแวดล้อม DOS เดียว (หรือWindows 3.x )เรียกว่าntvdm.exe [ 1 ]
ในการเรียกใช้โปรแกรม DOS นั้น NTVDM จะโหลดNTIO.SYSซึ่งจะโหลดNTDOS.SYS อีกทีหนึ่ง จากนั้น NTDOS.SYS จะเรียกใช้COMMAND.COM ที่ได้รับการแก้ไข เพื่อเรียกใช้แอปพลิเคชันที่ส่งผ่านไปยัง NTVDM เป็นอาร์กิวเมนต์บรรทัดคำสั่ง ไฟล์ระบบโหมดจริง 16 บิตเป็นไฟล์ที่ตัดทอนมาจากไฟล์IO.SYS , MSDOS.SYSและCOMMAND.COMที่เทียบเท่าในMS-DOS 5.0 [ 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หายไป INT21h/AH=30hINT21h/AX=3306h
มีปัญหาที่เป็นที่รู้จักกันดีภายใน NTVDM ในWindows 2000ซึ่งการขาดแบรนด์ NT ส่งผลให้เกิดการขัดข้องและความไม่เสถียรบ่อยครั้ง ซึ่งเกิดจากการถกเถียงกันนาน 2 เดือนระหว่างBill GatesและJim Allchin [ 21 ]
โดยค่าเริ่มต้น แอปพลิเคชัน Windows 16 บิตทั้งหมดจะทำงานในเธรดของตัวเองภายในกระบวนการ NTVDM เดียว แม้ว่า NTVDM เองจะเป็นกระบวนการ 32 บิตและมีการทำงานแบบมัลติทาสกิ้งแบบแย่งชิงเมื่อเทียบกับส่วนที่เหลือของระบบ แต่แอปพลิเคชัน 16 บิตภายในนั้นจะทำงานแบบมัลติทาสกิ้งแบบร่วมมือกัน เมื่อเลือกตัวเลือก "เรียกใช้ในพื้นที่หน่วยความจำแยกต่างหาก" ใน กล่อง เรียกใช้หรือไฟล์ทางลัดของแอปพลิเคชัน แอปพลิเคชัน Windows 16 บิตแต่ละตัวจะได้รับกระบวนการ NTVDM ของตนเอง และด้วยเหตุนี้จึงมีการทำงานแบบมัลติทาสกิ้งแบบแย่งชิงเมื่อเทียบกับกระบวนการอื่นๆ รวมถึงแอปพลิเคชัน Windows 16 บิตอื่นๆ NTVDM จำลองการเรียกและตาราง BIOS เช่นเดียวกับเคอร์เนล Windows 3.1 และสับ API 16 บิต[ 22 ]เลเยอร์การแปลWoW 32 บิตจะแปลงรูทีน API 16 บิต
การจำลอง DOS 32 บิตมีอยู่สำหรับอินเทอร์เฟซโหมดป้องกันของ DOS (DPMI) และการเข้าถึงหน่วยความจำ 32 บิต เลเยอร์นี้จะแปลงการเรียกหน่วยความจำแบบขยายและเพิ่มเติมที่จำเป็นสำหรับฟังก์ชัน DOS เป็นการเรียกหน่วยความจำ Windows NT wowexec.exeเป็นเลเยอร์การจำลองที่จำลอง Windows 16 บิตWindows XPเพิ่ม การจำลอง Sound Blaster 2.0 [ 23 ]ไดรเวอร์อุปกรณ์เสมือน 16 บิตและ ไดรเวอร์อุปกรณ์บล็อก DOS (เช่น ดิสก์ RAM) ไม่ได้รับการสนับสนุนการสื่อสารระหว่างกระบวนการกับระบบย่อยอื่น ๆ สามารถเกิดขึ้นได้ผ่านOLE , DDEและnamed pipes
เนื่องจากโหมดเสมือน 8086 ไม่สามารถใช้งานได้บนโปรเซสเซอร์ที่ไม่ใช่ แบบ x86 (โดยเฉพาะMIPS , DEC AlphaและPowerPC ) NTVDM จึงถูกนำไปใช้เป็นอีมูเลเตอร์แบบเต็มรูปแบบใน NT เวอร์ชันเหล่านี้ โดยใช้โค้ดที่ได้รับอนุญาตจาก SoftPC ของ Insignia [ 1 ]จนถึงWindows NT 3.51มีเพียงการจำลอง 80286 เท่านั้นที่ใช้งานได้ ในWindows NT 4.0ได้ เพิ่มการจำลอง 486เข้ามา[ 24 ]
NTVDM ไม่ได้รวมอยู่ใน Windows เวอร์ชัน 64 บิต หรือเวอร์ชันที่ใช้ ARM32 เช่นWindows RTหรือ Windows 10 IoT Core Windows เวอร์ชันสุดท้ายที่มีส่วนประกอบนี้คือWindows 10เนื่องจาก Windows 11 ได้ยกเลิกการสนับสนุนโปรเซสเซอร์ 32 บิต แล้ว
คำสั่ง
คำสั่ง 16 บิตต่อไปนี้สำหรับระบบย่อย MS-DOS รวมอยู่ใน Windows XP [ 18 ]
ปัญหาด้านความปลอดภัย
ในเดือนมกราคม 2010 Tavis Ormandyนักวิจัยด้านความปลอดภัยของ Googleได้เปิดเผยช่องโหว่ด้านความปลอดภัยร้ายแรงในการใช้งาน VDM ของ Windows NT ซึ่งอนุญาตให้ผู้ใช้ที่ไม่มีสิทธิ์สามารถยกระดับสิทธิ์ของตนไปถึง ระดับ SYSTEMได้ โดยระบุว่าช่องโหว่นี้มีผลต่อความปลอดภัยของเคอร์เนล Windows NT เวอร์ชัน x86 ทั้งหมดตั้งแต่ปี 1993 ซึ่งรวมถึง Windows NT, 2000, XP, Server 2003, Vista, Server 2008 และ Windows 7 เวอร์ชัน 32 บิตทั้งหมด[ 25 ] Ormandy ได้เผยแพร่ตัวอย่างการโจมตีช่องโหว่[ 26 ]ก่อนที่ Microsoft จะออกแพทช์ความปลอดภัย วิธีแก้ปัญหาชั่วคราวสำหรับปัญหานี้คือการปิดการสนับสนุนแอปพลิเคชัน 16 บิต ซึ่งจะป้องกันไม่ให้โปรแกรมเก่า (โปรแกรมที่เขียนขึ้นสำหรับ DOS และ Windows 3.1) ทำงานได้ Windows เวอร์ชัน 64 บิตจะไม่ได้รับผลกระทบเนื่องจากไม่ได้รวมระบบย่อย NTVDM ไว้ด้วย[ 27 ] [ 28 ]เมื่อติดตั้งแพทช์ความปลอดภัยของ Microsoft ลงในระบบปฏิบัติการที่ได้รับผลกระทบแล้ว VDM ก็สามารถเปิดใช้งานได้อย่างปลอดภัย[ nb 2 ]
ข้อจำกัด
มีข้อจำกัดอยู่ในระบบย่อย 16 บิตของ Windows XP (แต่ไม่มีใน Windows NT เวอร์ชันก่อนหน้า) เนื่องจากขีดจำกัดต่อเซสชันที่เพิ่มขึ้นสำหรับวัตถุ GDI ซึ่งทำให้แฮนเดิล GDI ถูกเลื่อนไปทางขวา 2 บิต เมื่อแปลงจาก 32 บิตเป็น 16 บิต[ 29 ]ส่งผลให้แฮนเดิลจริงไม่สามารถมีขนาดใหญ่กว่า 14 บิต และด้วยเหตุนี้แอปพลิเคชัน 16 บิตที่ได้รับแฮนเดิลที่มีขนาดใหญ่กว่า 16384 จากระบบ GDI จะเกิดข้อผิดพลาดและยุติการทำงานพร้อมข้อความแสดงข้อผิดพลาด[ 29 ]
โดยทั่วไปแล้ว VDM และเทคโนโลยีที่คล้ายคลึงกันไม่สามารถเล่นเกม DOS เก่าๆ ส่วนใหญ่บนคอมพิวเตอร์ในปัจจุบันได้อย่างราบรื่น การจำลองนั้นทำได้เฉพาะอุปกรณ์ต่อพ่วงพื้นฐานที่สุดเท่านั้น และมักจะทำได้ไม่สมบูรณ์ ตัวอย่างเช่น การจำลองเสียงใน NTVDM นั้นมีข้อจำกัดมาก ระบบปฏิบัติการ Windows ตระกูล NT จะอัปเดตหน้าจอจริงเพียงไม่กี่ครั้งต่อวินาทีเมื่อโปรแกรม DOS เขียนข้อมูลลงไป และจะไม่จำลองโหมดกราฟิกที่มีความละเอียดสูงกว่า เนื่องจากซอฟต์แวร์ส่วนใหญ่ทำงานที่ความเร็วของ CPU หลักการวนรอบเวลา ทั้งหมด จึงจะหมดอายุลงก่อนกำหนด ส่งผลให้เกมทำงานเร็วเกินไป หรือทำให้ซอฟต์แวร์ไม่รับรู้ถึงอุปกรณ์ต่อพ่วงฮาร์ดแวร์ที่จำลองขึ้นมาเลย เพราะมันไม่ได้รอคำตอบนานพอ
ไม่มีในสถาปัตยกรรม x64 และ AArch64
ในซีพียูx86-64 โหมดเสมือน 8086จะใช้งานได้เฉพาะในโหมดดั้งเดิม (สำหรับการเรียกใช้ระบบปฏิบัติการ 16 บิตและ 32 บิต) เท่านั้น ไม่ใช่ในโหมด 64 บิตแบบยาวดั้งเดิม[ 30 ] NTVDM ไม่ได้รับการสนับสนุนใน Windows รุ่น x86-64 [ 31 ]รวมถึงโปรแกรม DOS [ 32 ]เนื่องจาก NTVDM ใช้โหมดซีพียู VM86 แทนตารางตัวอธิบายโลคัล เพื่อเปิดใช้งานส่วน 16 บิตที่จำเป็นสำหรับการกำหนดแอดเดรส[ 33 ] NTVDM ยังไม่สามารถใช้งานได้ใน Windows เวอร์ชัน AArch64 (หรือ ARM64) (เช่นWindows RT ) เนื่องจาก Microsoft ไม่ได้ปล่อยอีมูเลเตอร์แบบเต็มสำหรับชุดคำสั่งที่ไม่เข้ากันนี้ เหมือนกับที่เคยทำในสถาปัตยกรรมที่ไม่เข้ากันก่อนหน้านี้
แม้ว่า NTVDM จะไม่ได้รับการสนับสนุนบน Windows เวอร์ชัน x86-64 และ AArch64 แต่ก็ยังสามารถเรียกใช้งานได้โดยใช้ ซอฟต์แวร์เวอร์ ชวลไลเซชันเช่นWindows XP ModeในWindows 7 เวอร์ชันที่ไม่ใช่ Home หรือVMware Workstationวิธีการอื่นๆ ได้แก่ การใช้เวอร์ชันจากReactOS [ 34 ]หรือ WineVDM/OTVDM (ดูด้านล่าง) [ 35 ]
ไวน์วีดีเอ็ม
VDM ถูกรวมอยู่ในWineและCrossOverสำหรับ Linux และ Mac OS X ซึ่งรู้จักกันในชื่อ WineVDM (หรือที่รู้จักกันในชื่อ OTVDM) โดยอิงจาก การจำลอง i386 ของ MAMEและส่วน 16 บิตของเลเยอร์ความเข้ากันได้ของ Windows ที่ได้รับความนิยมอย่างWine [ 35 ] นอกจากนี้ยังได้รับการพอร์ตไปยัง Windows เองด้วย เนื่องจาก Windows เวอร์ชัน 64 บิตไม่ได้รวมระบบย่อย NTVDM ไว้ (ดูด้านบน) [ 36 ]
ดูเพิ่มเติม
- การเปรียบเทียบซอฟต์แวร์การจำลองเสมือนแพลตฟอร์ม
- DESQview 386 (ตั้งแต่ปี 1988)
- ไวน์ (ซอฟต์แวร์)
- ดOSBox
- โดเซมู
- โปรแกรมผสาน (Merge)
- รายชื่อส่วนประกอบของ Microsoft Windows
- ไฮเปอร์ไวเซอร์
- ระบบปฏิบัติการ Windows บน Windows (WoW)
- เครื่องเสมือน (VM)
หมายเหตุ
- ไฟล์ KRNL386.SYS ของ DR DOS "Panther"มีข้อความลิขสิทธิ์ "1991,1992"
- ^สามารถเปิดใช้งาน VDM ที่ถูกปิดใช้งานได้อีกครั้งโดยการตั้งค่าคีย์รีจิสทรีที่เกี่ยวข้องกลับเป็นค่า
"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat\VDMDisallowed"=dword:00000000เดิม
อ่านเพิ่มเติม
- Pietrek, Matt (สิงหาคม 1998). "Under The Hood สิงหาคม 1998" . Microsoft Systems Journal . เก็บถาวรจากต้นฉบับเมื่อ 20 เมษายน 2000 – ผ่านทาง www.microsoft.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เหมือนกับ คำสั่ง startใน Windows)
- MS-DOS Player สำหรับ Win32-x64 ซึ่งเป็นโปรแกรมจำลอง MS-DOS ของ Microsoft สามารถเรียกใช้โปรแกรมบรรทัดคำสั่ง DOS หลายโปรแกรม เช่น คอมไพเลอร์ หรือเครื่องมืออื่นๆ โดยทั้งหมดถูกบรรจุอยู่ในไฟล์ปฏิบัติการแบบสแตนด์อโลนไฟล์เดียว
- vDOSคือโปรแกรมจำลอง DOS ที่ออกแบบมาเพื่อใช้งานแอปพลิเคชัน DOS ที่ซับซ้อนกว่า (ไม่ใช่เกม) บนระบบ NT 64 บิต (โดยพื้นฐานแล้วเป็นการทดแทน NTVDM ในระบบสมัยใหม่)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เครื่องเสมือน DOS
เครื่องเสมือน DOS (Virtual DOS Machines หรือ VDM ) หมายถึงเทคโนโลยีที่ช่วยให้สามารถเรียกใช้ โปรแกรม DOS 16 บิต/32 บิต และ โปรแกรม Windows 16 บิต ได้ เมื่อมี ระบบปฏิบัติการ อื่น...
ภาพรวม
เครื่องเสมือน DOS สามารถทำงานได้โดยใช้เพียงวิธี การจำลองซอฟต์แวร์ ทั่วไป (เช่น การคอมไพล์แบบไดนามิก ) หรืออาจใช้ โหมดเสมือน 8086 ของ โปรเซสเซอร์ Intel 80386 ซึ่งช่วยให้ ซอฟต์แวร์ โหมดจริง 8086 ทำงานในสภาพแวดล้อมที่มีการควบคุม...
โหมดจำลอง DOS 8086 แบบพร้อมกัน
ในเดือนมกราคม พ.ศ. 2528 Digital Research ร่วมกับ Intel ได้เปิดตัว Concurrent DOS 286 1.
VDM ที่ใช้ DOS
ตรงกันข้ามกับระบบปฏิบัติการโหมดป้องกันเหล่านี้ DOS โดยค่าเริ่มต้นเป็นระบบปฏิบัติการโหมดจริง โดยจะสลับไปใช้โหมดป้องกันและโหมดเสมือน 86 เฉพาะเมื่อจำเป็นสำหรับตัวจัดการหน่วยความจำและส่วนขยายของ DOS...