这可能是徒劳的,因为我知道编写一个操作系统非常复杂(尤其是自己编写).
我不希望构建下一个linux或windows.
我知道这会很可怕,而且会有马车,而且不会起作用,但那很好.
我想自己写所有的东西,在Assembly、C和(一些)C++中.
这是一个future 的项目,因为我现在正忙于其他事情,没有时间,但我想我现在应该问一下,所以也许我可以得到很多答案,它可以建立并成为这种方法的有用资源(我所看到的其他一切都涉及到构建minix、使用现有的 bootstrap 加载程序、在虚拟 bootstrap 程序中构建它等等).
我想在我的一台旧台式机上安装一个显示器、键盘和鼠标,然后开始在一个blank硬盘上工作.
我想学习如何编写我自己的 bootstrap 加载程序(我已经找到了很多关于这方面的资源,但是为了完整起见,请仍然添加一些好的)、我自己的USB驱动程序(如果有必要)、CD驱动程序(如果有必要)等等,一切从头开始.
我怎么把代码放到电脑上呢?最好是用软盘吗?大多数电脑能从U盘上做到这一点吗?
我需要什么样的驱动程序,你能推荐一些关于构建这些驱动程序的参考资料吗?
在启动序列之后——然后呢?如何进入保护模式等.
如何在没有操作系统帮助的情况下管理内存?我想用什么地址就用什么地址?不需要初始化吗?
毫无疑问,我会遇到什么让我困惑的事情?
我怎样才能使它既是命令行操作系统,又是图形化操作系统?
图形O/S是建立在什么基础上的?比如,我该怎么做,一个命令行,上面有字体和图片?
我在哪里可以读到关于设置多任务环境的内容?(即,有两个并排运行的类似图形的命令行).
我该如何设置一种窗口系统?一旦设置了简单的多任务处理,如何在屏幕上显示图形?
相信我,我知道这是一个复杂的项目,我可能永远也不会go 完成它或写任何有用的东西.
还有很多我没有提到的其他作品,如果你想起来了,也请随意添加.
请在每个答案上写一个"主题"——例如,USB驱动程序,然后可能是一个资源列表,需要注意的事情,等等.
此外,请不要建议使用其他O/S或预先存在的代码.我知道我会编写很多预先存在的代码(比如linux内核,或者示例资源,现有的驱动程序等等),但最终我想自己完成所有的编写工作.我知道我是在其他东西的基础上建立起来的,如果我改变主意走这条路,还有很多其他的问题,我可以阅读.但这一切都是从零开始的.
有没有关于如何将其图形化的建议?不同的视频模式以及如何使用它们,等等?