Skip to content

Latest commit

 

History

History
16 lines (8 loc) · 1.42 KB

体会.md

File metadata and controls

16 lines (8 loc) · 1.42 KB

截止到2020年底,FreeFlyOS项目基本结束了,因为之前对OS比较感兴趣并且有一定的了解,再加上暑期参加了一个开源OS的内存优化,感觉自己实现起来也并不算太难,所以从9月起开始写这个项目,直到12月底才基本完成,期间遇到了很多问题,但最后都解决了,说明我行,你也行!如果你有写OS的想法的,并且有时间完成它,那么为何不自己实现一个呢,不去造轮子怎么理解轮子的本质呢?

这也算实现了自己的小目标了,以后看有没有时间继续更新了!

项目地址:https://github.com/dashanji/FreeFlyOS

该项目基本包含一个简单OS的功能,大约5000行代码左右(C+ASM),其余语言均是由构建脚本(CMake)或者反汇编(x86_64-elf-objdump)或查看elf文件信息(x86_64-elf-x64-readelf)生成,

![image-20201228110949237](/Users/caoy/Library/Application Support/typora-user-images/image-20201228110949237.png)

说一下开发OS的感受吧:

整体下来,感觉对Linux的一些基本原理了解更多了,但是说实话,写时一时爽,调试火葬场。

所以要写好一个OS的代码,必须先学会调试,不然有BUG的话,你就会很难受。目前我觉得最多的BUG就是缺页异常,所以对于页表的操作需要格外小心,此外最难发现的BUG就是内核栈和用户栈问题,栈的内容说不定会在不经意间更改。