โครงการ OS งานอดิเรก RetroOS-32 ของนักพัฒนาบูตสำเร็จบนฮาร์ดแวร์จริง

BigGo Editorial Team
โครงการ OS งานอดิเรก RetroOS-32 ของนักพัฒนาบูตสำเร็จบนฮาร์ดแวร์จริง

ในยุคที่ระบบปฏิบัติการเชิงพาณิชย์และการพัฒนา AI เป็นกระแสหลัก นักพัฒนาคนหนึ่งได้บรรลุเป้าหมายที่น่าประทับใจกับโครงการระบบปฏิบัติการงานอดิเรกของเขา RetroOS-32 ซึ่งเป็นระบบปฏิบัติการแบบ 32 บิตที่สร้างขึ้นจากศูนย์ ได้บูตสำเร็จบนฮาร์ดแวร์จริงโดยเฉพาะบน Lenovo ThinkPad ความสำเร็จนี้เป็นผลจากการทำงานอย่างทุ่มเทหลายปีในด้านการคอมพิวเตอร์ที่ย้อนกลับไปในยุคแรกของคอมพิวเตอร์ส่วนบุคคล ซึ่งการเล่นแต่งแต้มในระดับระบบเป็นเรื่องที่พบเห็นได้ทั่วไปมากกว่า

ภาพหน้าจอของ GitHub repository สำหรับ RetroOS-32 ที่เน้นให้เห็นถึงความมุ่งมั่นของนักพัฒนาในการสร้างระบบปฏิบัติการจากศูนย์
ภาพหน้าจอของ GitHub repository สำหรับ RetroOS-32 ที่เน้นให้เห็นถึงความมุ่งมั่นของนักพัฒนาในการสร้างระบบปฏิบัติการจากศูนย์

งานที่ทำด้วยใจรัก ไม่ใช่กลยุทธ์ทางการตลาด

RetroOS-32 โดดเด่นในฐานะโครงการที่ทำด้วยใจรักซึ่งพัฒนาขึ้นเพื่อการเรียนรู้และความสนุกล้วนๆ ไม่ใช่เพื่อวัตถุประสงค์ทางการค้า โครงการนี้เริ่มต้นในเดือนพฤษภาคม 2022 โดยยึดถือจิตวิญญาณของการคอมพิวเตอร์ยุคแรกด้วยการมุ่งเน้นการสร้างทุกอย่างตั้งแต่เริ่มต้น นักพัฒนาได้เขียนทุกอย่างตั้งแต่โค้ดระดับเคอร์เนลไปจนถึงแอปพลิเคชันสำหรับผู้ใช้ โดยยึดกฎส่วนตัวที่จะเขียนส่วนประกอบทั้งหมดด้วยตัวเองแทนที่จะนำซอฟต์แวร์ที่มีอยู่แล้วมาปรับใช้

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

แนวทางนี้แตกต่างอย่างชัดเจนจากภูมิทัศน์การพัฒนาซอฟต์แวร์ในปัจจุบัน ซึ่งมักให้ความสำคัญกับความเหมาะสมกับตลาดและความเป็นไปได้ทางการค้า สำหรับหลายคนในชุมชนเทคโนโลยี โครงการเช่น RetroOS-32 เป็นการกลับไปสู่รากฐานของการคอมพิวเตอร์ ที่การสำรวจและการเรียนรู้เป็นแรงจูงใจหลัก

ความสำเร็จทางเทคนิคและความท้าทาย

RetroOS-32 มีคุณสมบัติที่น่าประทับใจสำหรับระบบปฏิบัติการงานอดิเรก รวมถึงความสามารถด้านกราฟิก การทำงานหลายอย่างพร้อมกัน และการเชื่อมต่อเครือข่าย สร้างด้วยภาษา C และ Assembly สำหรับเคอร์เนลและยูทิลิตี้ และ C++ สำหรับแอปพลิเคชันสำหรับผู้ใช้ ระบบนี้แสดงให้เห็นถึงความเข้าใจอย่างครอบคลุมเกี่ยวกับแนวคิดการเขียนโปรแกรมระดับต่ำ

นักพัฒนายังได้สร้างคอมไพเลอร์ภาษา C ของตัวเองสำหรับระบบปฏิบัติการนี้ ซึ่งทำงานภายใน RetroOS-32 และยังสามารถทำงานบน Linux ได้อีกด้วย แม้ว่าปัจจุบันจะมีข้อจำกัด (รองรับเฉพาะประเภทข้อมูล int และ char และขาดคุณสมบัติเช่นคำสั่ง switch) คอมไพเลอร์นี้แสดงถึงความสำเร็จทางเทคนิคที่สำคัญอีกประการในโครงการนี้

การทดสอบความเข้ากันได้ของฮาร์ดแวร์มีการดำเนินการอย่างกว้างขวาง โดยบูตสำเร็จบนเครื่องต่างๆ รวมถึง Lenovo x220i, Asus free PC series, Dell Optiplexes 780, อุปกรณ์ Samsung และ IBM ThinkPads สมาชิกในชุมชนยังรายงานความสำเร็จในการบูต OS บนฮาร์ดแวร์เพิ่มเติม แม้จะมีความท้าทายบางประการเกี่ยวกับอุปกรณ์อินพุต USB และการรายงานหน่วยความจำ

