อ่าน 3 นาที
วินโดวส์บนวินโดวส์
ในด้าน คอมพิวเตอร์ Windows on Windows (เรียกกันทั่วไปว่า WOW ) [ 1 ] [ 2 ] [ 3 ] เป็น เลเยอร์ความเข้ากันได้ ที่เลิกใช้แล้ว ของ ระบบปฏิบัติการ ตระกูล Windows NT เวอร์ชัน 32 บิต...
วินโดวส์บนวินโดวส์
| วินโดวส์บนวินโดวส์ | |
|---|---|
| ชื่ออื่นๆ | ว้าว |
| นักพัฒนา | ไมโครซอฟต์ |
| ปล่อย | 27 กรกฎาคม 2536 |
| ระบบปฏิบัติการ | ไมโครซอฟต์ วินโดวส์ |
| แพลตฟอร์ม | ไอเอ-32 |
| พิมพ์ | เลเยอร์ความเข้ากันได้ |
| ใบอนุญาต | ซอฟต์แวร์เชิงพาณิชย์ที่เป็นกรรมสิทธิ์ |
ในด้านคอมพิวเตอร์Windows on Windows (เรียกกันทั่วไปว่าWOW ) [ 1 ] [ 2 ] [ 3 ]เป็นเลเยอร์ความเข้ากันได้ ที่เลิกใช้แล้ว ของระบบปฏิบัติการตระกูลWindows NTเวอร์ชัน32 บิตตั้งแต่ปี 1993 ด้วยการเปิดตัวWindows NT 3.1 WoW ได้ขยายNTVDMเพื่อให้การสนับสนุนที่จำกัดสำหรับการเรียกใช้ โปรแกรม 16 บิตแบบเก่าที่เขียนขึ้นสำหรับWindows 3.xหรือรุ่นก่อนหน้า มีระบบย่อยที่คล้ายกันที่เรียกว่าWoW64ใน Windows เวอร์ชัน 64 บิตที่เรียกใช้โปรแกรม 32 บิต
ระบบย่อยนี้ถูกยกเลิกการใช้งานพร้อมกับการ สิ้นสุด การสนับสนุนWindows 10ในวันที่ 14 ตุลาคม 2025 เวอร์ชันสุดท้ายของ Windows ที่มีระบบย่อยนี้คือ Windows 10 เนื่องจากWindows 11 (และWindows Server 2008 R2 และเวอร์ชันที่ใหม่กว่า) ทำงานกับโปรเซสเซอร์ x86-64ในโหมดระยะยาวเท่านั้นจึงไม่สามารถเรียกใช้ซอฟต์แวร์ 16 บิตได้หากไม่มีซอฟต์แวร์จำลอง
พื้นหลัง
โปรแกรมเก่าๆ ของ Windows ที่ใช้สถาปัตยกรรม 16 บิตจำนวนมาก สามารถทำงานได้โดยไม่ต้องเปลี่ยนแปลงใดๆ บนWindows เวอร์ชัน32 บิต ที่ใหม่กว่า เหตุผลที่ผู้พัฒนาทำให้เป็นไปได้เช่นนี้ก็เพื่อให้ผู้พัฒนาซอฟต์แวร์มีเวลาแก้ไขซอฟต์แวร์ของตนในช่วงเปลี่ยนผ่านของอุตสาหกรรมจาก Windows 3.1ไปสู่Windows 95และเวอร์ชันต่อๆ ไป โดยไม่จำกัดความสามารถในการอัปเกรดระบบปฏิบัติการเป็นเวอร์ชันปัจจุบันก่อนที่ โปรแกรม ทั้งหมดที่ลูกค้าใช้งานจะได้รับการแก้ไขเรียบร้อยแล้ว
ระบบปฏิบัติการ Windows 9xซึ่งมีรากฐานมาจากDOSทำงานเป็นระบบไฮบริด 16 บิตและ 32 บิต ในแง่ที่ว่าระบบปฏิบัติการพื้นฐานไม่ใช่ 32 บิตอย่างแท้จริง ดังนั้นจึงสามารถเรียกใช้ซอฟต์แวร์ 16 บิตได้โดยตรงโดยไม่ต้องใช้การจำลองพิเศษใดๆ ระบบปฏิบัติการ Windows NTมีสถาปัตยกรรมที่แตกต่างจาก Windows 9x อย่างมาก ดังนั้นจึงต้องการวิธีแก้ปัญหาที่ซับซ้อนกว่า มีกลยุทธ์สองแบบที่ใช้เพื่อให้โปรแกรม 16 บิตทำงานบน Windows เวอร์ชัน 32 บิต (โดยมี ข้อจำกัด ในการทำงาน บางประการ) กลยุทธ์ เหล่านั้นเรียกว่าthunkingและshimming
การคิด
ระบบย่อย WOW ของระบบปฏิบัติการจะแปลง API 16 บิตแบบเดิมให้เป็น API 32 บิตรุ่นใหม่กว่าเพื่อรองรับตัวชี้ 16 บิต โมเดล หน่วยความจำ และพื้นที่แอดเดรส
โดยปกติแล้ว โปรแกรม 16 บิตทั้งหมดจะทำงานในเครื่องเสมือน DOS เดียวกัน โดยใช้พื้นที่หน่วยความจำร่วมกัน อย่างไรก็ตาม สามารถกำหนดค่าให้ทำงานในพื้นที่หน่วยความจำแยกต่างหากได้ ซึ่งในกรณีนี้ แต่ละกระบวนการ 16 บิตจะมีเครื่องเสมือน เฉพาะของตนเอง พื้นที่หน่วยความจำแยกต่างหากจะช่วยเพิ่มเสถียรภาพของระบบโดยป้องกันไม่ให้โปรแกรม 16 บิตที่มีข้อบกพร่องรบกวนซึ่งกันและกัน แต่ก็แลกมาด้วยการสื่อสารระหว่างกระบวนการ 16 บิตที่ลดลง และการใช้หน่วยความจำที่เพิ่มขึ้น
กระบวนการWOWEXEC.EXEบน ระบบ Windows NTช่วยให้สามารถใช้งาน Windows บน Windows ได้[ 4 ] [ 5 ]นอกจากการจำลองเคอร์เนลWindows 95และWindows 98 แล้ว ไฟล์WIN.COMยังจำลอง เคอร์เนล Windows 3.xสำหรับNTVDMซึ่งรันแอปพลิเคชัน Windows ที่ใช้ DOS 16 บิตบน Windows NT
การชิม
ปัญหาความเข้ากันได้ของแอปพลิเคชัน โดยเฉพาะอย่างยิ่งเกี่ยวกับชื่อไฟล์ที่ยาวผู้ใช้หลายคน และแนวคิดเรื่องสิทธิ์ขั้นต่ำอาจทำให้บางแอปพลิเคชันทำงานไม่ได้ ตัวอย่างเช่น แอปพลิเคชันเหล่านั้นอาจเข้าใจผิดว่ามีสิทธิ์ในการเขียนอย่างเต็มที่ในระบบไฟล์ ทั้งหมด ในขณะที่ ระบบรักษาความปลอดภัย NTFSกำลังใช้งานอยู่
ในการออกแบบระบบปฏิบัติการ Windows 95 ข้อกำหนดสำคัญประการหนึ่งคือระบบไฟล์ต้องรักษาความเข้ากันได้กับชื่อไฟล์ของ Windows 8.3เพื่อให้แอปพลิเคชันรุ่นเก่าสามารถทำงานบนแพลตฟอร์มต่อไปได้ ดังนั้นระบบปฏิบัติการ Windows 95 และรุ่นต่อมาจึงรองรับโหมดความเข้ากันได้ที่จัดเก็บทั้งชื่อไฟล์แบบยาวและแบบสั้นไว้ในรายการไดเร็กทอรี
นอกจากนี้ แอปพลิเคชันรุ่นเก่าที่พยายามเข้าถึงฮาร์ดแวร์โดยตรงไม่สามารถทำได้ในโหมดผู้ใช้แอปพลิเคชันรุ่นเก่าอาจล้มเหลวหากไฟล์การกำหนดค่าระบบจากยุค DOS และ Windows 9x ไม่ปรากฏในเคอร์เนลที่ใช้ Windows NT ซึ่งเป็นเหตุผลที่ต้องมีการคัดลอกไฟล์เวอร์ชันขนาดศูนย์ เช่นAUTOEXEC.BATและCONFIG.SYSไปยังระบบปฏิบัติการที่ไม่ใช้ไฟล์เหล่านั้น
มีชิมจำนวนมากอยู่ในเลเยอร์ความเข้ากันได้ของแอปพลิเคชันใน Windows เวอร์ชันหลังๆ เพื่อดักจับและแก้ไข การเรียก APIที่ทำโดยแอปพลิเคชันรุ่นเก่าที่เขียนขึ้นโดยคำนึงถึงสมมติฐานและแนวทางปฏิบัติที่ดีที่สุดของระบบปฏิบัติการที่แตกต่างกัน[ 6 ] การแก้ไขเหล่านี้ได้รับการอัปเดตเป็นระยะๆ เมื่อพบปัญหาในแอปพลิเคชันรุ่นเก่าที่เป็นที่นิยมซึ่งยังคงใช้งานอยู่[ 7 ]
ดูเพิ่มเติม
- ไวน์ (ซอฟต์แวร์)
- OTVDMเป็นโปรเจกต์จากบุคคลที่สามซึ่งใช้โค้ดจาก Wine เพื่อเรียกใช้โปรแกรม Windows 16 บิตบน Windows เวอร์ชัน 64 บิต
ลิงก์ภายนอก
- ระบบย่อยของ Windows NT
- NTVDM และ WOW คืออะไร?
- "การตรวจสอบแอปพลิเคชัน Windows 16 บิต" TechNet. Microsoft. เก็บถาวรจากต้นฉบับเมื่อวันที่ 25 ธันวาคม 2550
- ปรับปรุงวิธีการทำงานของโปรแกรม 16 บิตและโปรแกรมที่ใช้ MS-DOS บน Windows 7