项目地址:SimpleKernel
一个内核项目,着重模块化,尽量减少后面的模块对前面模块的依赖。 面向初学者 /需要撸内核的程序猿们。 让你可以从自己感兴趣的进度开始,在已有代码的基础上完善自己的想法。
这个项目刚开始是写着玩的,结果越陷越深。
每个 branch 都是不同的完成进度,如果你也想自己动手完成内核中某个模块,可你从最接近的地方开始。
已经完成的:
print_only
只有打印语句,实现了 C printf() 函数的部分功能。如果从这里开始,你要完成的包括除启动在内的所有事情,包括不限于和硬件打交道的东西。
intr_timer
完成了中断的设置。不需要手动设置中断等,接口都留好了,只需要改改就能实现大部分中断的处理。
keyboard_init
键盘输入处理已经搞定。从这里开始,此内核已经可以对用户输入做出响应。从这里以后,就进入了内存管理,进程管理以及文件系统的部分。
目前已经在搞内存管理了,已经完成的部分也或多或少有 bug。如果你对这个小项目有兴趣,非常欢迎发 issue。
运行环境: linux/MacOS 我已经写好了安装所需环境的脚本,只需要执行就可以了。( 还没测试
更多信息可以在 README 里找到。
欢迎大家说说自己的想法。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.