【问题标题】:How can i fully understand how an OS works?我如何才能完全理解操作系统的工作原理?
【发布时间】:2011-06-10 16:03:37
【问题描述】:

我知道这个问题的答案,但我想我需要答案的帮助。

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

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

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

【问题讨论】:

  • 肯定有一种“Linux 程序员手册”。找到一本这样的教科书和一份 linux 源代码的副本应该会对你有所帮助。
  • 在电子交易方面这样做对您没有多大帮助。只是说。
  • 对于任何相当成熟的领域,“我如何才能完全理解 foo?” 的通常答案是 “至少 10 年学习 foo 至少 10000 小时.",但你可以从实现一个小的开始......

标签: c++ linux unix operating-system kernel


【解决方案1】:

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

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

你可以看看。

【讨论】:

    【解决方案2】:

    前往 OSDev wiki - 对于初学者来说,它是一个很好的资源,而且比直接跳入 Linux 内核的火焰要友好得多。

    http://wiki.osdev.org/

    【讨论】:

      【解决方案3】:

      关于这个主题的书籍很多。这里甚至还有一个免费的 - Linux Device Drivers。也将LXR 视为您的资源之一。

      【讨论】:

      • 你为什么要回答一个问题,然后投票关闭它,这样其他人就无法回答?
      【解决方案4】:

      其实,当我开始做 linux 开发的时候,让我对 OS 的角色有了很好理解的一本书,就是《ARM 架构参考手册》。 我了解通用处理器如何工作的基本概念:

      各种模式(主管、用户等)、虚拟内存、页、页表的概念。各种堆栈等...

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

      然后我阅读了“Linux 设备驱动程序”,这是第二版,但后来又出版了第三版,它教会了我操作系统如何工作的一个方面。所以,编程书很好,但了解处理器的工作原理是一个很大的帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-27
        • 2015-02-21
        • 1970-01-01
        • 2021-08-15
        • 1970-01-01
        • 2013-01-02
        相关资源
        最近更新 更多