第三章、操作系统

1. 软件分类

应用软件和实用软件之间的界限是模糊的,比如Windows的浏览器是实用软件,还是作为微软打压其他市场的软件

1.1 应用软件

  • 第三方软件

1.2 系统软件

  • 实用软件
  • 操作系统

2. 操作系统的组件

内核(Kernel)包含的组件

  • 文件管理程序(file manager)
  • 设备驱动程序(外部设备)
  • 内存管理程序(页面调度,virtual memory:能够提供超出内存的服务)

3. 系统启动

boot strapping 引导,简称:booting

  • 将操作系统引导到主存储器,其中主存储器的一部分 ROM,用来表示CPU初始必须找到的程序的位置

  • 同时对于ROM还有基本输出输出(I/O),在操作系统被引导之前就启动

  • 就是现在流行的BIOS(Basic Input/Output System)或者EFI(Extensible Firmware Interface)、以及许多嵌入式设备的通用固件环境CFE(common firmware environment)

4. 程序调度

死锁

满足以下所有的条件的才会出现死锁

  1. 存在对不可共享资源的竞争
  2. 这些资源的分配不是完整的
  3. 一个资源一旦被分配,那么就不能强制收回

5. 安全性

  • 可靠软件的开发不在受牵制与操作系统,它贯穿与整个软件的开发过程,成为软件工程

思考

  1. 在瓦尔登湖一书中,梭罗认为,我们已经变成自己工具的工具;也就是说,我们为了使用工具,需要付出的其他成本