操作系统基础

Fundamentals of Operating Systems

通过了解操作系统内核的工作原理来构建高效的软件

 学习内容

  • 了解操作系统的工作原理
  • 了解应用程序如何在操作系统中运行
  • 利用对操作系统工作的理解编写高效的应用程序
  • 了解系统调用的成本
  • 了解 CPU 如何执行进程
  • 内核的作用
  • CPU 架构和缓存
  •  虚拟内存
  •  套接字编程
  • 存储和文件系统管理

 要求

  • 建议有编程经验

 描述

操作系统编排许多进程,允许访问内存、磁盘和网络,并通过将它们调度到 CPU 来执行进程。当我们这样说时,听起来很简单,但这项任务是艰巨的。如此之大,以至于编写高效的程序实际上取决于工程师对操作系统的理解程度。

我一直着迷于揭示和揭开任何对我隐藏的东西的神秘面纱,主要是因为将黑匣子视为接受输入并产生输出的黑匣子,我觉得我受这个黑匣子的摆布。十年前,数据库对我来说是一个黑匣子,当我编写的查询最初运行得很快,但几个月后它就变慢了,我完全迷失了方向。原因是我对数据库系统及其内部工作原理一无所知。

操作系统也是如此,我们运行我们的程序变成了一个使用内存、访问磁盘和网络的进程,但我们真的不知道这是如何完成的,因此我们作为工程师必然会编写低效的代码。

我开设这门课程是为了向软件工程师揭开我认为是操作系统基础的神秘面纱。像我所有的课程一样,我建议有一定编程经验的学生参加这门课程,它只是使课程具有相关性。在本课程中,我将使用多种操作系统,如 Linux、Windows 和 Mac。

我希望你喜欢它。

本课程适合谁:

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