操作系统的功能和目标
1.1.1 的定义里藏着操作系统的三个身份,这一节把三个身份逐一展开。
其中”接口”这一部分的考点最密集——命令接口与程序接口的划分、联机与脱机的区别、图形界面归哪一类,是本章选择题的固定出处。
机制
身份一:作为计算机系统资源的管理者
计算机的资源可以分成两大类:硬件资源(处理机、存储器、I/O 设备)和软件资源(以文件形式存放的程序和数据)。操作系统对它们的管理,恰好对应四项功能:
处理机管理——管进程的创建撤销、状态转换、调度、同步互斥、死锁处理,展开就是第 2 章。
存储器管理——管内存的分配与回收、地址转换、存储保护、内存扩充,展开就是第 3 章。
文件管理——管文件的存储、检索、共享与保护,展开就是第 4 章。
设备管理——管设备的分配、缓冲、驱动,展开就是第 5 章。
这四项就是整门课的目录。 后面四章不是四个孤立的话题,而是**“资源管理者”这一句话在四类资源上的四次落实**。
管理的目标是两条:安全(不让程序互相破坏、不让用户越权)和高效(尽量提高资源利用率与系统吞吐量)。这两条常常互相冲突,本课程后面反复出现的权衡,几乎都能追溯到这一对。
身份二:作为用户与计算机硬件系统之间的接口
操作系统向外提供三种接口:
① 命令接口——用户直接使用,用于组织和控制作业的执行。它又分两种:
联机命令接口又称交互式命令接口,特点是用户说一句、系统做一句。用户在终端上敲一条命令,系统执行完毕后返回结果,用户看到结果再决定下一条敲什么。
脱机命令接口又称批处理命令接口,特点是用户说一堆、系统做一堆。用户事先用作业控制语言写好一串命令,连同作业一起提交给系统;提交之后用户就不再干预,系统按顺序执行完才返回结果。
② 程序接口——由一组系统调用组成,供程序员在程序中调用,以请求操作系统的服务。系统调用又称广义指令。
③ 图形用户界面(GUI)——用户通过窗口、菜单、图标等图形元素操作计算机。
身份三:作为扩充机器
没有任何软件支持的计算机称为裸机,它只能执行机器指令,使用起来极其困难。
操作系统在裸机之上加了一层软件,使这台机器的功能得到扩充——现在它能”读文件""创建进程""分配内存”了,而这些能力在硬件指令集里根本不存在。
这样一台覆盖了软件的机器称为扩充机器,或称虚拟机器。
“扩充”这个词的准确含义是:操作系统提供的功能不是硬件本来就有的,而是用硬件的基本能力组合出来的。 磁盘硬件只会”读第 N 块”,“读文件 a.txt”这个能力是文件系统造出来的。
边界
图形用户界面不是第四种独立的实现机制
这是本节最容易被记错的一点。
GUI 在使用者看来是一种接口,但在实现上它并不独立——用户点击一个图标,最终仍然是由某个程序去调用系统调用来完成实际工作的。
准确表述是:图形用户界面最终是通过调用程序接口(系统调用)实现的。
因此考题若问”用户程序请求操作系统服务的唯一途径是什么”,答案是系统调用,不是 GUI,也不是命令接口。
系统调用属于程序接口,不属于命令接口
判据只有一句:这个接口是给人用的,还是给程序用的。
命令接口给人用——无论是在终端敲命令(联机),还是写一个批处理文件(脱机),使用者是人。
程序接口给程序用——它是一组能在代码里写出来的调用,使用者是程序。
这条判据同时解释了另一个高频误解:用户不能在程序中直接使用命令接口,也不能在终端上直接敲一条系统调用。 两者面向的对象根本不同。
联机与脱机的判据是”提交后还能不能干预”
不要按”有没有终端”或”快不快”来记,那都不是本质。
联机命令接口下,用户与系统是交替进行的:用户敲一条 → 系统执行 → 用户看结果 → 用户再敲下一条。用户随时可以根据上一条的结果改变主意。
脱机命令接口下,用户把全部命令一次性交出去之后就”脱离”了——中途无法干预,只能等全部执行完看最终结果。
“脱机”这个词的意思正是”脱离了机器”,即脱离了人机交互。 它是批处理阶段的产物,与那个年代”作业成批提交、无人值守运行”的工作方式完全对应。
四项功能与四章的对应关系
这一条不是考点,但对整门课的理解至关重要:
| 功能 | 展开为 | 核心问题 |
|---|---|---|
| 处理机管理 | 第 2 章 | 谁来用 CPU、怎么切换、怎么协调 |
| 存储器管理 | 第 3 章 | 程序放在内存哪里、地址怎么转换 |
| 文件管理 | 第 4 章 | 数据怎么长期保存、怎么按名字找到 |
| 设备管理 | 第 5 章 | 怎么与外部世界打交道 |
遇到某个知识点想不起来属于哪一块时,回到这张表判断它管的是哪类资源,通常就能定位。
对照速查
| 三个身份 | 内容 |
|---|---|
| 资源管理者 | 处理机 / 存储器 / 文件 / 设备管理;目标是安全 + 高效 |
| 接口 | 命令接口、程序接口、图形用户界面 |
| 扩充机器 | 裸机 + 软件 = 扩充机器(虚拟机器) |
| 接口 | 给谁用 | 特点 |
|---|---|---|
| 联机命令接口 | 人 | 交互式:说一句做一句,可随时干预 |
| 脱机命令接口 | 人 | 批处理:说一堆做一堆,提交后不能干预 |
| 程序接口(系统调用) | 程序 | 又称广义指令 |
| 图形用户界面 | 人 | 最终通过调用程序接口实现,不是独立机制 |
| 高频判断 | 结论 |
|---|---|
| 用户程序请求服务的唯一途径 | 系统调用 |
| 系统调用属于哪种接口 | 程序接口,不是命令接口 |
| GUI 是不是第四种独立机制 | 不是,它建立在程序接口之上 |
| 联机/脱机的判据 | 提交后还能不能干预 |
考点
- 四项功能:处理机、存储器、文件、设备管理,分别对应第 2~5 章
- 管理目标是安全与高效,两者常互相冲突
- 联机 = 交互式 = 可干预;脱机 = 批处理 = 提交后不可干预
- 系统调用属于程序接口,又称广义指令
- GUI 最终通过调用程序接口实现,不是独立的第四种机制
- 用户程序请求操作系统服务的唯一途径是系统调用
- 裸机 + 软件 = 扩充机器(虚拟机器)
链接
- 🏠 返回总览:操作系统第 1 章:计算机系统概述总览
- ⬅️ 上一节:1.1.1 操作系统的概念
- ➡️ 下一节:1.1.3 操作系统的特征
- 🔗 系统调用的完整机制,见 1.3.3 系统调用
- 📖 名词库:第 1 章名词库