这是用曲折编程语言编写的开源操作系统项目。
Bamos不会引入新的标准,而是为实施现有标准的最佳实施而努力。
该项目的主要功能和目标是尽可能多地使用文献,简洁和简单的代码库来开发轻巧且非常快速的操作系统。
它旨在同时包括内核和用户空间(GNU/Linux,Windows NT等)之间多个系统ABI的本机支持。这应该显着改善用户体验并简化软件开发人员的工作。

尽管C/C ++或可能更安全的生锈等熟悉且已建立的语言,但我们的选择是Zig。
Zig足够简单,可以比Rust更加可维护,同时提供了C/C ++的更安全,更有用的替代方案。 Zig允许生成高速和优化的机器代码,其主要优点之一是构建系统,这使得编译过程变得无缝且非常简单。
要创建一个内核可执行文件,您只需要就是源代码,ZIG编译器和命令zig build kernel 。
一般的操作系统文档可在此页面上可用。
代码文档可在此页面上可用。如果要在本地生成文档,请运行以下命令:
zig build docs docs目录将放置一个静态站点,然后可以使用以下方式启动该站点。
cd docs
python -m http.server可以在官方网站上找到其标准库的ZIG语言描述和文档。
Bamos仍然是一个小型但正在增长的项目。
我们欢迎任何贡献,并邀请您参加该项目的开发和发展。
请参阅有关贡献的信息。
构建过程非常简单:
git clone https://github.com/bagggage/bamos.git
cd bamos
zig build kernel --release=[small | safe | fast]默认情况下,构建结果将位于.zig-out目录中。要指定不同的路径,请在构建过程中使用--prefix=[path]选项。
当前,OS依赖于第三方引导Bootloader,并且使用bootboot/mkbootimg实用程序来创建图像。将来,计划简化此阶段,并使其更跨平台。但是,目前,要创建图像,您需要:
mkbootimg 。env.sh中设置BOOTBOOT变量来指定bootboot-bin目录的路径。iso.sh默认情况下,图像将放置在dist目录中。
要快速操作系统测试和启动,建议使用QEMU仿真器。
在Windows上,您还应该事先将qemu目录添加到PATH环境变量中。
在项目的根目录中,有qemu.sh和debug.sh脚本:
qemu.sh在模拟器中运行预构建的系统图像(默认dist/bamos.iso )。debug.sh编译,创建图像并在模拟器中运行系统。 Bamos处于发展的早期阶段,许多事情尚未实施。此外,编写实施和开发操作系统体系结构需要一种迭代方法来找到最佳解决方案,因此一些细节可能会改变,但这一切都更好。
要跟踪项目中已经实现的内容以及目前的哪个阶段,请查看此页面。