เคอร์เนลระบบปฏิบัติการ Xbook2 เป็นเคอร์เนลระบบโปรเซสเซอร์ขนาด 32 บิตตามแพลตฟอร์ม Intel X86 ซึ่งสามารถทำงานใน QEMU, BOCHS, กล่องเสมือน, VMware และเครื่องเสมือนอื่น ๆ นอกจากนี้ยังสามารถทำงานบนเครื่องทางกายภาพ (จำเป็นต้องมีไดรเวอร์ที่สนับสนุนโดยระบบ)
Xbook2 ได้รับการออกแบบให้เป็นสถาปัตยกรรมแพลตฟอร์มข้ามโปรเซสเซอร์พร้อมไดเรกทอรี Arch ที่สามารถเพิ่มแพลตฟอร์มโปรเซสเซอร์ใหม่ได้ อย่างไรก็ตามขณะนี้กำลังพยายามแยกชิ้นส่วนที่เกี่ยวข้องกับแพลตฟอร์มออกเป็นซุ้มประตูให้มากที่สุดและยังไม่ได้แยกออกจากกันอย่างสมบูรณ์ หลังจากใช้แพลตฟอร์มอื่น ๆ อีกหลายแพลตฟอร์มโปรเซสเซอร์และชิ้นส่วนเคอร์เนลจะถูกแยกออกได้ดีขึ้นอย่างเหมาะสมยิ่งขึ้น
แผนผังไดอะแกรมของโครงสร้างเคอร์เนล:
USER MODE:
+---------------------------+
| libs | apps |
+---------------------------+
KERNEL MODE:
+---------------------------+
| FSAL |
+---------------------------+
+---------------------------+
|task | ipc | vmm | drivers |
+---------------------------+
| arch |
+---------------------------+
/
+---------------------------+
| hardware |
+---------------------------+
| สารบัญ | อธิบาย |
|---|---|
| พัฒนา | กระจกดิสก์เนื้อหาระบบไฟล์ ROM ฯลฯ ที่ใช้ในระหว่างการพัฒนา |
| เอกสาร | เอกสารที่เกี่ยวข้องกับระบบปฏิบัติการ |
| สคริปต์ | ใช้สคริปต์ xbuild และไฟล์การกำหนดค่าอื่น ๆ |
| SRC | ซอร์สโค้ดเคอร์เนล Xbook2 |
| เครื่องมือ | เครื่องมือที่จำเป็นสำหรับการพัฒนาเคอร์เนล |
| ถังขยะ | โปรแกรมปฏิบัติการบรรทัดคำสั่ง |
| sbin | โปรแกรมที่ใช้โดยระบบ |
| Libs | ไลบรารีสถานะผู้ใช้ |
รายการฟังก์ชั่นระบบ:
多进程,内核多线程,用户多线程
虚拟内存管理,分页内存管理,物理内存管理
管道通信,共享内存,消息队列,信号量
IDE硬盘驱动,PS/2鼠标,键盘驱动,VBE视频驱动
UART串口驱动
FATFS文件系统
PTHREAD线程库
เอกสารการพัฒนาเคอร์เนล Xbook2
整体思路:
1. 用git从仓库克隆源码或者直接下载源码。
2. 配置最基础的工具集:gcc, nasm, ld, dd, rm, objdump, objcopy。
3. 配置虚拟机:qemu(默认),bochs,virtual box, vmware任选其一。
5. 进入xbook2的根目录目录,打开终端或者命令行,输入命令make build先构建环境,然后make run编译运行。
1. ดาวน์โหลดชุดเครื่องมือที่ฉันแยก: buildtools และหลังจากดาวน์โหลดกำหนดค่าตัวแปรสภาพแวดล้อมการบีบอัดไดเรกทอรีลงในเส้นทางตัวแปรสภาพแวดล้อมของระบบ (โปรดทราบว่าหากคุณมีสภาพแวดล้อม MingW หรือ Cygwin ในคอมพิวเตอร์ของคุณแล้วโปรดใส่ตัวแปรสภาพแวดล้อมของชุดเครื่องมือนี้ในตำแหน่งด้านหน้ามิฉะนั้นโปรแกรมในชุดเครื่องมือจะไม่ถูกดำเนินการ) นอกจากนี้เนื่องจากด้วงได้รับการสนับสนุนสภาพแวดล้อมเครื่องมือสำหรับด้วงจะต้องกำหนดค่าแยกต่างหากซึ่งอยู่ใน buildtools ดังนั้นไดเรกทอรีที่ต้องกำหนดค่าตัวแปรสภาพแวดล้อมมีดังนี้:
BuildTools
BuildTools/genisoimage
BuildTools/grub-2.04
BuildTools/mkfs
BuildTools/mtools
2. ดาวน์โหลด QEMU เวอร์ชันล่าสุด: QEMU หลังจากดาวน์โหลดให้ติดตั้งกำหนดค่าตัวแปรสภาพแวดล้อมการติดตั้งไดเรกทอรีลงในเส้นทางตัวแปรสภาพแวดล้อมระบบหรือดาวน์โหลดเวอร์ชันที่ฉันแยก: QEMU-I386 หลังจากดาวน์โหลดกำหนดค่าตัวแปรสภาพแวดล้อมการบีบอัดไดเรกทอรีลงในเส้นทางตัวแปรสภาพแวดล้อมของระบบ
3. หากคุณต้องการใช้การเร่งความเร็วของเครื่องเสมือนดาวน์โหลดส่วนขยายการเร่งความเร็ว QEMU ภายใต้ Windows Haxm v7.6.5: และติดตั้งหลังจากดาวน์โหลด
1.安装gcc, nasm:
Ubuntu/Kali Linux: sudo apt-get install gcc nasm truncate
Red hat/Fedora/Centos: sudo yum install gcc nasm truncate
2.安装qemu虚拟机:
Ubuntu/Kali Linux: sudo apt-get install qemu-system-x86
Red hat/Fedora/Centos: sudo yum install qemu-system-x86
3.安装grub引导相关工具:
Ubuntu/Kali Linux: sudo apt-get install grub mtools genisoimage
Red hat/Fedora/Centos: sudo yum install grub mtools genisoimage
# 1.安装 i386-gcc
> brew tap nativeos/i386-elf-toolchain
> brew install i386-elf-binutils i386-elf-gcc
# 2.安装 truncate nasm qemu
> brew install truncate nasm qemu
# 3.安装 grub
> brew install grubหากคุณพบข้อผิดพลาดเมื่อรวบรวมลิงค์ Toolchain คุณสามารถลองค้นหาวิธีแก้ปัญหาในไฟล์ FAQS.MD
> make build # 构建环境
> make run # 编译并运行,默认使用qemu虚拟机运行 > make # 只编译源码
> make build # 构建环境
> make debuild # 清理环境
> make run # 编译并运行,默认使用qemu虚拟机运行
> make qemu # 使用qemu虚拟机运行
> make clean # 清除编译产生的对象文件以及可执行文件
> make user # 只编译用户程序(在开发应用时常用)
> make user_clean # 只清除用户态生成的内容ข้อมูลติดต่อ: เว็บไซต์อย่างเป็นทางการของโอเพ่นซอร์ส: www.book-os.org
อีเมล: [email protected]
อีเมลส่วนตัว: [email protected]
QQ ส่วนบุคคล: 2323168280
การพัฒนาและการสื่อสารกลุ่ม QQ: 913813452