Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么样的C++;我需要学习制作自己的操作系统内核吗?_C++_Assembly_Operating System - Fatal编程技术网

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

C++ 什么样的C++;我需要学习制作自己的操作系统内核吗?,c++,assembly,operating-system,C++,Assembly,Operating System,要制作自己的操作系统内核,我需要学习什么样的C++(重述编程)?(我知道我还必须学习组装。) 编辑***如中断、键盘驱动程序、获取输入。*** 好的,各位,我制作了一个真正的*3基本操作系统,并想与大家分享 给你。 在linux上编译所有。这不是一项简单的任务,您需要学习该语言的大部分方面,我建议您查找内核编程。从表面上看,我会在嵌入语法之前查找编程语言的逻辑理论和范例。这里有硬件层,你需要学习的东西太多了,比你在这个网站上得到的答案或谷歌搜索要多 祝你好运 考虑到您今天的选择,绝对没有理由“

要制作自己的操作系统内核,我需要学习什么样的C++(重述编程)?(我知道我还必须学习组装。) 编辑***如中断、键盘驱动程序、获取输入。***

好的,各位,我制作了一个真正的*3基本操作系统,并想与大家分享

给你。


在linux上编译所有。这不是一项简单的任务,您需要学习该语言的大部分方面,我建议您查找内核编程。从表面上看,我会在嵌入语法之前查找编程语言的逻辑理论和范例。这里有硬件层,你需要学习的东西太多了,比你在这个网站上得到的答案或谷歌搜索要多


祝你好运

考虑到您今天的选择,绝对没有理由“制作”一个操作系统。学好一门语言,熟悉Windows或Linux的变体。C或C++是很好的学习。
编辑澄清-我的观点是,试图通过制作操作系统第一次学习一门语言既不现实又近乎疯狂。至少需要有一个真正优秀的C语言背景,否则,在尝试推出自己的操作系统之前,请先开始制作应用程序并充分利用现有操作系统的功能。

只有一种可以帮助缩小范围。从学习CPU体系结构手册开始,可以使用英特尔的。获取BIOS的文档将是很难的部分。

< P>我不建议在制作一个完整的内核时使用C++。但是,如果你正在考虑一个微内核设计,你可以在C++中编写服务器(网络、控制台、FS、VFS等),同时保持内核本身与C/nLimeASM紧密结合。 再说一次,如果你只是选择x86,那也没什么大不了的


您的操作系统的设计目标是什么?

我有一个朋友用C++编写了一个操作系统内核:

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

你甚至可能想偷他的 引导和构建代码,这样您就可以直接进入 开始执行“有趣的东西”。< /P> < P>检查,它是C++中的OS项目!p> 回答你的问题:

操作系统(通常是 缩写为OS或O/S)是 硬件与软件的接口 应用;它负责 管理和协调 活动和分享 计算机资源有限。这个 操作系统充当服务器的主机 在上运行的应用程序 机器。因此,您需要学习C++中的那些位使您的程序(OS)与它运行的硬件交互。 然后,它需要超越与硬件交互和为用户提供使用

,请再次回顾一下,在NANOOS中尝试什么作为起点(C++学习需要什么,构建C++中的操作系统)

nanoos中的功能:

  • C++运行时

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

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

  • IDE硬盘读取

基本上,要编写一个应用程序,只需检查操作系统需要做什么(或者它是什么)

如果我要写一个操作系统,甚至在考虑语言之前,我会试图理解操作系统是什么:操作系统的设计和实现


读一读。祝你好运

我建议直接使用C进行内核开发。随着OS的发展,你真的想知道下面的内容是什么,我觉得C++隐藏了太多的底层开发。 良好资源:


查看Linux内核邮件列表中常见问题(适用于任何内核开发),不要被点泄气。

< P>由于多种技术原因,Linux除了C语言之外没有编程语言。由于各种政治原因,很少有其他OSE程序被编程为C++。
如果您想了解编程内核,Minix操作系统/微内核是专门为学习操作系统设计而设计的。它又小又小。它也被编程在C.</P> < P>中,只有在C++中被编程为“裸金属”的任何重要的大小的OS才是AS/400操作系统OS/400(V3R6之后)。 没有什么能阻止你在C++中做任何操作系统——尤其是当你回忆起香草C是“几乎”有效的C++时。有趣的是在最低级别执行
new
/
delete
,因为您需要保证没有泄漏等。这导致需要重新实现
新功能

我帮助做了v3r6,但已经13年了,我不记得那些毛茸茸的细节了。我不知道有任何关于它的出版物,但是如果你真的感兴趣的话,试着在


(Augh.“删除”vice“free”。

我建议看一看(不是另一个完全启发式的操作系统)。这是我们在大学操作系统课程中使用的教学操作系统。

我建议您看看。它是一个奇妙的信息源,包括在许多语言中编写一个操作系统,包括C++。p>

具体地说,它告诉您使用GCC使用C++内核所需的一切。p> 最后,看看,那里有很多用户,从新手到经验丰富的用户。他们通常很乐意帮助别人(只要他们在显示之前就显示出“强”>“强”>:-p)

是一个很好的C++内核。你也是,我也是。Newos是一位前BeOS开发者开发的微内核。L4也是一种微内核,以其难以置信的快速消息传递而闻名。eCos是一个单片内核