Der XBook2-Betriebssystemkernel ist ein 32-Bit-Prozessor-Systemkernel, der auf der Intel X86-Plattform basiert, die in QEMU, Bochs, virtuellen Box, VMware und anderen virtuellen Maschinen ausgeführt werden kann. Es kann auch auf einer physischen Maschine ausgeführt werden (die vom System unterstützten Treiber sind erforderlich)
XBOOK2 wurde als Cross-Processor-Plattformarchitektur mit einem Arch-Verzeichnis konzipiert, in dem eine neue Prozessorplattform hinzugefügt werden kann. Derzeit versucht es jedoch, die plattformbezogenen Teile so weit wie möglich in Bogen zu trennen, und es wurde nicht vollständig getrennt. Erst nachdem mehrere weitere Plattformen implementiert sind, können die Prozessorplattform und die Kernel -Teile besser optimaler getrennt werden.
Schematisches Diagramm der Kernelstruktur:
USER MODE:
+---------------------------+
| libs | apps |
+---------------------------+
KERNEL MODE:
+---------------------------+
| FSAL |
+---------------------------+
+---------------------------+
|task | ipc | vmm | drivers |
+---------------------------+
| arch |
+---------------------------+
/
+---------------------------+
| hardware |
+---------------------------+
| Inhaltsverzeichnis | beschreiben |
|---|---|
| entwickeln | Festplattenspiegel, ROM -Dateisysteminhalte usw. während der Entwicklung verwendet |
| Dokument | Betriebssystemdokumentation |
| Skripte | Verwendete Xbuild -Skripte und andere Konfigurationsdateien |
| src | Xbook2 Kernel -Quellcode |
| Werkzeuge | Tools, die für die Kernelentwicklung erforderlich sind |
| Mülleimer | Befehlszeile ausführbares Programm |
| sbin | Das vom System verwendete Programm |
| libs | Benutzerstatusbibliothek |
Systemfunktionsliste:
多进程,内核多线程,用户多线程
虚拟内存管理,分页内存管理,物理内存管理
管道通信,共享内存,消息队列,信号量
IDE硬盘驱动,PS/2鼠标,键盘驱动,VBE视频驱动
UART串口驱动
FATFS文件系统
PTHREAD线程库
Xbook2 Kernel -Entwicklungsdokumentation
整体思路:
1. 用git从仓库克隆源码或者直接下载源码。
2. 配置最基础的工具集:gcc, nasm, ld, dd, rm, objdump, objcopy。
3. 配置虚拟机:qemu(默认),bochs,virtual box, vmware任选其一。
5. 进入xbook2的根目录目录,打开终端或者命令行,输入命令make build先构建环境,然后make run编译运行。
1. Laden Sie das Toolkit, das ich extrahiert habe: Buildtools, herunter und konfigurieren Sie nach dem Herunterladen die Umgebungsvariable für Dekompressionverzeichnisse in den Variablen Pfad der Systemumgebung. (Beachten Sie, dass wenn Sie bereits über eine Mingw- oder Cygwin -Umgebung auf Ihrem Computer verfügen, bitte die Umgebungsvariablen dieses Toolkits in die vordere Position setzen, sonst werden die Programme im Toolkit nicht ausgeführt.) Da Grub unterstützt wird, muss die Tool -Umgebung für GRUB separat konfiguriert werden, was ebenfalls in Gebäudestücken ist. Das Verzeichnis, in dem Umgebungsvariablen konfiguriert werden müssen, lautet wie folgt:
BuildTools
BuildTools/genisoimage
BuildTools/grub-2.04
BuildTools/mkfs
BuildTools/mtools
2. Laden Sie die neueste Version von QEMU herunter: Qemu. Nach dem Herunterladen installieren Sie es, konfigurieren Sie die Umgebungsvariable für Installationsverzeichnisse in den Variablenpfad der Systemumgebung oder laden Sie die Version, die ich extrahiert habe: QEMU-I386. Konfigurieren Sie nach dem Herunterladen die Umgebungsvariable für Dekompressionsverzeichnisse in den Systemumgebungsvariablenpfad.
3. Wenn Sie die virtuelle Maschine Beschleunigung verwenden möchten, laden Sie die QEMU -Beschleunigungserweiterung unter Windows HAXM V7.6.5 herunter: und installieren Sie sie nach dem Herunterladen.
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 grubWenn Sie beim Kompilieren des ToolChain -Links auf einen Fehler stoßen, können Sie versuchen, eine Lösung in der FAQS.MD -Datei zu finden.
> make build # 构建环境
> make run # 编译并运行,默认使用qemu虚拟机运行 > make # 只编译源码
> make build # 构建环境
> make debuild # 清理环境
> make run # 编译并运行,默认使用qemu虚拟机运行
> make qemu # 使用qemu虚拟机运行
> make clean # 清除编译产生的对象文件以及可执行文件
> make user # 只编译用户程序(在开发应用时常用)
> make user_clean # 只清除用户态生成的内容Kontaktinformationen: Open Source Official Website: www.book-Os.org
E-Mail: [email protected]
Persönliche E -Mail: [email protected]
Persönliches QQ: 2323168280
Entwicklungs- und Kommunikations -QQ -Gruppe: 913813452