我需要学习什么样的C++才能制作自己的操作系统内核?

H4c*_*0rD 9 c++ assembly operating-system

什么样的C++(重新编程)我必须学会制作自己的操作系统内核?(我知道我也必须学习装配.)编辑***像中断,键盘驱动程序,输入.***

好的,我做了一个真正的*3基本操作系统并希望分享它.

干得好. http://bcsy.hostzi.com/BytOS.zip

在linux上编译

jro*_*way 7

我有一个用C++编写OS内核的朋友:

http://sourceforge.net/projects/ekp/

所以这绝对是可能的.(上面的一些评论说这是不可能的.错了.)

您甚至可能想要窃取他的引导和构建代码,这样您就可以直接进入并开始实现"有趣的东西".


Bra*_*don 6

鉴于您今天的选择,绝对没有理由"制造"操作系统.学习一门语言非常好,并且对Windows或Linux的变体非常熟悉.C或C++非常适合学习.

编辑以澄清 - 我的观点是,尝试通过制作操作系统来首次学习语言既不现实又极端疯狂.至少在C中需要一个非常好的背景,否则在尝试自己动手之前就开始制作应用程序并利用现有操作系统的强大功能.

  • 我不能同意这一点,我编写了一个小型操作系统,这是学习文件系统,并发,同步原语,线程调度,I/O和中断等等的绝佳方式. (4认同)

Eva*_*ran 6

我建议你看一下OSDev wiki.它是有关使用多种语言(包括c ++)编程OS的极好信息来源.

具体来说,请参阅本节,它将告诉您使用gcc开始使用c ++内核所需的一切.

最后,看看OSDev论坛,那里有很多用户,从新手到经验丰富.他们通常非常乐意帮助别人(只要他们在询问之前表明他们已经尝试过:-P)


Han*_*ant 5

只有一种,应该有助于缩小范围.从研究CPU架构手册开始,英特尔免费提供.获取BIOS的文档将是困难的部分.


Ric*_*kyo 5

看看nanoos,它是一个用C++ 编写的操作系统项目!

在回答你的问题时:

操作系统(通常缩写为OS或O/S)是硬件和应用程序之间的接口; 它负责管理和协调活动以及共享计算机的有限资源.操作系统充当在计算机上运行的应用程序的主机.因此,您需要学习C++中的一些位,使您的程序(OS)能够与将要运行的硬件进行交互.

然后,它需要超越与硬件的交互并为用户提供使用.

为此,再回过头来看看nanoos中的尝试是什么(作为C++学习需要在C++中构建操作系统的必要条件)

nanoos中的功能:

  • C++运行时

  • 32位保护模式内存管理器

  • CPU检测,内存检测和IDE硬盘检测

  • IDE硬盘读取

基本上,要编写操作系统,只需查看操作系统需要做什么(或者它是什么)

如果我要编写操作系统,在考虑语言之前,我会尝试了解操作系统是什么,这是一本很棒的书:操作系统设计和实现.

替代文字http://ecx.images-amazon.com/images/I/3125C47MR4L._SL500_AA180_.jpg

读一读.祝好运