เมื่อคอมพิวเตอร์เริ่มใช้สถาปัตยกรรม 64 บิตที่ทันสมัย ผู้ใช้ก็ตระหนักว่าการเรียกใช้แอปพลิเคชัน 16 บิตแบบเก่าจะไม่ทำงาน เหตุใดเครื่อง 64 บิตจึงเรียกใช้แอป 16 บิตไม่ได้
คำตอบสำหรับคำถามนั้นอาจสร้างความสับสนได้ ขึ้นอยู่กับว่าคุณถามใคร ประการหนึ่ง เป็นไปไม่ได้เลยที่จะเรียกใช้แอป 16 บิต มันแค่ยาก ประการที่สอง สาเหตุของความยากลำบากนี้อยู่ในทั้งสถาปัตยกรรม CPU และ ระบบปฏิบัติการ
งงยัง? ไม่ต้องกังวล คุณไม่ได้อยู่คนเดียว แต่เมื่ออ่านจนจบบทความนี้ คุณจะไม่สับสนอีกต่อไป
ประวัติสถาปัตยกรรม CPU
ฉันรู้ สิ่งสุดท้ายที่คุณอยากอ่านคือบทเรียนประวัติศาสตร์ใช่ไหม ไม่ต้องกังวล นี่เป็นเรื่องสั้น สิ่งสำคัญคือต้องทำความเข้าใจว่าเหตุใดระบบ 64 บิตจึงไม่สามารถเรียกใช้แอป 16 บิตแบบเนทีฟได้
หากคุณมีชีวิตอยู่ในยุค 80 และ 90 คุณอาจจำไดโนเสาร์ 16 บิตเก่าเหล่านั้นที่ทุกคนในเวลานั้นเชื่อว่าเป็นเทคโนโลยีที่ล้ำหน้าได้
ในขณะนั้นก็คือ เครื่องเก่าเหล่านั้นใช้ Intel 8086 โปรเซสเซอร์ในปี 1978 โปรเซสเซอร์สามารถเข้าถึงพื้นที่ที่อยู่ 1Mb โดยใช้การกำหนดแอดเดรส 16 บิต เนื่องจากเครื่องรุ่นก่อนใช้หน่วยความจำ 64 Kb นี่เป็นความก้าวหน้าครั้งใหญ่และเป็นจุดเริ่มต้นของยุคใหม่ในการประมวลผลส่วนบุคคล
ในโหมดนี้ (เรียกว่า โหมดจริง ) ส่วนหนึ่งสงวนไว้สำหรับ RAM และส่วนที่เหลือถูกใช้โดย BIOS และฮาร์ดแวร์คอมพิวเตอร์ เช่น การ์ดกราฟิก
ต่อมาไม่นานก็มีความก้าวหน้าเพิ่มเติมในสถาปัตยกรรม CPU ด้วยโปรเซสเซอร์ 80286 ซึ่งสามารถระบุที่อยู่ 16Mb โดยใช้การกำหนดแอดเดรสแบบ 16 บิต ด้วยสถาปัตยกรรม 286 "โหมดที่ได้รับการป้องกัน" มาพร้อมกับคุณสมบัติที่ไม่เพียงแต่อนุญาตให้ระบุที่อยู่ของหน่วยความจำที่มากขึ้นเท่านั้น แต่ยังรวมถึงการทำงานหลายอย่างพร้อมกันด้วย การเรียกใช้แอปพลิเคชัน 16 บิตที่เก่ากว่าใน "โหมดจริง" ไม่ใช่เรื่องง่ายเสมอไป แต่ก็เป็นไปได้
จุดสิ้นสุดของ 16-Bit เรียงลำดับ...
ในปี 1985 Intel ได้เปิดตัวโปรเซสเซอร์รุ่นใหม่:Intel 386 ซึ่งเป็น CPU ตัวแรกของ Intel ที่สามารถระบุหน่วยความจำได้โดยใช้ 32 บิตในแต่ละครั้ง และสามารถเข้าถึงหน่วยความจำที่สามารถระบุตำแหน่งได้ขนาด 4 Gb ในขณะนั้นผู้ใช้คอมพิวเตอร์ดูเหมือนจะเป็นความก้าวหน้าครั้งสำคัญ เกม PC กำลังจะเข้าสู่ความมั่งคั่ง
นอกเหนือจากการถือกำเนิดของสถาปัตยกรรม 32 บิตแล้ว ยังมีโหมดที่ได้รับการป้องกัน ที่ไม่เพียงแต่อนุญาตให้เข้าถึงหน่วยความจำได้มากขึ้นเท่านั้น แต่ยังรวมถึงชุดคุณลักษณะที่ซอฟต์แวร์สามารถตั้งค่าสถานะไปยังระบบ ไม่ว่าจะเป็นรหัส 16 บิตหรือ 32 บิต สิ่งนี้เกิดขึ้นได้ด้วยสิ่งที่เรียกว่า โหมด Virtual 86 ซึ่งโดยพื้นฐานแล้วคือระบบ 8086 เสมือนจริงในตัว
อย่างที่คุณเห็น จากวิวัฒนาการขั้นหนึ่งของสถาปัตยกรรม CPU ไปสู่อีกขั้น ทั้งฮาร์ดแวร์ (การเขียนโปรแกรม CPU) และซอฟต์แวร์ (ระบบปฏิบัติการและแอปพลิเคชัน) ยังคงความเข้ากันได้แบบย้อนหลังสำหรับผู้ใช้ทั้งหมดที่ยังมีซอฟต์แวร์เก่ามากที่ต้องการ วิ่ง. สำหรับผู้ใช้คอมพิวเตอร์แต่ละราย สิ่งนี้มีประโยชน์ แต่สำหรับองค์กรและธุรกิจขนาดเล็กจำนวนมาก จำเป็นอย่างยิ่งต่อระบบเดิม
สถาปัตยกรรม 64 บิตทำลายทุกอย่าง
ขีด จำกัด ของหน่วยความจำที่สามารถระบุตำแหน่งได้ 4GB ยังคงเป็นไม้ค้ำยันสำหรับระบบ 32 บิตเป็นเวลาหลายปี อย่างไรก็ตาม ด้วยการประดิษฐ์โปรเซสเซอร์ 64 บิต ก็มีความก้าวหน้าอีกขั้น ระบบเหล่านี้รวมโหมดใหม่ (เรียกว่า โหมดยาว ) สามารถระบุหน่วยความจำได้มากถึง 16 ล้านเทราไบต์ อาจใช้เวลานานกว่าที่สิ่งนี้จะกลายเป็นปัจจัยจำกัดสำหรับการใช้งานคอมพิวเตอร์
อย่างไรก็ตาม ด้วยความก้าวหน้ามหาศาลนี้ทำให้เกิดการแลกเปลี่ยนที่สำคัญ เมื่อผู้ใช้พยายามเรียกใช้แอปพลิเคชัน 16 บิตที่ต้องใช้ "โหมดจริง" หรือ "โหมดเสมือน 8086" ที่ได้รับการสนับสนุนเป็นเวลานาน พวกเขาพบข้อความแสดงข้อผิดพลาดที่ระบุว่า "Program.exe ไม่ใช่แอปพลิเคชัน Win32 ที่ถูกต้อง"
มันน่าผิดหวัง แต่ก็ไม่ใช่จุดจบของโลก ผู้ใช้สามารถใช้โปรแกรมจำลองหรือติดตั้งเครื่องเสมือนที่ใช้สถาปัตยกรรม 32 บิตและระบบปฏิบัติการที่สามารถรองรับแอปพลิเคชัน 16 บิตแบบเดิมได้
ดังนั้น แม้ว่าระบบ 64 บิตจะ "เป็นไปไม่ได้" ที่จะเรียกใช้แอปพลิเคชัน MS-DOS แบบ 16 บิต แต่ก็ใช่ว่าจะเป็นไปไม่ได้ที่ผู้ใช้จะใช้วิธีแก้ปัญหาชั่วคราว แต่ทำไมสิ่งนี้ถึงเกิดขึ้น?
สถาปัตยกรรม 64 บิตลบ NTVDM
ในโปรเซสเซอร์ 32 บิตทุกรุ่นตลอดหลายปีที่ผ่านมา มีความพยายามอย่างมากในระบบปฏิบัติการเพื่อให้ระบบจัดการกับแอปพลิเคชัน DOS รุ่น 16 บิตที่เก่ากว่า สำเร็จโดยใช้สิ่งที่เรียกว่า NTVDM หรือ NT Virtual DOS Machine
แอปพลิเคชัน 32 บิตนี้ทำงานในระบบปฏิบัติการ Windows และจำลองสถาปัตยกรรม 486 ที่สามารถจัดการที่อยู่แบบ 16 บิตโดยใช้ 8086 เสมือนได้ น่าเสียดายที่การกำหนดแอดเดรส "โหมดยาว" ไม่สามารถรองรับสิ่งนี้ได้อย่างปลอดภัย แต่จะต้องจำลองโปรเซสเซอร์ 8086 เต็มรูปแบบเพื่อรองรับแอปพลิเคชัน DOS ที่รันอยู่
Microsoft ได้ตัดสินใจที่จะละทิ้งความพยายามนี้อย่างชัดเจนเพื่อสนับสนุนการเปิดตัวระบบปฏิบัติการ 64 บิตตัวแรก ในหน้าการสนับสนุน Microsoft ระบุอย่างชัดเจนว่า "ยูทิลิตี้ MS-DOS 16 บิตและ Microsoft Windows 3.x จะไม่เริ่มทำงาน"
ไม่ขอโทษ. ไม่รองรับเลย
ด้วยผลิตภัณฑ์เวอร์ชวลไลเซชันที่มีอยู่มากมายในตลาดที่สามารถทำสิ่งนี้ได้ Microsoft ไม่ได้รู้สึกอย่างชัดเจนว่าการสร้างวงล้อใหม่นั้นเป็นไปเพื่อผลประโยชน์สูงสุด
วิธีเรียกใช้แอปพลิเคชัน 16 บิตบนระบบ 64 บิต
เพียงเพราะไม่รองรับการใช้งานแอพพลิเคชั่น DOS รุ่น 16 บิตในระบบ Windows 64 บิต ไม่ได้หมายความว่าจะเป็นไปไม่ได้ คุณเพียงแค่ต้องติดตั้งเครื่องมือพิเศษบางอย่างเพื่อตั้งค่า
หากคุณชอบเกม DOS สุดคลาสสิก หรือใช้แอปพลิเคชั่นย้อนยุคอื่น ๆ จากยุคก่อน ๆ ของการคำนวณ มีตัวเลือกมากมาย ต่อไปนี้คือสี่วิธีที่คุณสามารถเรียกใช้บนเครื่อง Windows ใหม่ของคุณ
1. เล่นเกมย้อนยุคด้วย DOSBox
วิธีที่ง่ายที่สุดวิธีหนึ่งในการเรียกใช้แอป DOS เก่าบนพีซีของคุณคือการใช้โปรแกรมจำลอง หนึ่งในสิ่งที่ได้รับความนิยมมากที่สุดคือ DOSBox
Christian ให้รายละเอียดวิธีการติดตั้งและกำหนดค่า DOSBox เพื่อเรียกใช้เกมย้อนยุคแบบเก่าบนเครื่อง Windows ของคุณ
สิ่งที่ยอดเยี่ยมเกี่ยวกับเรื่องนี้ก็คือ เกมเหล่านี้ส่วนใหญ่เก่ามากจนถูกพิจารณาว่าเป็นซอฟต์แวร์ละทิ้ง ดังนั้นคุณจึงสามารถดาวน์โหลดและเล่นได้ฟรีอย่างถูกกฎหมาย
2. เรียกใช้แอปภายใน VirtualBox
เนื่องจากระบบปฏิบัติการ เช่น Windows XP และ Windows 7 สามารถเรียกใช้แอปพลิเคชัน 16 บิตโดยกำเนิด คุณจึงสามารถเรียกใช้แอปพลิเคชันเดียวกันบนระบบ 64 บิตได้โดยการสร้างเครื่องเสมือนที่มีระบบปฏิบัติการดังกล่าว
VirtualBox แอปพลิเคชั่นที่เป็นที่รู้จักและติดตั้งง่ายที่สุดตัวหนึ่ง เรามีคำแนะนำฉบับสมบูรณ์เกี่ยวกับวิธีตั้งค่าและใช้งาน VirtualBox ดังนั้นคุณจึงสามารถเริ่มต้นโดยใช้แนวทางนี้ได้ทันที
เพียงตรวจสอบให้แน่ใจว่าได้เลือกระบบปฏิบัติการที่เหมาะสมในการติดตั้ง ติดกับ Windows 7 หรือเก่ากว่า และคุณสามารถดาวน์โหลดและติดตั้งแอป DOS เก่าบนระบบเสมือนของคุณได้อย่างรวดเร็ว
3. ใช้ลินุกซ์
พูดในสิ่งที่คุณต้องการเกี่ยวกับ Linux สิ่งหนึ่งที่ Linux distros ส่วนใหญ่มีสิทธิ์คือรองรับแอปพลิเคชัน 16 บิต Distros ด้วย PAE kernal คุณไม่ได้จำกัดอยู่ที่ 4GB ของระบบ 32 บิต ดังนั้นการรัน Linux distro ที่เหมาะสมเป็น dual-boot บนระบบของคุณจึงเป็นอีกทางเลือกหนึ่ง
สองตัวเลือกในการทำเช่นนี้:โซลูชันดูอัลบูตหรือเครื่องเสมือน หรือคุณสามารถทิ้ง Windows ทั้งหมดแล้วใช้ Linux อะไรก็ได้ที่เหมาะกับคุณ
4. ใช้โปรแกรมจำลอง
DOSBox ไม่ใช่อีมูเลเตอร์เพียงตัวเดียวที่มีให้สำหรับการเรียกใช้แอป DOS รุ่นเก่า มีอีมูเลเตอร์ที่ยอดเยี่ยมมากมายที่ใช้งานได้เช่นเดียวกัน โดยเฉพาะอย่างยิ่งหากคุณเป็นนักเล่นเกม
Christian ได้กล่าวถึงวิธีการเลียนแบบ Commodore Amiga, Raspberry Pi, Android และแม้แต่ SNES แบบคลาสสิกบนพีซีทุกเครื่อง
นี่เป็นเพียงส่วนปลายของภูเขาน้ำแข็ง หากคุณค้นหาทางออนไลน์ คุณจะได้พบกับไลบรารี่ของอีมูเลเตอร์ต่างๆ มากมาย ที่จะช่วยให้คุณเรียกใช้แอปย้อนยุคแทบทุกอย่างที่คุณจินตนาการได้ Microsoft อาจเลิกใช้แอปพลิเคชัน 16 บิตแบบเก่าไปแล้ว แต่คุณยังมีตัวเลือก
อย่ายอมแพ้ 16-Bit
ไม่มีเหตุผลใดที่คุณควรคิดว่ามันเป็นไปไม่ได้ เพื่อเรียกใช้แอปพลิเคชัน 16 บิตบนเครื่อง 64 บิต มันอาจเป็นไปไม่ได้โดยกำเนิด แต่อย่างที่คุณเห็นมีวิธีแก้ปัญหามากมายที่จะทำให้งานนี้สำเร็จ