เหตุใดระบบปฏิบัติการ 64 บิตจึงไม่สามารถเรียกใช้แอป 16 บิตได้

เหตุใดระบบปฏิบัติการ 64 บิตจึงไม่สามารถเรียกใช้แอป 16 บิตได้

เมื่อคอมพิวเตอร์เริ่มใช้สถาปัตยกรรม 64 บิตที่ทันสมัย ​​ผู้ใช้ก็ตระหนักว่าการเรียกใช้แอปพลิเคชัน 16 บิตแบบเก่าเหล่านั้นจะไม่ทำงาน เหตุใดเครื่อง 64 บิตจึงไม่สามารถเรียกใช้แอป 16 บิตได้





คำตอบสำหรับคำถามนั้นอาจสร้างความสับสนได้ ขึ้นอยู่กับว่าคุณถามใคร ประการหนึ่ง เป็นไปไม่ได้เลยที่จะเรียกใช้แอป 16 บิต มันแค่ยาก ประการที่สอง สาเหตุของความยุ่งยากนี้อยู่ที่ทั้งสถาปัตยกรรมของ CPU และ ระบบปฏิบัติการ





งงยัง? ไม่ต้องกังวล คุณไม่ได้อยู่คนเดียว แต่เมื่อถึงตอนท้ายของบทความนี้ คุณจะไม่สับสนอีกต่อไป





ประวัติสถาปัตยกรรมซีพียู

ฉันรู้ สิ่งสุดท้ายที่คุณอยากอ่านคือบทเรียนประวัติศาสตร์ใช่ไหม ไม่ต้องกังวล นี่เป็นเรื่องสั้น สิ่งสำคัญคือต้องทำความเข้าใจด้วยว่าเหตุใดระบบ 64 บิตจึงไม่สามารถเรียกใช้แอป 16 บิตได้

หากคุณมีชีวิตอยู่ในยุค 80 และ 90 คุณอาจจำไดโนเสาร์ 16 บิตเก่า ๆ ที่ทุกคนในเวลานั้นเชื่อว่าเป็นเทคโนโลยีที่ล้ำหน้า



ในขณะนั้นก็คือ เครื่องเก่าเหล่านั้นวิ่ง อินเทล 8086 โปรเซสเซอร์ในปี 1978 โปรเซสเซอร์สามารถเข้าถึงพื้นที่ที่อยู่ 1Mb โดยใช้การกำหนดแอดเดรส 16 บิต เนื่องจากเครื่องรุ่นก่อนใช้หน่วยความจำ 64 Kb นี่เป็นความก้าวหน้าครั้งใหญ่และเป็นจุดเริ่มต้นของยุคใหม่ในการประมวลผลส่วนบุคคล

ในโหมดนี้ (เรียกว่า โหมดจริง ) ส่วนหนึ่งสงวนไว้สำหรับ RAM และส่วนที่เหลือถูกใช้โดย BIOS และฮาร์ดแวร์คอมพิวเตอร์ เช่น การ์ดกราฟิก





ต่อมาไม่นานก็มีความก้าวหน้าเพิ่มเติมในสถาปัตยกรรม CPU ด้วยโปรเซสเซอร์ 80286 ซึ่งสามารถระบุที่อยู่ 16Mb โดยใช้การกำหนดแอดเดรสแบบ 16 บิต ด้วยสถาปัตยกรรม 286 จึงมี 'โหมดป้องกัน' พร้อมคุณสมบัติที่ไม่เพียงแต่อนุญาตให้ระบุที่อยู่ของหน่วยความจำที่มากขึ้นเท่านั้น แต่ยังรวมถึงการทำงานหลายอย่างพร้อมกันด้วย การเรียกใช้แอปพลิเคชัน 16 บิตที่เก่ากว่าใน 'โหมดจริง' ไม่ใช่เรื่องง่ายเสมอไป แต่ก็เป็นไปได้

จุดสิ้นสุดของ 16 บิต เรียงจาก...

ในปี 1985 Intel ได้เปิดตัวโปรเซสเซอร์รุ่นใหม่: Intel 386 ซึ่งเป็น CPU ตัวแรกของ Intel ที่สามารถระบุหน่วยความจำได้โดยใช้ 32 บิตในแต่ละครั้ง และสามารถเข้าถึงหน่วยความจำแอดเดรสได้ขนาด 4 Gb ในขณะนั้นผู้ใช้คอมพิวเตอร์ดูเหมือนจะเป็นความก้าวหน้าครั้งสำคัญ เกมพีซีกำลังจะเข้าสู่ความมั่งคั่ง





พร้อมกับการถือกำเนิดของสถาปัตยกรรม 32 บิต ก็มีเวอร์ชันเพิ่มเติมของ โหมดป้องกัน ที่ไม่เพียงแต่อนุญาตให้เข้าถึงหน่วยความจำได้มากขึ้นเท่านั้น แต่ยังรวมถึงชุดคุณลักษณะที่ซอฟต์แวร์สามารถตั้งค่าสถานะไปยังระบบ ไม่ว่าจะเป็นรหัส 16 บิตหรือ 32 บิต สิ่งนี้เกิดขึ้นได้ด้วยสิ่งที่เรียกว่า โหมดเสมือน 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 .

วิธีเล่นเกมเก่าบน windows 10

Christian ให้รายละเอียดวิธีการติดตั้งและกำหนดค่า DOSBox เป็น เล่นเกมย้อนยุคเก่า บนเครื่อง Windows ของคุณ

