OS 2020
OS 2020 เป็นระบบปฏิบัติการ 32 บิต
เขียนใน C และ Assembly (NASM) มี bootloader ที่กำหนดเอง, LIBC และระบบไฟล์ FAT32
ภาพหน้าจอบางส่วน



คุณสมบัติ
ระบบปฏิบัติการนี้มีจุดมุ่งหมายเพื่อปรับปรุงระบบปฏิบัติการเก่าที่ฉันตั้งชื่อ 'octos'
นี่คือรายการของการปรับปรุง:
- ระบบบูต: bootloader ขั้นตอนที่สองถูกนำมาใช้ดังนั้นจึงมี 2 bootloaders, ระบบปฏิบัติการถูกโหลดแบบไดนามิก มันจะตรวจจับจุดสิ้นสุดของชิ้นในเวลาทำงาน
- ห้องสมุด: Octos เขียนใน C ++ และมีไลบรารีมาตรฐานที่กำหนดเอง OS 2020 จะมี LIBC (ไม่ได้ใช้งานอย่างเต็มที่ดูไฟล์นี้สำหรับรายละเอียด) และ LIBK, LIBC รวบรวมฟังก์ชั่น IO / String หลักและ LIBK จัดการฟังก์ชั่นที่เกี่ยวข้องกับระบบเช่น SyScalls และ Utils เช่นโครงสร้างข้อมูลหรือฟังก์ชั่นเส้นทางพา ธ
- Syscalls: เป้าหมายหลักคือไม่ต้องสร้างโหมดผู้ใช้ แต่เพื่อให้ syscalls สำหรับแอพ
- ไฟล์ io: ระบบปฏิบัติการนี้มีไดรเวอร์ FAT32 พร้อมสคริปต์เพื่อดึงหรือแทนที่ระบบไฟล์ของระบบปฏิบัติการ (ดูรายละเอียดไฟล์นี้)
- แอพ: OS 2020 มีหลายกระบวนการ (เรียกว่าแอพ) แรงบันดาลใจจาก Linux เช่น LS, CAT, Echo และเชลล์ที่มีการเปลี่ยนเส้นทางอินพุตไปที่นี่เพื่อดูฟังก์ชั่นเชลล์
- หน่วยความจำ: Octos ได้รับความทุกข์ทรมานจากการรั่วไหลของหน่วยความจำเนื่องจาก c ++ constructors / destructors OS 2020 จะไม่ใช้ตัวสร้างและใช้ C.
สถาปัตยกรรม
- เอกสาร: เอกสาร
- SRC/Stage1: Bootloader First (ASM เต็ม)
- src/stage2: bootloader second
- src/kernel: core chunk
- Src/lib: libc และ libk
การจัดสรร
- GCC Cross Compiler (สำหรับ I386)
- สิ่งที่น่าเบื่อหน่าย
- mtools (เพิ่ม /sbin ไปยังเส้นทางของคุณสำหรับ FS)
- QEMU-SYSTEM-I386 (เป็นทางเลือกในการทดสอบ)
- objcopy (เป็นทางเลือกเพื่อแก้ไขข้อบกพร่อง)
- GDB (เป็นทางเลือกในการดีบัก)
- XTERM (เป็นทางเลือกในการดีบัก)