Skip to content

🌏 Develop an intelligent AI half terminal half graphical operating system Antz. 一个随心所欲制造的操作系统Antz。

License

Notifications You must be signed in to change notification settings

CasterWx/AntzOS

Repository files navigation

screen

系统封面授权取自于phodal

AntzOS

一个随心所欲制造的操作系统Antz。

The goal is to build a very simple UNIX-based operating system in c, not just a "proof-of-concept". The OS should be able to boot, start a userland shell, and be extensible.

开发文档

https://www.cnblogs.com/LexMoon/category/1262287.html

  1. 主引导Boot Sector
  2. 进入保护模式
  3. 直接操作显存
  4. 从硬盘载入内核
  5. 深入理解保护模式与进入方法
  6. 内核1
  7. 内核2
  8. 内核扩展
  9. 实现图形化界面
  10. 实现shell
  11. 命令响应
  12. 显示图片
  13. 实现内置语言词法解析器
  14. 实现启动动画

环境搭建

makefile + gcc + dd ; Windows下dd可直接使用exe版本的。

为了方便测试建议使用虚拟机。

快速开始/如何使用

  1. 下载仓库内tools包中的USB Image Tool启动盘制作工具与antz.img镜像文件。
  2. 准备一个空闲的U盘。
  3. 按照下述图示。
1 2 3
run run run

效果演示

制作启动动画 图片来源:phodal/daily 真机运行
run run
显卡的直接操作 进程与时钟
run run
vim
antz_run

介绍

这个系统在我最初的目的中是一个半图形半终端的轻巧OS。

完成了当前的工作后,Antz接下来需要实现的则是关于任务调度相关的。

目前实现的是在Terminal中对命令的响应,还有一个简易的vim,可以用于右边界面的文本编辑。

对于按键中断,对全键盘的响应改良之后不会出现之前说的bug,但是在shift按下时的按键模式却是有很大问题,虽然我已经想到了解决方案,不外乎给shift的按下一个flag,弹起一个flag,但这部分感觉现在实现与否都是不怎么重要,所以就先忽略这里了。

最近同时也在读Linux内核源码。发现其中的注释也是很有意思,甚至Linus自己写的,他也不知道这部分为什么这样写,不断尝试之后发现可以实现,他就这样用了。

这个镜像文件可以直接使用工具写入u盘启动,或者在虚拟机打开。

AntzOs需要更多优秀的开发者来实现,无论你是正在学习操作系统课程还是其他方面,我相信AntzOs都可以帮助你更加的深入了解计算机操作系统底层的实现。

历史版本1 历史版本2 历史版本3
os1 os2 os3

交流群

Telegram : https://t.me/antzuhl/

About

🌏 Develop an intelligent AI half terminal half graphical operating system Antz. 一个随心所欲制造的操作系统Antz。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages