ชิ้นส่วนที่น่าทึ่งของประวัติศาสตร์คอมพิวเตอร์ได้ปรากฏขึ้นจากการจัดเก็บดิจิทัลหลังจากผ่านไปสามทศวรรษ นักพัฒนาได้ฟื้นฟู Unite ซึ่งเป็นระบบปฏิบัติการแบบเรียลไทม์ที่สร้างขึ้นในช่วงต้นทศวรรษ 1990 เป็นทางเลือกแทน Linux และ MINIX โครงการนี้ซึ่งหยุดนิ่งอยู่ในฮาร์ดไดรฟ์ตั้งแต่ปี 1994 ได้รับการฟื้นคืนชีพด้วยเทคโนโลยีเวอร์ชวลแมชชีนสมัยใหม่
ความต้องการของระบบ:
- สถาปัตยกรรม: i386 32-bit protected mode เท่านั้น
- การจำลอง: ทดสอบบน Linux โดยใช้ VirtualBox และ QEMU
- การแจกจ่าย: มีให้ดาวน์โหลดผ่าน torrent เป็น disk image แบบสมบูรณ์
- วิธีการบูต: Floppy disk image พร้อมรองรับ hard drive
วิสัยทัศน์เดิมเบื้องหลัง Unite
Unite เกิดขึ้นในช่วงการถกเถียงที่มีชื่อเสียงในปี 1992 ระหว่าง Andrew Tanenbaum และ Linus Torvalds เกี่ยวกับสถาปัตยกรรมเคอร์เนล ในขณะที่ Tanenbaum สนับสนุนการออกแบบไมโครเคอร์เนลมากกว่าโมโนลิธิกเคอร์เนล นักพัฒนาเชื่อว่าระบบไมโครเคอร์เนลที่มีอยู่เช่น MINIX ยังไม่ก้าวหน้าเพียงพอ ด้วยแรงบันดาลใจจาก QNX ซึ่งเป็นระบบปฏิบัติการเรียลไทม์เชิงพาณิชย์ Unite ได้รับการออกแบบเพื่อแสดงให้เห็นว่าไมโครเคอร์เนลสามารถทั้งเชื่อถือได้และรวดเร็ว
การพัฒนาเดิมเกิดขึ้นภายใต้สถานการณ์ที่ท้าทาย การทำงานด้วยทรัพยากรที่จำกัดและเครื่องมือดีบักที่ดั้งเดิม นักพัฒนาต้องรีเซ็ตคอมพิวเตอร์ด้วยตนเองทุกไม่กี่นาทีเมื่อระบบขัดข้อง สิ่งนี้กลายเป็นกิจวัตรจนในที่สุดได้มีการเชื่อมต่อแป้นเหยียบเท้าเพื่อหลีกเลี่ยงการต้องดำดิ่งใต้โต๊ะเพื่อกดปุ่มรีเซ็ตอยู่เรื่อย
ความสนใจของชุมชนในระบบปฏิบัติการทางเลือก
การฟื้นฟูนี้ได้จุดประกายการอย่างเกี่ยวกับสถานะปัจจุบันของความหลากหลายของระบบปฏิบัติการ นักพัฒนาหลายคนแสดงความไม่พอใจกับการครอบงำของ Linux ในระบบฝังตัว โดยเฉพาะสำหรับอุปกรณ์ Internet of Things ที่ความปลอดภัยมีความสำคัญ ชุมชนเห็นคุณค่าในการสำรวจสถาปัตยกรรมไมโครเคอร์เนล โดยเฉพาะสำหรับแอปพลิเคชันที่ต้องการเวลาตอบสนองที่รับประกัน
อย่างไรก็ตาม สมาชิกชุมชนบางคนชี้ให้เห็นความท้าทายในทางปฏิบัติ QNX สมัยใหม่ยังคงมีให้ใช้สำหรับนักพัฒนาที่ทำเป็นงานอดิเรก แม้ว่าการเปลี่ยนแปลงใบอนุญาตก่อนหน้านี้ทำให้นักพัฒนาระมัดระวังในการพึ่งพาโซลูชันเชิงพาณิชย์ คนอื่นๆ แนะนำว่าโครงการเช่น seL4 ได้จัดการกับความต้องการระบบปฏิบัติการที่ปลอดภัยและมีขนาดเล็กแล้ว
สถาปัตยกรรมทางเทคนิคและความเกี่ยวข้องในยุคปัจจุบัน
Unite ทำงานเป็นระบบโหมดป้องกัน 32 บิตที่มี 16 ระดับความสำคัญสำหรับการจัดตารางงานแบบเรียลไทม์ การออกแบบไมโครเคอร์เนลหมายความว่าทุกอย่างยกเว้นการส่งข้อความหลักและการจัดตารางทำงานในโหมดผู้ใช้ ทำให้ระบบมีความยืดหยุ่นสูงและทนต่อข้อผิดพลาด ไดรเวอร์อุปกรณ์และบริการระบบสามารถแก้ไขหรือเปลี่ยนได้โดยไม่ส่งผลกระทบต่อเคอร์เนลเอง
กระบวนการฟื้นฟูใช้เวลาประมาณสองสัปดาห์ โดยได้รับความช่วยเหลือจากไฟล์ไบนารีที่เก็บรักษาไว้และอิมเมจบูตฟล็อปปี้ เทคโนโลยีเวอร์ชวลแมชชีนสมัยใหม่ทำให้การดีบักง่ายขึ้นอย่างมากเมื่อเปรียบเทียบกับสภาพแวดล้อมการพัฒนาเดิม ระบบตอนนี้ทำงานได้สำเร็จภายใต้ QEMU และ VirtualBox แม้ว่าส่วนประกอบบางอย่างเช่นเครือข่ายและการสื่อสารแบบซีเรียลยังต้องการการทำงาน
คุณสมบัติทางเทคนิค:
- ระบบปฏิบัติการแบบเรียลไทม์ที่มี 16 ระดับความสำคัญ
- สถาปัตยกรรมไมโครเคอร์เนลที่ได้แรงบันดาลใจจาก QNX
- สภาพแวดล้อมการพัฒนาแบบ self-hosting
- รวม C และ C++ compilers
- โหมดกราฟิกพร้อม window manager
- ระบบไฟล์ที่ใช้ฐาน MINIX
ความท้าทายและแนวโน้มในอนาคต
โครงการเผชิญกับข้อจำกัดหลายประการที่สะท้อนทั้งอายุและความซับซ้อนของการพัฒนาระบบปฏิบัติการ การสนับสนุนเครือข่ายยังคงไม่ทำงาน และไดรเวอร์เมาส์ขึ้นอยู่กับการสื่อสารพอร์ตซีเรียลที่ไม่ทำงานในสภาพแวดล้อมการจำลองปัจจุบัน โปรแกรมแก้ไขข้อความมีปัญหาเสถียรภาพ แม้ว่าโปรแกรมแก้ไขทางเลือกจากยุคเดิมยังคงทำงานได้อย่างถูกต้อง
แม้จะมีความท้าทายเหล่านี้ นักพัฒนาได้ทำให้โค้ดระบบปฏิบัติการหลักพร้อมใช้งานในโดเมนสาธารณะ โดยส่งเสริมให้ผู้อื่นทดลองและพัฒนาต่อยอดจากงานนี้ การแยกที่ชัดเจนระหว่างเคอร์เนลและส่วนประกอบพื้นที่ผู้ใช้ทำให้เป็นแพลตฟอร์มที่น่าสนใจสำหรับวัตถุประสงค์ทางการศึกษาและการพัฒนาระบบฝังตัว
Micro Kernels มีความสนุกในการแฮก: ทุกอย่างยกเว้นงานส่งข้อความหลักและตัวจัดตารางเป็นโปรแกรมโหมดผู้ใช้ และคุณสามารถเปลี่ยนแปลงได้ง่ายเหมือนกับที่คุณสามารถเปลี่ยนโปรแกรมอื่นๆ
โครงการนี้ทำหน้าที่เป็นทั้งสิ่งประดิษฐ์ทางประวัติศาสตร์และรากฐานที่มีศักยภาพสำหรับการพัฒนาในอนาคต ในขณะที่ระบบ 32 บิตส่วนใหญ่ถูกจำกัดให้อยู่ในแอปพลิเคชันฝังตัวในปัจจุบัน แนวคิดไมโครเคอร์เนลพื้นฐานยังคงมีความเกี่ยวข้องสำหรับระบบเรียลไทม์และระบบที่มีความปลอดภัยสำคัญในยุคปัจจุบัน
อ้างอิง: The Unite Real Time Operating System