นี่คือการใช้ห้องปฏิบัติการจากระบบปฏิบัติการของ MIT ระดับบัณฑิตศึกษา 6.828 (MIT เสนอเนื้อหาหลักสูตรของพวกเขาอย่างสง่างามต่อสาธารณะ)
ต่อไปนี้อ้างอิงจากเว็บไซต์
ห้องปฏิบัติการถูกแบ่งออกเป็น 6 ส่วนหลักที่สร้างขึ้นซึ่งกันและกันซึ่งปิดท้ายในระบบปฏิบัติการดั้งเดิมซึ่งคุณสามารถเรียกใช้คำสั่งง่ายๆผ่านเชลล์ของคุณเอง เราขอสงวนการบรรยายครั้งสุดท้ายเพื่อให้คุณสาธิตระบบปฏิบัติการของคุณไปยังส่วนที่เหลือของชั้นเรียน
ระบบปฏิบัติการที่คุณจะสร้างเรียกว่า JOS จะมีฟังก์ชั่นที่มีลักษณะคล้าย Unix (เช่น Fork, Exec) แต่ถูกนำไปใช้ในรูปแบบ exokernel (เช่นฟังก์ชั่น UNIX ส่วนใหญ่จะถูกนำมาใช้เป็นไลบรารีระดับผู้ใช้แทนที่จะเป็นเคอร์เนล) ส่วนสำคัญของระบบปฏิบัติการ JOS คือ:
- การบูต
- การจัดการหน่วยความจำ
- สภาพแวดล้อมของผู้ใช้
- มัลติทาสกิ้ง
- ระบบไฟล์วางไข่และเชลล์
- ไดรเวอร์เครือข่าย
- โครงการปลายเปิด
เราจะให้รหัสโครงกระดูกสำหรับชิ้นส่วนของ JOS แต่คุณจะต้องทำงานหนักทั้งหมด
ดูเว็บเพจห้องปฏิบัติการสำหรับการกำหนดค่าแบบเต็ม
วิธีง่ายๆในการลองโครงการคือการใช้อิมเมจนักเทียบท่า
Docker Build -t Jos
สามารถใช้กับ:
docker run -v $(pwd):/to_build -it jos
สิ่งนี้เปิดเปลือกในสภาพแวดล้อมด้วยคอมไพเลอร์ที่เหมาะสมและ QEMU
make
make qemu-nox
TODO: เพิ่ม gdb และ qemu ด้วย x