Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.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++_Linux_Unix_Operating System_Kernel - Fatal编程技术网

C++ 我如何才能完全理解操作系统的工作原理?

C++ 我如何才能完全理解操作系统的工作原理?,c++,linux,unix,operating-system,kernel,C++,Linux,Unix,Operating System,Kernel,我对这个问题的答案有一个想法,但我想我需要帮助来回答这个问题 我的大学讲师告诉我,了解操作系统的最好方法是“进入”Linux。有人能告诉我,实际上,我该怎么做?我真的不太了解Linux或Dissambler等 此外,任何其他有用的提示都是非常受欢迎的 我问这个问题的原因是因为最终我希望能够重新编写内核的部分,优化操作系统,制作一个“基本”版本,因为我对电子交易平台编程/高频交易非常感兴趣。关于这个主题有很多书。这里甚至有一个免费的。也算是你的资源之一。关于这个主题有很多书。这里甚至有一个免费的。

我对这个问题的答案有一个想法,但我想我需要帮助来回答这个问题

我的大学讲师告诉我,了解操作系统的最好方法是“进入”Linux。有人能告诉我,实际上,我该怎么做?我真的不太了解Linux或Dissambler等

此外,任何其他有用的提示都是非常受欢迎的


我问这个问题的原因是因为最终我希望能够重新编写内核的部分,优化操作系统,制作一个“基本”版本,因为我对电子交易平台编程/高频交易非常感兴趣。

关于这个主题有很多书。这里甚至有一个免费的。也算是你的资源之一。

关于这个主题有很多书。这里甚至有一个免费的。也算是你的资源之一。

我在学校读过这本书的一些章节:

Andrew S.Tanebaum的操作系统设计和实现


你可以看看

我在学校读过这本书的一些章节:

Andrew S.Tanebaum的操作系统设计和实现


你可以看看

事实上,当我开始进行linux开发时,让我对操作系统的作用产生了浓厚兴趣的那本书是《ARM体系结构参考手册》。 我理解了通用处理器工作原理的基本概念:

各种模式(管理器、用户等)、虚拟内存的概念、页面、页面表。各种各样的书堆等等

然后,所有关于用户空间与内核空间、系统调用、进程、线程执行上下文等的事情。。。我们非常适合我的处理器的心智模型


然后我读了《Linux设备驱动程序》,它是第二版,但第三版已经出版了,它教会了我操作系统如何工作的一个方面。因此,编程书很好,但理解处理器如何工作是一个很大的帮助

事实上,当我开始进行linux开发时,让我对操作系统的角色有了很好的理解的书是《ARM体系结构参考手册》。 我理解了通用处理器工作原理的基本概念:

各种模式(管理器、用户等)、虚拟内存的概念、页面、页面表。各种各样的书堆等等

然后,所有关于用户空间与内核空间、系统调用、进程、线程执行上下文等的事情。。。我们非常适合我的处理器的心智模型


然后我读了《Linux设备驱动程序》,它是第二版,但第三版已经出版了,它教会了我操作系统如何工作的一个方面。因此,编程书很好,但了解处理器的工作原理是一个很大的帮助

请访问OSDev wiki,它是一个非常好的入门资源,比直接跳入Linux内核的火焰中要友好得多


请访问OSDev wiki——对于初学者来说,它是一个很好的资源,比直接跳入Linux内核的火焰要友好得多


还有可能的重复:肯定有一本“linux程序员手册”。找一本这样的教科书和一份linux的源代码应该会对你有所帮助。这样做对你的电子交易没有多大帮助。对任何一个相当成熟的领域来说,“我如何才能完全理解foo?”通常的答案是“在至少十年的时间里至少学习foo 10000个小时”,但你可以从实现一个小的开始……而且可能是重复的:肯定有一种“程序员linux手册”。找一本这样的教科书和一份linux的源代码应该会对你有所帮助。这样做对你的电子交易没有多大帮助。对任何一个相当成熟的领域来说,“我如何才能完全理解foo?”通常的答案是“在至少十年内至少学习foo 10000个小时”,但你可以从实现一个小的开始…为什么你要回答一个问题,然后投票关闭它,这样就没有人可以了?为什么你要回答一个问题,然后投票关闭它,这样就没有其他人可以了?