{"id":13669693,"url":"https://github.com/CasterWx/AntzOS","last_synced_at":"2025-04-27T08:32:51.854Z","repository":{"id":49344465,"uuid":"142590644","full_name":"CasterWx/AntzOS","owner":"CasterWx","description":":earth_asia: Develop an intelligent AI half terminal half graphical operating system Antz.        一个随心所欲制造的操作系统Antz。","archived":false,"fork":false,"pushed_at":"2020-03-12T14:20:09.000Z","size":29019,"stargazers_count":457,"open_issues_count":1,"forks_count":50,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-11-11T07:38:39.318Z","etag":null,"topics":["c"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CasterWx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-27T14:56:42.000Z","updated_at":"2024-11-06T18:53:42.000Z","dependencies_parsed_at":"2022-07-26T10:48:41.707Z","dependency_job_id":null,"html_url":"https://github.com/CasterWx/AntzOS","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasterWx%2FAntzOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasterWx%2FAntzOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasterWx%2FAntzOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CasterWx%2FAntzOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CasterWx","download_url":"https://codeload.github.com/CasterWx/AntzOS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251112597,"owners_count":21538162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c"],"created_at":"2024-08-02T09:00:19.407Z","updated_at":"2025-04-27T08:32:46.843Z","avatar_url":"https://github.com/CasterWx.png","language":"C","readme":"﻿![screen](screen/11.jpg)\n\n系统封面授权取自于[phodal](https://github.com/phodal/daily)。\n\n# AntzOS\n\n\u003e 一个随心所欲制造的操作系统Antz。\n\nThe 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.\n\n#### \u003cspan id=\"rhsy\"\u003e开发文档\u003c/span\u003e\n\n[https://www.cnblogs.com/LexMoon/category/1262287.html](https://www.cnblogs.com/LexMoon/category/1262287.html)\n\n1. [主引导Boot Sector](https://www.cnblogs.com/LexMoon/p/antz01.html)\n2. [进入保护模式](https://www.cnblogs.com/LexMoon/p/antz02.html)\n3. [直接操作显存](https://www.cnblogs.com/LexMoon/p/antz03.html)\n4. [从硬盘载入内核](https://www.cnblogs.com/LexMoon/p/antz04.html)\n5. [深入理解保护模式与进入方法](https://www.cnblogs.com/LexMoon/p/antz05.html)\n6. [内核1](https://www.cnblogs.com/LexMoon/p/antz06.html)\n7. [内核2](https://www.cnblogs.com/LexMoon/p/antz07.html)\n8. [内核扩展](https://www.cnblogs.com/LexMoon/p/antz08.html)\n9. [实现图形化界面](https://www.cnblogs.com/LexMoon/p/antz09.html)\n10. [实现shell](https://www.cnblogs.com/LexMoon/p/antz10.html)\n11. [命令响应](https://www.cnblogs.com/LexMoon/p/antz11.html)\n12. [显示图片](https://www.cnblogs.com/LexMoon/p/antz13.html)\n13. [实现内置语言词法解析器](https://www.cnblogs.com/LexMoon/p/antz14.html)\n14. 实现启动动画\n\n#### \u003cspan id=\"hjdj\"\u003e环境搭建\u003c/span\u003e\n\n`makefile` + `gcc` + `dd`  ; `Windows下dd可直接使用exe版本的。`\n\n为了方便测试建议使用虚拟机。\n\n#### \u003cspan id=\"rhsy\"\u003e快速开始/如何使用\u003c/span\u003e\n\n1. 下载仓库内tools包中的`USB Image Tool`启动盘制作工具与`antz.img`镜像文件。\n2. 准备一个空闲的U盘。\n3. 按照下述图示。\n\n| 1 | 2 | 3 |\n| ------- | -------- | -------- |\n| ![run](screen/h1.png) | ![run](screen/h2.png) | ![run](screen/h3.png) |\n\n#### \u003cspan id=\"xgys\"\u003e效果演示\u003c/span\u003e\n\n| 制作启动动画 [图片来源:phodal/daily](https://github.com/phodal/daily) | 真机运行 |\n| ------- | -------- |\n| ![run](screen/my.gif) | ![run](screen/runShow.gif) |\n| 显卡的直接操作 | 进程与时钟 |\n| ![run](https://github.com/CasterWx/AntzOS/blob/master/screen/虚拟机1.gif?raw=true) | ![run](https://github.com/CasterWx/AntzOS/blob/master/screen/execute.gif?raw=true) |\n\n\n| vim |\n| ------- |\n| ![antz_run](https://github.com/CasterWx/AntzOS/blob/master/screen/虚拟机2.gif?raw=true) |\n\n\n\n#### \u003cspan id=\"js\"\u003e介绍\u003c/span\u003e\n\n这个系统在我最初的目的中是一个半图形半终端的轻巧OS。\n\n完成了当前的工作后，Antz接下来需要实现的则是关于任务调度相关的。\n\n目前实现的是在Terminal中对命令的响应，还有一个简易的vim，可以用于右边界面的文本编辑。\n\n对于按键中断，对全键盘的响应改良之后不会出现之前说的bug，但是在shift按下时的按键模式却是有很大问题，虽然我已经想到了解决方案，不外乎给shift的按下一个flag，弹起一个flag，但这部分感觉现在实现与否都是不怎么重要，所以就先忽略这里了。\n\n最近同时也在读Linux内核源码。发现其中的注释也是很有意思，甚至Linus自己写的，他也不知道这部分为什么这样写，不断尝试之后发现可以实现，他就这样用了。\n\n这个镜像文件可以直接使用工具写入u盘启动，或者在虚拟机打开。\n\n[AntzOs](https://github.com/CasterWx/AntzOS)需要更多优秀的开发者来实现，无论你是正在学习操作系统课程还是其他方面，我相信AntzOs都可以帮助你更加的深入了解计算机操作系统底层的实现。\n\n| 历史版本1 | 历史版本2 | 历史版本3 |\n| ------- | ------- | ------- |\n| ![os1](https://www.cnblogs.com/images/cnblogs_com/LexMoon/1246510/o_qq_pic_merged_1539834568688.jpg) | ![os2](https://www.cnblogs.com/images/cnblogs_com/LexMoon/1246510/o_antzos4.jpg) | ![os3](https://www.cnblogs.com/images/cnblogs_com/LexMoon/1246510/o_qq_pic_merged_1539834611072.jpg) |\n\n#### \u003cspan id=\"jlq\"\u003e交流群\u003c/span\u003e\n\nTelegram : [https://t.me/antzuhl/](https://t.me/antzuhl/)\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCasterWx%2FAntzOS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCasterWx%2FAntzOS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCasterWx%2FAntzOS/lists"}