มันเป็นโครงการระบบปฏิบัติการ โอเพนซอร์ซ ที่เขียนด้วยภาษาโปรแกรม ZIG
บามอสไม่ได้แนะนำมาตรฐานใหม่ แต่มุ่งมั่นในการดำเนินการ ที่ดีที่สุด เท่าที่จะเป็นไปได้
คุณลักษณะหลักและเป้าหมายของโครงการนี้คือการพัฒนาระบบปฏิบัติการ ที่มีน้ำหนักเบา และ รวดเร็วมาก ด้วยรหัสฐานข้อมูล ที่มีเอกสารที่ดี รัดกุม และ เรียบง่าย ให้มากที่สุด
มันมีจุดมุ่งหมายเพื่อรวมการสนับสนุนดั้งเดิมสำหรับระบบหลายระบบ ABIs ระหว่างเคอร์เนลและพื้นที่ผู้ใช้ (GNU/Linux, Windows NT ฯลฯ ) พร้อมกัน สิ่งนี้ควรปรับปรุงประสบการณ์ผู้ใช้อย่างมีนัยสำคัญและทำให้งานสำหรับนักพัฒนาซอฟต์แวร์ง่ายขึ้น

แม้จะมีภาษาที่คุ้นเคยและเป็นที่ยอมรับเช่น C/C ++ หรือสนิมที่ปลอดภัยกว่า แต่ตัวเลือกของเราคือ Zig
ZIG นั้นง่ายพอที่จะบำรุงรักษาได้มากกว่าการเกิดสนิมในขณะที่เสนอทางเลือกที่ปลอดภัยและใช้งานได้มากกว่า C/C ++ ZIG ช่วยให้สามารถสร้างรหัสเครื่องความเร็วสูงและปรับให้เหมาะสมและหนึ่งในข้อดีหลักของมันคือระบบสร้างซึ่งทำให้กระบวนการรวบรวมราบรื่นและง่ายอย่างไม่น่าเชื่อ
ในการสร้างการทำงานของเคอร์เนลสิ่งที่คุณต้องการคือซอร์สโค้ดคอมไพเลอร์ ZIG และ zig build kernel
เอกสารทั่วไป ของระบบปฏิบัติการ มีอยู่ในหน้านี้
เอกสารรหัสมีอยู่ในหน้านี้ หากคุณต้องการสร้างเอกสารในเครื่องให้เรียกใช้คำสั่งต่อไปนี้:
zig build docs ไซต์คงที่จะถูกวางไว้ในไดเรกทอรี docs ซึ่งสามารถเปิดตัวได้โดยใช้:
cd docs
python -m http.serverคำอธิบายภาษา ZIG และเอกสารประกอบสำหรับห้องสมุดมาตรฐานสามารถพบได้ในเว็บไซต์ทางการ
บมอสยังคงเป็นโครงการเล็ก ๆ แต่ กำลังเติบโต
เรายินดีต้อนรับการมีส่วนร่วมใด ๆ และเชิญชวนให้คุณมีส่วนร่วมในการพัฒนาและวิวัฒนาการของโครงการ
ดูข้อมูลเกี่ยวกับการมีส่วนร่วม
กระบวนการสร้างค่อนข้างตรงไปตรงมา:
git clone https://github.com/bagggage/bamos.git
cd bamos
zig build kernel --release=[small | safe | fast] โดยค่าเริ่มต้นผลลัพธ์การสร้างจะอยู่ในไดเรกทอรี. .zig-out ในการระบุเส้นทางที่แตกต่างให้ใช้ตัวเลือก --prefix=[path] ในระหว่างการสร้าง
ปัจจุบันระบบปฏิบัติการขึ้นอยู่กับ bootloader bootboot ของบุคคลที่สามและยูทิลิตี้ bootboot/mkbootimg ใช้เพื่อสร้างภาพ ในอนาคตขั้นตอนนี้มีการวางแผนที่จะทำให้ง่ายขึ้นและทำให้ข้ามแพลตฟอร์มมากขึ้น อย่างไรก็ตามสำหรับตอนนี้ในการสร้างภาพคุณต้อง:
mkbootimg สำหรับระบบปฏิบัติการโฮสต์ของคุณbootboot-bin โดยการตั้งค่าตัวแปร BOOTBOOT ใน env.shiso.sh โดยค่าเริ่มต้นรูปภาพจะถูกวางไว้ในไดเรกทอรี dist
สำหรับการทดสอบและเปิดใช้งานระบบปฏิบัติการอย่างรวดเร็วขอแนะนำให้ใช้เครื่องจำลอง QEMU
บน Windows คุณควรเพิ่มไดเรกทอรี qemu ในตัวแปรสภาพแวดล้อม PATH ล่วงหน้า
ในไดเรกทอรีรากของโครงการมีสคริปต์ qemu.sh และ debug.sh :
qemu.sh เรียกใช้ภาพระบบที่สร้างไว้ล่วงหน้า (โดยค่าเริ่มต้น dist/bamos.iso ) ใน Emulatordebug.sh รวบรวมสร้างภาพและเรียกใช้ระบบในตัวจำลอง บมอสอยู่ในช่วงเริ่มต้นของการพัฒนาและยังไม่ได้ดำเนินการหลายอย่าง ยิ่งไปกว่านั้นการเขียนการใช้งานและการพัฒนาสถาปัตยกรรมระบบปฏิบัติการต้องใช้วิธีการวนซ้ำเพื่อค้นหาวิธีแก้ปัญหาที่ดีที่สุดดังนั้นรายละเอียดบางอย่างอาจเปลี่ยนแปลงได้ แต่ทั้งหมดนี้เป็นสิ่งที่ดีกว่า
หากต้องการติดตามสิ่งที่ได้นำไปใช้ในโครงการแล้วและอยู่ในขั้นตอนใดให้ตรวจสอบ หน้านี้