第一章 概论
1.1 操作系统做什么? P1
操作系统是?
- 管理硬件
- 为应用程序提供基础
- 充当计算机硬件和用户间的接口
操作系统的目标
执行用户程序,使用户的计算变得更加容易
使计算机系统更方便使用
计算机系统的高效执行
- 方便
尤其是在一些小型个人计算机上 - 高效
对一些大型的、多用户共享的系统
由于计算资源的利用 - 在易用性和效率之间抉择
例如:部分操作系统采用的图形用户界面将占用大量的CPU时间,降低系统执行效率
1.2 操作系统的功能 P2
计算机系统的组成
1. 硬件(hardware): 提供基本的计算资源。
eg:中央处理单元(CPU)、内存(memory)、输入/输出设备(I/O device
)。
2. 操作系统(operating system): 控制和协调各用户的应用程序对硬件的使用。
3. 应用程序(application program): 规定了按何种方式使用这些资源来解决用户的计算机问题。
eg:字处理程序、电子制表软件、网络浏览器、编译器、游戏。
4. 用户(user): 人,机器,其它计算机。
图1 - 计算机系统组件的抽象视图
操作系统设计目的
从以下两方面来研究。
用户视角
- 个人计算机
- 使用方便
- 性能次要
- 不在乎资源利用率 - 大型机或小型机
- 资源利用率最大化(CPU,memory,I/O devices)
- 用户间公平共享资源 - 工作站
- 在个人可用性和资源利用率之间力求平衡
系统视角
- 操作系统即资源分配器
- 资源包括:
- CPU占用时间
- 内存(内存空间)
- 外存(文件存储空间)
- I/O设备 - 操作系统同时也是管理者
- 处理资源请求冲突
- 高效公平的操纵计算机系统
- 资源包括:
- 操作系统也是一个控制程序
- 控制用户程序的执行
- 控制对I/O设备的操作
操作系统的定义
- 没有一个被广泛接受的定义
- 操作系统是整个计算机系统的核心
- PPT上的定义: 唯一一直在运行的程序(内核 kernel),除此之外的其它所有程序都被称为应用程序。
- 书上P4的定义:操作系统是一直运行在计算机上的程序(通常称为内核 kernel)。(除了内核外,还有其他两类程序:系统程序(system program)和应用程序。前者是与系统运行有关的程序,但不是内核的一部分;后者是与系统运行无关的所有其他程序。)
1.3 计算机系统体系结构 P9
通过采用的通用处理器的数量来分类
- 单处理器系统
- 多处理器系统
- 集群系统
单处理器系统
- 有一个主CPU执行一个通用指令集,包括进程。
- 其他特定目的的处理器,运行受限指令集。
- 磁盘控制器:接受CPU请求,执行磁盘队列和调度算法。
- 键盘控制器:将击键转换为代码,发送给CPU。
多处理器系统(并行/紧耦合系统)
并行系统(parallel system)或紧耦合