什么是使用C++创建我自己的操作系统的方法。我已经创建了引导装载程序(使用nasm,qemu),但是我不知道向该引导装载程序添加内核。使用C++编写操作系统
回答
这里有一个ton of information,你最终会需要,可怕的OS编程常见问题解答。
你可以考虑看MINIX这是一个小型的操作系统为x86系统。它最初是作为一个教学项目而设计的,并且已经演变成旨在在现实世界中有用的东西。
你可以看看MINIX 3的源代码。它是一个非常简单的操作系统,其目的是了解操作系统如何工作。
你也可以学习关于操作系统的所有的Tanenbaum的书。他们都非常完整,我记得有一本书有附加minix的完整源代码,并提出了评论
我不熟悉细节,但据我所知BeOS是用C++编写的。资料来源应该是免费的,以及文件。
对于内核,你可以看看http://newos.org/(写一个前Be员工*和*使用http://haiku-os.org/他们是克隆)。 – 2010-01-27 10:17:39
如果您有任何问题,请尝试我们的http://forums.osdever.net – Brenden 2011-08-24 19:05:49
小心,C++是一个操作系统内核相当重量级的。
- 有像服务异常,你将不得不支持运行时库。
- 直到你添加一个堆,它才会感觉像C++。
- 内核对分配对象的位置非常敏感;通常在C++中使用的单堆模型并不适合。
- 将API耦合到数据结构是一个坏主意。 BeOS有这个问题。你需要隐藏用户内部结构的大小,这意味着当API是成员函数时,跳过圈套(Pimpl,私有构造函数,虚函数)。
这听起来像你已经比大多数人更进一步,所以不断问问题,你可能会结束在一个很好的地方! :vD
可以在L4的顶部开发一个可用的操作系统,即使一个学期的单个学生连同其他课程(但所有驱动程序问题已经解决)都可以开发。如果发现这是一个伟大的冒险,并且L4微内核也是先进的。
- 1. 用UEFI编写操作系统
- 2. 为arm架构编写操作系统
- 3. 如何编写操作系统
- 4. 编写定制的Android操作系统
- 5. 关于编写操作系统
- 6. 使用c#获取操作系统#
- 7. 操作系统如何引入C语言来编写内核
- 8. 确定从32位操作系统或64位操作系统C/C++应用
- 9. C#for 64bit操作系统?
- 10. 移动操作系统及其编写的编程语言
- 11. uart与linux和用户编写的操作系统的问题
- 12. 用C++编写插件系统
- 13. 从C调用操作系统设置#
- 14. 操作系统
- 15. C/C++声音操作系统API
- 16. 用c编程取决于操作系统
- 17. 在64位操作系统上编写程序时,程序是否会运行在32位操作系统上?
- 18. 是否可以为手机编写操作系统?
- 19. 在XC8中编写调度程序/实时操作系统
- 20. 以解释语言编写操作系统
- 21. x86汇编直接写入VGA简单操作系统
- 22. 编写一个基于unix的操作系统
- 23. 我可以在机器代码中编写操作系统吗?
- 24. 在32位操作系统上是否使用Vista 64编写代码?
- 25. C++/clrIntelliSense:没有操作符“+”匹配这些操作数。系统:双^ +系统:双^
- 26. 操作系统:编译器混淆
- 27. 如何编程操作系统?
- 28. 8086无操作系统编程;分割
- 29. 操作系统的编译时间
- 30. iPhone操作系统/ SDK编程信息
我认为这实际上是一个很好的,建设性的问题。 – Renra 2014-05-13 15:48:37
也许它的性质很广泛,但它肯定给我提供了很好的线索来探索 – Renra 2014-05-13 15:55:10
有没有愚蠢的问题,只有愚蠢的人。 – SasQ 2015-01-29 17:31:30