操作系统

Operating Systems

本课程的目标是帮助您了解几乎每个程序都与之交互的最重要的软件:操作系统。

每个模块都将涵盖软件工程师的概念基础和实际注意事项。您将编写简短的程序并问自己“操作系统是如何实现这一点的?我的概念理解如何解释我所看到的行为?您应该让每个人都有更好的整体理解,并发现使您的程序更高效、更安全的新方法

本课程的核心是每个主题的问题顺序。您应该以自己解决每个问题为目标,根据需要使用有效的解决方案和补充解释器。虽然本课程没有严格要求的教科书,但我们强烈建议将《操作系统:三个简单的部分》(“OSTEP”)作为补充,并建议与每组问题一起阅读特定的章节。我们还为已经拥有副本的人推荐了 Computer Systems: A Programmer’s Perspective 中的更多资源,以及贯穿始终的其他相关资源。

我们讨论的大多数主题将广泛适用于所有操作系统,但是在我们需要具体说明的地方,我们将关注 Unix 操作系统系列,并最终通过 GNU/Linux 操作系统的视角,我们鼓励您在需要时将其作为虚拟机运行。我们选择这个操作系统是因为它的受欢迎程度以及它整个源代码的可用性。这不是一门 “Linux 课程”,大多数问题都可以在其他操作系统上完成,但有一些特定的例外,例如与容器(Linux 特有的概念)相关的例外。尽管特定的接口可能大不相同,但相同的一般原则往往适用。参加本课程不需要 Linux 知识。

重要提示:我们强烈建议您在本课程之前完成大部分 Computer Systems 或同等课程。许多主题,如基本的计算机体系结构和 C 语言的熟悉程度,都被视为假定知识。当然,欢迎您尝试这门课程并从计算机系统中挑选主题来填补空白。许多问题在编译的 “系统” 语言(如 C、C++ 或 Rust)中是最容易完成的,尽管欢迎你用任何语言尝试它们。

有关如何使用 CS Primer 的更多建议,请参阅操作指南。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。