ข้อมูลทางเทคนิคของ RetroOS-32

  • สถาปัตยกรรม: 32 บิต
  • ภาษาที่ใช้:
    • C และ Assembly (เคอร์เนล, ยูทิลิตี้, ระบบการสร้าง)
    • C++ (แอปพลิเคชันสำหรับผู้ใช้)
    • Make (การคอมไพล์)
  • คุณสมบัติ:
    • ความสามารถด้านกราฟิก
    • มัลติทาสกิ้ง
    • การเชื่อมต่อเครือข่าย (Ethernet, IP, ARP, UDP)
    • คอมไพเลอร์ภาษา C แบบกำหนดเอง
    • ตัวจัดการหน้าต่าง
    • รองรับระบบไฟล์

ความเข้ากันได้กับฮาร์ดแวร์:

  • Lenovo x220i
  • Asus free PC series
  • Dell Optiplexes 780
  • Samsung N7100 Plus
  • Samsung NP-NC10
  • IBM Thinkpad a31p

ความต้องการของระบบ:

  • หน่วยความจำเสมือน 256M
  • รองรับ IDE

การตอบสนองของชุมชนและข้อมูลเชิงเทคนิค

ชุมชนทางเทคนิคได้ตอบสนองต่อโครงการนี้อย่างกระตือรือร้น โดยหลายคนแสดงความชื่นชมต่อความทุ่มเทของนักพัฒนาในการสร้างระบบปฏิบัติการจากศูนย์ ผู้แสดงความคิดเห็นหลายคนได้แบ่งปันประสบการณ์ของตนเองในการพัฒนา OS สร้างการสนทนาที่เข้มข้นเกี่ยวกับตัวเลือกการออกแบบ ความท้าทายทางเทคนิค และกลยุทธ์การนำไปใช้

การแสดงผลฟอนต์กลายเป็นหนึ่งในพื้นที่ที่มีศักยภาพในการปรับปรุง โดยสมาชิกในชุมชนแนะนำให้ใช้ฟอนต์ที่กะทัดรัดมากขึ้นเพื่อใช้พื้นที่หน้าจอได้ดีขึ้น นักพัฒนารับทราบข้อเสนอแนะนี้ โดยระบุว่าการปรับปรุงการแสดงผลฟอนต์อยู่ในรายการสิ่งที่ต้องทำของพวกเขา

สมาชิกชุมชนคนหนึ่งที่มีส่วนร่วมอย่างเต็มที่ได้ทำการทดสอบอย่างละเอียดบนฮาร์ดแวร์จริง โดยให้ข้อมูลเชิงลึกโดยละเอียดเกี่ยวกับกระบวนการบูต โครงสร้างพาร์ติชัน และการนำไปใช้ระบบไฟล์ ความคิดเห็นของพวกเขาเผยให้เห็นทั้งความสามารถปัจจุบันของ RetroOS-32 และพื้นที่ที่มีศักยภาพในการปรับปรุงเพื่อทำให้ระบบมีความแข็งแกร่งมากขึ้นเมื่อบูตจากการกำหนดค่าพาร์ติชันที่แตกต่างกัน

ทิศทางในอนาคต

เมื่อมองไปข้างหน้า นักพัฒนาได้ระบุพื้นที่หลายแห่งสำหรับการปรับปรุงอย่างต่อเนื่อง เมื่อถูกถามว่าพวกเขาจะทำอะไรแตกต่างออกไปหากเริ่มต้นใหม่ พวกเขากล่าวถึงการมีแผนที่ชัดเจนตั้งแต่เริ่มต้น เนื่องจากโครงการได้พัฒนาอย่างเป็นธรรมชาติจาก OS แบบ hello world พื้นฐานไปสู่สิ่งที่ซับซ้อนมากขึ้น การเติบโตอย่างเป็นธรรมชาตินี้นำไปสู่หนี้ทางเทคนิคบางอย่างที่นักพัฒนายังคงทำงานเพื่อแก้ไข

การสนับสนุน WiFi อยู่ในแผนงาน โดยนักพัฒนากล่าวว่าพวกเขาได้เขียนโค้ด WiFi บางส่วนแล้วและต้องนำไดรเวอร์ไปใช้ การปรับปรุง UI ก็อยู่ในแผนเช่นกัน โดยนักพัฒนายอมรับว่าการออกแบบส่วนต่อประสานกับผู้ใช้เป็นความท้าทายที่ต้องมีการเขียนใหม่หลายครั้ง

โครงการนี้เป็นแรงบันดาลใจสำหรับผู้อื่นที่สนใจในการพัฒนาระบบระดับต่ำ แสดงให้เห็นว่าด้วยความทุ่มเทและความมุ่งมั่น แม้แต่โครงการคอมพิวเตอร์ที่ซับซ้อนก็สามารถทำสำเร็จได้ในฐานะงานอดิเรก ในภูมิทัศน์การคอมพิวเตอร์ที่ถูกครอบงำโดยนามธรรมระดับสูงมากขึ้นเรื่อยๆ RetroOS-32 ยืนหยัดเป็นพยานถึงคุณค่าที่ยังคงอยู่และศักยภาพทางการศึกษาของการทำความเข้าใจคอมพิวเตอร์ในระดับพื้นฐานที่สุด

อ้างอิง: RetroOS-32