X86-64 位简易系统开发 - 从 BIOS 阶段开始

267 天前
 Akvicor

最近回顾之前写的代码的时候, 发现了以前本科时还开发过一个 64 位的操作系统, 不过最终也只是开发到进程切换部分

这是一个涉及到汇编和 C 语言的一个偏底层偏硬核的项目, 而且为了能够学到更多东西, 使用的还是 BIOS 引导这一古老的方式加载内核

一路上踩过很多的坑, 虽然很遗憾没有彻底完成, 但是还是积累了不少的经验, 所以决定慢慢的把开发过程整理成博客发出来, 好让对系统开发感兴趣的同学少踩一些坑.

现在空闲时间有限, 整理代码的时候还发现部分代码有些可以修改的地方, 所以博客发的比较慢, 甚至有时候可能还会鸽一段时间, 还望不要介意

目前博客仅仅写完boot部分, 后续会继续更新loaderkernel部分

如果有可能, 在将现有的代码整理成博客发出后, 我会继续编写进程切换, 文件系统部分, 并且实现在系统里运行其他程序

目前的项目代码运行之后的界面如下, 当然我也是通过 U 盘在我的笔记本上启动成功了的, 还记得第一次在笔记本上运行失败, 在 bochs,qemu,vmware 却正常运行时的懵逼

最后, 欢迎那些正在开发自己的系统的同学在我的博客留言自己遇到的问题, 兴许这些问题我以前就遇到过

2169 次点击
所在节点    分享创造
2 条回复
xuld
267 天前
加油,支持一下
yulgang
266 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1123557

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX