《Operating System:Three Easy Pieces》阅读笔记<一>——总览

814 阅读4分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情

本文为操作系统经典书籍《操作系统导论》英文原版《operating system:three easy pieces》的阅读笔记,在实际了解操作系统架构之前,我们得先了解操作系统的总体设计思想,自顶向下的学习相关知识,这本书是免费的网络书,作者Remzi教授和Andrea教授一直在更新内容,因此书中许多所讲例子都是比较新型的操作系统,内容生动风趣,图文并茂(至少前三大章节是这样)并且书中的习题非常值得一做。

这本书将操作系统的顶层设计分为了虚拟化、并发、持久化三大点,因此叫three easy pieces。但是在之后操作系统安全越来越受到人们重视,因此作者单独对于安全部分出了一小章,总体上我们依然将书中内容分为三个模块。由于这本书清晰的结构,我们可以很简单的画出整本书的思维导图大纲。

本节是接下来一系列文章的总览,看我能不能坚持下去将整本书更完吧[doge]

操作系统

在程序执行时,一条条代码语句变为了一条条指令,整个指令系统有条不紊的运行。但是,我们应当注意到在程序运行时,有许多其它的事情也在发生。它们维持程序的稳定高效的运行,它们保护一个程序的运行不会妨碍到另一些程序的运行,它们提供程序运行时需要的东西,它们接收程序产生的结果并作出正确的处理。

通常,我们将具有这样功能的一个软件系统称之为操作系统。它功能强大,并且通常来讲非常复杂。

操作系统有许多不同的名字,如虚拟机、标准库、资源管理器。这些名字反映了操作系统不同方面的关键功能。一般的,我们可以将操作系统的功能分成四个模块:虚拟化、并发、存储、安全。其中关于安全相关的部分在前面三个模块都有一些涉及,但是当前人们越来越趋向于对安全的重视,故在这里单独分为一个模块。

虚拟化

虚拟化技术是操作系统保证程序高效易用的根本。简单来说,虚拟化技术就是操作系统将硬件资源如处理器、内存、硬盘等转化为更通用、更强大、更易于使用的虚拟形式,这也是我们为什么将操作系统称之为虚拟机的原因。

同时,程序的运行总是需要更多的硬件资源,当许多程序同时运行时,它们不断的访问它们自己的指令和数据。操作系统就负责分配给它们所需要的资源,于是操作系统有时也被称为资源管理器。

这样引出一些我们需要注意的主要问题,操作系统实现哪些机制和策略来实现虚拟化?操作系统是如何做到如此高效的?需要哪些硬件支持?

并发

当多个进程同时发生时,操作系统也会努力确保它们之间相互独立的运行,如何做到这一点也是操作系统中十分重要的一个方面。

这样引出一些我们需要注意的主要问题,怎样构建正确工作的并发程序?当并发开始时,操作系统最需要做什么?硬件应该提供怎样的机制?我们怎样通过操作系统和硬件的合作来解决并发问题?

持久化

磁盘这一硬件的诞生就是为了解决计算机数据长久保存这一问题。操作系统中通常管理磁盘的软件称为文件系统,它负责将用户以可靠和有效的方式创建的任何文件存储在系统的磁盘上。

这样引出一些我们需要注意的主要问题,要采用怎样的技术才能实现数据的持久保存?需要怎样的机制和策略来保证该过程高效?当硬件和软件同时出问题时,如何实现可靠性?