อ่าน 4 นาที
โลหะเปล่า
BareMetal เป็น ระบบปฏิบัติการ (OS) ที่ใช้ เอ็กโซเคอร์เนล และ มีพื้นที่แอดเดรสเดียว สร้างโดย Return Infinity
โลหะเปล่า
| โลหะเปล่า | |
|---|---|
| นักพัฒนา | กลับสู่ความไม่มีที่สิ้นสุด |
| เขียนเป็น | การประกอบ |
| สถานะการทำงาน | ปัจจุบัน |
| แบบจำลองแหล่งที่มา | โอเพนซอร์ส |
| การเผยแพร่ครั้งแรก | 2008 |
| รุ่นล่าสุด | 2025.04 / 30 เมษายน 2025 [ 1 ] |
| กลุ่มเป้าหมายทางการตลาด | HPCs , HTC , คลาวด์คอมพิวติ้ง |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| แพลตฟอร์มที่รองรับ | x86-64 |
| ประเภทเคอร์เนล | เอ็กโซเคอร์เนล , ซาสโอเอส |
| ดินแดนผู้ใช้ | ไม่ทราบ |
| ส่วนติดต่อผู้ใช้เริ่มต้น | บรรทัดคำสั่ง |
| ใบอนุญาต | ใบอนุญาต BSD [ 2 ] |
| เว็บไซต์อย่างเป็นทางการ | www.returninfinity.com |
BareMetalเป็น ระบบปฏิบัติการ (OS) ที่ใช้เอ็กโซเคอร์เนล และ มีพื้นที่แอดเดรสเดียว สร้างโดย Return Infinity
เขียนด้วยภาษาแอสเซมบลีเพื่อให้ได้การประมวลผลประสิทธิภาพสูงด้วยขนาดไฟล์ที่เล็กที่สุด[ 3 ] [ 4 ]ด้วยแนวทาง "ระบบปฏิบัติการที่เพียงพอ" ( JeOS ) [ 5 ]ระบบปฏิบัติการนี้มุ่งเป้าไปที่ สภาพแวดล้อม เสมือน จริง สำหรับการประมวลผลแบบคลาวด์หรือHPC เป็นหลัก เนื่องจากได้รับการออกแบบให้เป็นเคอร์เนลน้ำหนักเบา (LWK) สามารถใช้เป็นยูนิเคอร์เนลได้
ได้รับแรงบันดาลใจจากระบบปฏิบัติการอื่นที่เขียนด้วยภาษาแอสเซมบลี MikeOS [ 2 ]และเป็นตัวอย่างล่าสุดของระบบปฏิบัติการที่ไม่ได้เขียนด้วยภาษาCหรือC++และไม่ได้อิงตามเคอร์เนลแบบ Unix [ 6 ]
ภาพรวม
ข้อกำหนดด้านฮาร์ดแวร์
แหล่งที่มา: [ 7 ]
- คอมพิวเตอร์64 บิตที่ใช้ชิปAMD / Intel
- หน่วยความจำ: 4 MB (บวกเพิ่มอีก 2 MB สำหรับทุกคอร์เพิ่มเติม)
- ฮาร์ดดิสก์: 32 MB
อุปกรณ์ที่รองรับ
แหล่งที่มา: [ 8 ]
- บัส - PCIe , PCI , xHCI
- พื้นที่จัดเก็บข้อมูลแบบไม่ลบเลือน - NVMe , AHCI ( SATA ), ATA , Virtio-Blk
- อีเธอร์เน็ต - Intel 8259x 10 กิกะบิต, Intel 8254x/8257x กิกะบิต, Realtek 816x/811x กิกะบิต, Virtio-Net
หนึ่งงานต่อแกนหลัก
การทำงานแบบมัลติทาสกิ้งบน BareMetal นั้นผิดปกติสำหรับระบบปฏิบัติการสมัยใหม่ BareMetal ใช้คิว งานภายใน ที่คอร์ CPU ทั้งหมด ตรวจสอบงานที่เพิ่มเข้าไปในคิวงานจะถูกประมวลผลโดยคอร์ CPU ที่ว่างอยู่ใดๆ ในระบบและจะดำเนินการจนกว่าจะเสร็จสมบูรณ์ ซึ่งส่งผลให้ไม่มีค่าใช้จ่ายเพิ่มเติมในการสลับบริบท[ 9 ]
การเขียนโปรแกรม
API ได้รับการจัดทำเอกสาร[ 10 ]แต่ตามหลักปรัชญาแล้ว ระบบปฏิบัติการจะไม่บังคับใช้จุดเข้าสำหรับการเรียกใช้ระบบ (เช่น ไม่มีเกตการเรียกใช้หรือกลไกความปลอดภัยอื่นๆ)
BareMetal OS มีสคริปต์การสร้างเพื่อดึงโค้ดล่าสุด ทำการเปลี่ยนแปลงที่จำเป็น แล้วคอมไพล์โค้ด C โดยใช้ไลบรารี มาตรฐาน Newlib C [ 11 ] [ 12 ]
ไลบรารีมาตรฐาน C++11ที่สมบูรณ์เกือบทั้งหมดได้รับการออกแบบและพัฒนาขึ้นเพื่อใช้งานในring 0 [ 13 ] เป้าหมายหลักของไลบรารี ดังกล่าว คือการจัดหาทางเลือกในการป้องกันหน่วยความจำ ฮาร์ดแวร์ ที่ใช้ในระบบปฏิบัติการแบบคลาสสิกในระดับไลบรารี โดยอาศัยคลาสที่ออกแบบมาอย่างรอบคอบ[ 14 ]
k สำหรับ BareMetal : [ 15 ]พอร์ตของk eduจาก shakti [ 16 ]โดย Jack Andrews ในขั้นตอนนี้ เป็นเพียงการพิสูจน์แนวคิดและไม่ได้รวมระบบไฟล์ BareMetal เข้าไว้ด้วย
มีการเพิ่มการสาธิตโปรแกรม Rust ลงในโปรแกรมในเดือนพฤศจิกายน 2014 ซึ่งแสดงให้เห็นถึงความสามารถในการเขียนโปรแกรม Rust สำหรับ BareMetal OS [ 17 ]
การสร้างเครือข่าย
สแต็ก TCP/IP
ส แต็ก TCP/IPเป็นฟีเจอร์ที่มีการร้องขออันดับ 1 [ 18 ] มีการประกาศ พอร์ตlwIPที่เขียนด้วยภาษา C ในเดือนตุลาคม 2557 [ 19 ]
minIP [ 20 ] ซึ่งเป็น สแต็ก IPขนาดเล็กในANSI Cที่สามารถให้ฟังก์ชันการทำงานเพียงพอสำหรับการให้บริการเว็บเพจแบบคงที่ อย่างง่าย กำลังได้รับการพัฒนาเป็นแนวคิดต้นแบบเพื่อเรียนรู้พื้นฐานในการเตรียม การเขียนแอสเซมบลี x86-64ใหม่ตามแผนในอนาคต
ลิงก์ภายนอก
- ReturnInfinityบนGitHub
- ฟอรัมสนทนาBareMetal OS Google Group