สิ่งที่ยอดเยี่ยมเกี่ยวกับเกมนี้ก็คือเกมเหล่านี้ส่วนใหญ่เก่ามากจน ถือว่าเป็นการละทิ้งแวร์ เพื่อให้คุณสามารถดาวน์โหลดและเล่นได้ฟรีอย่างถูกกฎหมาย

2. เรียกใช้แอพภายใน VirtualBox

เนื่องจากระบบปฏิบัติการ เช่น Windows XP และ Windows 7 สามารถเรียกใช้แอปพลิเคชัน 16 บิตได้ตามปกติ คุณจึงสามารถเรียกใช้แอปพลิเคชันเดียวกันบนระบบ 64 บิตได้โดยการสร้างเครื่องเสมือนโดยใช้ระบบปฏิบัติการดังกล่าว

หนึ่งในแอปพลิเคชั่นที่รู้จักกันดีและง่ายต่อการติดตั้งสำหรับสิ่งนี้คือ VirtualBox . เรามีคู่มือฉบับสมบูรณ์เกี่ยวกับ วิธีการตั้งค่าและใช้งาน VirtualBox เพื่อให้คุณสามารถเริ่มต้นใช้แนวทางนี้ได้ในขณะนี้

เพียงตรวจสอบให้แน่ใจว่าได้เลือกระบบปฏิบัติการที่เหมาะสมในการติดตั้ง ติดกับ Windows 7 หรือเก่ากว่า และคุณสามารถดาวน์โหลดและติดตั้งแอป DOS เก่าบนระบบเสมือนของคุณได้อย่างรวดเร็ว

3. ใช้ Linux

พูดในสิ่งที่คุณต้องการเกี่ยวกับ Linux สิ่งหนึ่งที่ Linux distros ส่วนใหญ่มีสิทธิ์คือรองรับแอปพลิเคชัน 16 บิต Distros ด้วย PAE kernal คุณไม่ได้จำกัดอยู่ที่ 4GB ของระบบ 32 บิต ดังนั้นการรัน Linux distro ที่เหมาะสมเป็น dual-boot บนระบบของคุณจึงเป็นอีกทางเลือกหนึ่ง

สองตัวเลือกในการทำเช่นนี้: โซลูชันดูอัลบูต หรือ เครื่องเสมือน หรือคุณสามารถทิ้ง Windows ทั้งหมดและ ไปกับ Linux . อะไรก็ได้ที่เหมาะกับคุณ

4. ใช้โปรแกรมจำลอง

DOSBox ไม่ใช่อีมูเลเตอร์เพียงตัวเดียวที่มีให้สำหรับการเรียกใช้แอป DOS รุ่นเก่า มีอีมูเลเตอร์ที่ยอดเยี่ยมมากมายที่ใช้งานได้เช่นกัน โดยเฉพาะอย่างยิ่งหากคุณเป็นนักเล่นเกม

คริสเตียนได้กล่าวถึงวิธีการเลียนแบบa เพื่อนพลเรือจัตวา , ถึง ราสเบอร์รี่ปี่ , NS Android และแม้กระทั่ง คลาสสิก SNES บนพีซีเครื่องใดก็ได้

นี่เป็นเพียงส่วนปลายของภูเขาน้ำแข็ง หากคุณค้นหาทางออนไลน์ คุณจะพบกับคลังของอีมูเลเตอร์ต่างๆ ที่ให้คุณเรียกใช้แอปย้อนยุคที่คุณจินตนาการได้ Microsoft อาจเลิกใช้แอปพลิเคชัน 16 บิตแบบเก่าตั้งแต่สมัยก่อน แต่คุณยังคงมีตัวเลือก

อย่ายอมแพ้กับ 16-Bit

ไม่มีเหตุผลใดที่คุณควรคิดว่ามัน เป็นไปไม่ได้ เพื่อเรียกใช้แอปพลิเคชัน 16 บิตบนเครื่อง 64 บิต มันอาจเป็นไปไม่ได้โดยกำเนิด แต่อย่างที่คุณเห็นมีวิธีแก้ปัญหามากมายเพื่อให้งานสำเร็จ

แบ่งปัน แบ่งปัน ทวีต อีเมล 12 ไซต์วิดีโอที่ดีกว่า YouTube

ต่อไปนี้คือไซต์วิดีโอทางเลือกสำหรับ YouTube พวกเขาแต่ละคนมีโพรงที่แตกต่างกัน แต่ควรเพิ่มที่คั่นหน้าของคุณ

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • เกม
  • เทคโนโลยีอธิบาย
  • การจำลอง
  • Windows 10
  • 64-บิต
เกี่ยวกับผู้เขียน Ryan Dube(เผยแพร่บทความ 942 ฉบับ)

Ryan สำเร็จการศึกษาระดับปริญญาตรีสาขาวิศวกรรมไฟฟ้า เขาทำงาน 13 ปีในด้านวิศวกรรมระบบอัตโนมัติ 5 ปีในด้านไอที และปัจจุบันเป็นวิศวกรด้านแอป อดีตผู้จัดการบรรณาธิการของ MakeUseOf เขาพูดในการประชุมระดับชาติเรื่อง Data Visualization และได้รับการนำเสนอในโทรทัศน์และวิทยุแห่งชาติ

เพิ่มเติมจาก Ryan Dube

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก