一、效果
这个操作系统取名为winux
主要实现了内存管理、线程、进程、文件系统、shell、进程间通信,是用来学习linux操作系统的不错选择,自从我做完这么一个系统再去看《linux内核设计的艺术》就没那么吃力
先放效果图:
二、开发过程的介绍
1、参考书籍
用到的编程语言主要是汇编和C。
强烈推荐李忠的《X86汇编语言 从实模式到保护模式》,不仅可以学到x86汇编,而且有助于了解操作系统的原理。
马朝晖《汇编语言程序设计》主要是可以从中学到AT&T汇编,还有很多开发的技巧比如gcc、gdb的使用、编译动态库、编译静态库等等
有了前面的铺垫,再跟着郑钢《操作系统真相还原》来做就相对容易多了,但是这本书前200页左右感觉很多废话,我刚开始看的时候都看不下去了,但是书的主体还是不错的,越到后面越精彩,我很多是参考书中的,但是是在理解的基础上写自己的代码,并没有完全按照书中的来,这就造成出现bug需要自己调试很久,但是这能加深对操作系统的理解,中间我都有四五次想放弃了,怀疑自己到底能不能做出来,这个过程需要点耐心和细心。
以上三本书的顺序也是我学习的路线。
另外还需要你懂点Makefile和Shell脚本的知识
Makefile:
推荐祝冬华的《跟我一起写Makefile》,
以及makefile从入门到项目编译实战_哔哩哔哩_bilibili
Shell脚本:
2020全新_Shell脚本从入门到精通教程 视频_哔哩哔哩_bilibili
2、开发平台
Vscode和bochs
三、gitee仓库介绍
仓库主要有如下两个文件夹:docs和src。
如下图所示,docs文件夹主要是整个开发过程的记录,还有很多测试结果的截图,从中可以看出我是如何一步步搭建一个操作系统的,这也是我后面复习的思路:
如下图所示,src文件夹主要是内核的源码以及bochs要用到的镜像文件:
最后,这是仓库的地址,欢迎指正