操作系统的功能和目标

1.1.1 的定义里藏着操作系统的三个身份,这一节把三个身份逐一展开。

其中”接口”这一部分的考点最密集——命令接口与程序接口的划分、联机与脱机的区别、图形界面归哪一类,是本章选择题的固定出处。

机制

身份一:作为计算机系统资源的管理者

计算机的资源可以分成两大类:硬件资源(处理机、存储器、I/O 设备)和软件资源(以文件形式存放的程序和数据)。操作系统对它们的管理,恰好对应四项功能:

处理机管理——管进程的创建撤销、状态转换、调度、同步互斥、死锁处理,展开就是第 2 章。

存储器管理——管内存的分配与回收、地址转换、存储保护、内存扩充,展开就是第 3 章。

文件管理——管文件的存储、检索、共享与保护,展开就是第 4 章。

设备管理——管设备的分配、缓冲、驱动,展开就是第 5 章。

这四项就是整门课的目录。 后面四章不是四个孤立的话题,而是**“资源管理者”这一句话在四类资源上的四次落实**。

管理的目标是两条:安全(不让程序互相破坏、不让用户越权)和高效(尽量提高资源利用率与系统吞吐量)。这两条常常互相冲突,本课程后面反复出现的权衡,几乎都能追溯到这一对。

身份二:作为用户与计算机硬件系统之间的接口

操作系统向外提供三种接口:

① 命令接口——用户直接使用,用于组织和控制作业的执行。它又分两种:

联机命令接口又称交互式命令接口,特点是用户说一句、系统做一句。用户在终端上敲一条命令,系统执行完毕后返回结果,用户看到结果再决定下一条敲什么。

脱机命令接口又称批处理命令接口,特点是用户说一堆、系统做一堆。用户事先用作业控制语言写好一串命令,连同作业一起提交给系统;提交之后用户就不再干预,系统按顺序执行完才返回结果。

② 程序接口——由一组系统调用组成,供程序员在程序中调用,以请求操作系统的服务。系统调用又称广义指令。

③ 图形用户界面(GUI)——用户通过窗口、菜单、图标等图形元素操作计算机。

身份三:作为扩充机器

没有任何软件支持的计算机称为裸机,它只能执行机器指令,使用起来极其困难。

操作系统在裸机之上加了一层软件,使这台机器的功能得到扩充——现在它能”读文件""创建进程""分配内存”了,而这些能力在硬件指令集里根本不存在。

这样一台覆盖了软件的机器称为扩充机器,或称虚拟机器。

“扩充”这个词的准确含义是:操作系统提供的功能不是硬件本来就有的,而是用硬件的基本能力组合出来的。 磁盘硬件只会”读第 N 块”,“读文件 a.txt”这个能力是文件系统造出来的。

边界

图形用户界面不是第四种独立的实现机制

这是本节最容易被记错的一点。

GUI 在使用者看来是一种接口,但在实现上它并不独立——用户点击一个图标,最终仍然是由某个程序去调用系统调用来完成实际工作的。

准确表述是:图形用户界面最终是通过调用程序接口(系统调用)实现的。

因此考题若问”用户程序请求操作系统服务的唯一途径是什么”,答案是系统调用,不是 GUI,也不是命令接口。

系统调用属于程序接口,不属于命令接口

判据只有一句:这个接口是给人用的,还是给程序用的。

命令接口给人用——无论是在终端敲命令(联机),还是写一个批处理文件(脱机),使用者是人。

程序接口给程序用——它是一组能在代码里写出来的调用,使用者是程序。

这条判据同时解释了另一个高频误解:用户不能在程序中直接使用命令接口,也不能在终端上直接敲一条系统调用。 两者面向的对象根本不同。

联机与脱机的判据是”提交后还能不能干预”

不要按”有没有终端”或”快不快”来记,那都不是本质。

联机命令接口下,用户与系统是交替进行的:用户敲一条 → 系统执行 → 用户看结果 → 用户再敲下一条。用户随时可以根据上一条的结果改变主意。

脱机命令接口下,用户把全部命令一次性交出去之后就”脱离”了——中途无法干预,只能等全部执行完看最终结果。

“脱机”这个词的意思正是”脱离了机器”,即脱离了人机交互。 它是批处理阶段的产物,与那个年代”作业成批提交、无人值守运行”的工作方式完全对应。

四项功能与四章的对应关系

这一条不是考点,但对整门课的理解至关重要:

功能展开为核心问题
处理机管理第 2 章谁来用 CPU、怎么切换、怎么协调
存储器管理第 3 章程序放在内存哪里、地址怎么转换
文件管理第 4 章数据怎么长期保存、怎么按名字找到
设备管理第 5 章怎么与外部世界打交道

遇到某个知识点想不起来属于哪一块时,回到这张表判断它管的是哪类资源,通常就能定位。

对照速查

三个身份内容
资源管理者处理机 / 存储器 / 文件 / 设备管理;目标是安全 + 高效
接口命令接口、程序接口、图形用户界面
扩充机器裸机 + 软件 = 扩充机器(虚拟机器)
接口给谁用特点
联机命令接口人交互式:说一句做一句,可随时干预
脱机命令接口人批处理:说一堆做一堆,提交后不能干预
程序接口(系统调用)程序又称广义指令
图形用户界面人最终通过调用程序接口实现,不是独立机制
高频判断结论
用户程序请求服务的唯一途径系统调用
系统调用属于哪种接口程序接口,不是命令接口
GUI 是不是第四种独立机制不是,它建立在程序接口之上
联机/脱机的判据提交后还能不能干预

考点

  • 四项功能:处理机、存储器、文件、设备管理,分别对应第 2~5 章
  • 管理目标是安全与高效,两者常互相冲突
  • 联机 = 交互式 = 可干预;脱机 = 批处理 = 提交后不可干预
  • 系统调用属于程序接口,又称广义指令
  • GUI 最终通过调用程序接口实现,不是独立的第四种机制
  • 用户程序请求操作系统服务的唯一途径是系统调用
  • 裸机 + 软件 = 扩充机器(虚拟机器)

链接