gpt4 book ai didi

operating-system - 是否可以不使用一行 C/C++ 代码来编写整个操作系统?

转载 作者:行者123 更新时间:2023-12-03 22:46:18 27 4
gpt4 key购买 nike

是否可以不使用一行 C/C++ 代码来编写整个操作系统?

编辑:要添加到列表中的另一个 - 程序集

最佳答案

是和不是。

首先,重要的是要记住无论您选择哪种语言,最终编译的产品都是汇编语言(或更准确地说是机器代码)。甚至解释器(例如 cpython 解释器)最终也会将您的脚本翻译成机器代码。

但这可能过于技术性并且错过了您问题的核心:

“我可以用高级语言编写操作系统吗?”

这个问题的答案既有个人的,也有技术的。

首先,个人方面:如果还不知道如何用汇编语言和 C 语言混合编写操作系统,那么您绝对没有机会尝试操作系统设计。

那些刚接触编程的人经常会遇到这类问题,因为他们想做一些像编写新操作系统一样酷的事情,甚至不需要尝试这样的项目所需的所有学习。他们想知道高级语言是否可以成为绕过所有困惑学习的一种方式。

所以,如果,在你的内心深处,这就是你所追求的,现在就停下来。停,停,停。擅长某事是一项艰苦的工作。没有捷径。准备好卷起袖子,患上腕管综合症。

这并不排除遵循最终操作系统设计的道路!如果那是你的激情所在,那就从头开始,一路向下。获取有关网络协议(protocol)、内存管理、线程等方面的书籍,处理每个主要子系统并深入了解它。如果你不能使用旧的,你就不能写一个新的!

然后阅读有关操作系统设计和实现的书籍,直到您梦想着进程管理方法。

请记住,所需的知识量(不仅是计算机操作,还包括 API 等社会结构)是巨大的。这是一段漫长的旅程,也是一次收获颇丰的旅程。如果你真的像我一样喜欢这门手艺,即使你从未真正编写过操作系统,你也会很高兴你花时间。

现在,技术答案。您将需要一个引导加载程序,并且必须用汇编语言编写。毕竟,你的处理器不懂 C#。在引导加载程序阶段之后,您可以使用任何您想要的语言编写操作系统代码并且它会运行,假设您的语言可以编译为机器代码二进制文件(而不是字节码!)

然而,即使在我们当前的“循环过剩”计算环境中,操作系统也必须精简高效,而这几乎不可能在更高级别的语言中实现,在解释语言中更是如此。

很有可能,您需要编写自己的给定语言的编译器/解释器作为操作系统的核心组件。该核心编译器可能只允许该语言的受限子集(并且您可以通过在受限子语言中编写更强大的编译器来引导)。否则性能会很差。

但所有这些都非常复杂,真正讨论这些问题需要您目前可能缺乏的知识深度。但是,如果您有这样做的动力,您可以轻松地改变它,然后我会很高兴整天讨论方法!

如果它让你感觉好些,我确实知道编写一个操作系统,但我仍然坐在那里做白日梦,试图弄清楚我可以用 python 编写多少操作系统。 ;)

关于operating-system - 是否可以不使用一行 C/C++ 代码来编写整个操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627095/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com