Ядро операционной системы Xbook2 представляет собой 32-разрядное ядро процессора на основе платформы Intel X86, которую можно запустить в QEMU, Bochs, Virtual Box, VMware и других виртуальных машинах. Он также может работать на физической машине (требуются драйверы, поддерживаемые системой)
Xbook2 разработан как архитектура межпроцессорной платформы с архитектурой Arch, где можно добавить новую платформу процессора. Тем не менее, в настоящее время он пытается как можно больше разделить связанные с платформой части на арку, и не было полностью разделено. Только после реализации еще нескольких платформ может может быть более оптимально разделена платформа процессора и части ядра.
Схематическая диаграмма структуры ядра:
USER MODE:
+---------------------------+
| libs | apps |
+---------------------------+
KERNEL MODE:
+---------------------------+
| FSAL |
+---------------------------+
+---------------------------+
|task | ipc | vmm | drivers |
+---------------------------+
| arch |
+---------------------------+
/
+---------------------------+
| hardware |
+---------------------------+
| Оглавление | описывать |
|---|---|
| развивать | Дисковые зеркала, содержимое файловой системы ROM и т. Д. Используются во время разработки |
| док | Документация, связанная с операционной системой |
| сценарии | Используемые сценарии Xbuild и другие файлы конфигурации |
| SRC | xbook2 исходный код ядра |
| инструменты | Инструменты, необходимые для разработки ядра |
| бин | Программа исполняемой командной строки |
| Sbin | Программа, используемая системой |
| либера | Библиотека статуса пользователя |
Список функций системы:
多进程,内核多线程,用户多线程
虚拟内存管理,分页内存管理,物理内存管理
管道通信,共享内存,消息队列,信号量
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. Загрузите Toolkit I Alement: BuildTools и после загрузки, настройте переменную среды каталога декомпрессии в путь переменной системы системной среды. (Обратите внимание, что если у вас уже есть среда Mingw или Cygwin на вашем компьютере, пожалуйста, поместите переменные среды этого инструментария в переднюю позицию, в противном случае программы в инструментарии не будут выполнены). Кроме того, поскольку Grub поддерживается, среда инструмента для Grub должна быть настроена отдельно, что также находится в 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Если вы столкнетесь с ошибкой при составлении ссылки на инструментальной оболочке, вы можете попытаться найти решение в файле 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
E-mail: [email protected]
Личное письмо: [email protected]
Личный QQ: 2323168280
Разработка и коммуникация QQ Группа: 913813452