2 คะแนน โดย GN⁺ 2023-09-29 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความอภิปรายเชิงเทคนิคอย่างละเอียดจาก Retrocomputing Stack Exchange เกี่ยวกับปัญหาที่เคอร์เนล NT 3.1 ทำให้เครื่อง 486DX4 รีบูต
  • ผู้เขียนได้ติดตั้ง Windows NT 3.1 บนระบบ Compaq ProSignia 3080 และเปลี่ยน Intel 486DX-33 เป็น AMD enhanced 486DX4-SV8B เพื่อเพิ่มประสิทธิภาพ
  • ผู้เขียนพบปัญหาเมื่อพยายามเข้าสู่การดีบักเคอร์เนล โดยแทนที่จะได้พรอมป์ต์ kd> เครื่องกลับรีบูต
  • ผู้เขียนได้ทดสอบสาเหตุที่เป็นไปได้หลายอย่าง เช่น หน่วยความจำ ความเสียหายของไฟล์ระบบ การทำงานของฮาร์ดแวร์วอตช์ด็อก และการสื่อสารผ่านอะแดปเตอร์ USB-to-serial แต่ไม่มีข้อใดเป็นต้นเหตุ
  • ผู้เขียนค้นพบว่าเคอร์เนล Windows NT 3.1 ไม่เข้ากันกับโปรเซสเซอร์ 486 รุ่นปรับปรุง โดยเฉพาะรุ่นที่รองรับคำสั่ง CPUID
  • พบว่าสาเหตุด้านความเข้ากันได้นี้ย้อนรอยไปยังบั๊กในฟังก์ชัน KiSaveProcessorControlState ที่บันทึกรีจิสเตอร์ควบคุมของโปรเซสเซอร์ลงในโครงสร้าง CONTEXT แบบขยาย
  • บั๊กดังกล่าวทำให้ฟังก์ชันตีความไบต์ที่ออฟเซ็ต 19h ของ KPRCB เป็นส่วนหนึ่งของหมายเลขโมเดล ส่งผลให้โปรเซสเซอร์ 80-4-86 ที่รองรับ CPUID ถูกมองเป็น 80-260-86
  • ผู้เขียนเสนอการแก้ไขโดยแพตช์คำสั่ง cmp ds:word_FFDFF138, 5 ให้เป็นการเปรียบเทียบแบบไบต์ ซึ่งต้องแก้สองครั้งใน NTOSKRNL.EXE
  • การสืบสวนอย่างละเอียดและแนวทางแก้ไขที่ผู้เขียนเสนอเป็นข้อมูลอ้างอิงที่มีประโยชน์สำหรับผู้ที่พบปัญหาคล้ายกันกับเคอร์เนล NT 3.1 บนโปรเซสเซอร์ 486 รุ่นปรับปรุง

1 ความคิดเห็น

 
GN⁺ 2023-09-29
ความเห็นจาก Hacker News
  • บทความเกี่ยวกับปัญหาที่เกิดขึ้นระหว่างความพยายามแฮ็กเคอร์เนล NT 3.1 บนเครื่อง 486DX4
  • ผู้ใช้รายหนึ่งเล่าประสบการณ์ที่เปิดพอร์ต TCP อยู่ไม่กี่พอร์ตแล้วทำให้บริการครึ่งหนึ่งของบริษัทหยุดชะงัก
  • ผู้ใช้จำนวนมากแสดงความสนใจและความหลงใหลต่อการคอมพิวเตอร์ย้อนยุคที่ไม่มีผลลัพธ์ในโลกจริงแต่ดึงดูดใจผู้ชื่นชอบเทคโนโลยี
  • ผู้ที่ตั้งคำถามตั้งแต่แรกได้เข้ามาให้คำตอบเอง และได้รับการยอมรับจากชุมชน
  • มีการถกเถียงอย่างคึกคักเกี่ยวกับฟังก์ชัน CPUID โดยผู้ใช้บางส่วนตั้งข้อสงสัยต่อประโยชน์ของมัน
  • เกิดความสับสนว่าทำไมคำถามและคำตอบจึงถูกโพสต์พร้อมกัน
  • ยังมีการพูดคุยถึงยุคแรกของการโอเวอร์คล็อก โดยผู้ใช้ร่วมรำลึกถึงประสบการณ์กับอะแดปเตอร์ slotket, Celeron และ Pentium II
  • ผู้ใช้รายหนึ่งเล่าประสบการณ์โอเวอร์คล็อก Celeron 600 ไปถึง 1.4Ghz บน Windows ME
  • ชุมชนชื่นชมการบันทึกเอกสารเกี่ยวกับปัญหาและแนวทางแก้ไขในการคอมพิวเตอร์ย้อนยุคลักษณะนี้