1.1 操作系统的概念、特征、功能与发展

操作系统的定义与目标,并发、共享、虚拟、异步四大特征,处理机、存储器、文件、设备管理与用户接口,以及批处理、分时、实时等操作系统的发展历程。

考查要求 ★★☆ 理解 操作系统的定义并发与并行共享虚拟异步命令接口与程序接口系统调用多道批处理分时系统实时系统

操作系统的概念

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。

用户应用程序(浏览器、编译器、游戏……)操作系统裸机(CPU、内存、I/O 设备等硬件)
操作系统位于硬件之上、应用程序之下:向下管理硬件,向上提供服务

操作系统的作用可以从三个角度来理解:

  1. 作为计算机系统资源的管理者:处理机管理、存储器管理、文件管理、设备管理;
  2. 作为用户与计算机硬件系统之间的接口:
    • 命令接口:用户利用这些操作命令来组织和控制作业的执行。又分为联机命令接口(交互式命令接口,“说一句做一句”,如命令行、图形界面)和脱机命令接口(批处理命令接口,“说一堆做一堆”,如 .bat 作业控制说明书);
    • 程序接口:由一组系统调用(也称广义指令)组成,用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存等。图形用户界面(GUI)最终也是通过调用程序接口实现的;
  3. 作为扩充机器:没有任何软件支持的计算机称为裸机。覆盖了软件的机器称为扩充机器或虚拟机。

操作系统的特征

并发(Concurrence)

并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的是使程序能并发执行。

共享(Sharing)

资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为以下两种资源共享方式:

  • 互斥共享方式:系统中的某些资源,如打印机、磁带机,虽然可供多个进程使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程访问该资源。我们把在一段时间内只允许一个进程访问的资源称为临界资源(独占资源);
  • 同时访问方式:系统中还有另一类资源,这类资源允许在一段时间内由多个进程”同时”访问。这里所说的”同时”通常是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问即”分时共享”的。典型的可供多个进程”同时”访问的资源是磁盘设备、可重入代码。

并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件:① 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题;② 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行。

虚拟(Virtual)

虚拟是指把一个物理上的实体变为若干逻辑上的对应物。物理实体是实的,即实际存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术称为虚拟技术:

  • 时分复用技术:如虚拟处理器(多道程序设计,分时使用一个 CPU)、虚拟设备(SPOOLing,把一台独占设备虚拟成多台逻辑设备);
  • 空分复用技术:如虚拟存储器(把物理内存虚拟成更大的地址空间)。

异步(Asynchronism)

多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误(就像对全局变量的访问顺序不当会导致程序出错一样)。然而,只要运行环境相同,操作系统就必须保证多次运行进程后都能获得相同的结果。

操作系统的发展与分类

阶段特点优缺点
手工操作阶段用户独占全机,人机速度矛盾资源利用率极低
单道批处理内存中始终只保持一道作业,自动性、顺序性、单道性缓解人机矛盾;但作业做 I/O 时 CPU 空闲
多道批处理允许多个程序同时进入内存并允许它们在 CPU 中交替地运行,多道、宏观上并行、微观上串行资源利用率高、系统吞吐量大;但用户响应时间长,不提供人机交互能力
分时操作系统把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用同时性(多路性)、交互性、独立性、及时性;但不能优先处理紧急任务
实时操作系统在严格时限内处理完接收的事件,及时性和可靠性;硬实时(必须绝对在规定时间完成,如导弹控制)与软实时(偶尔违反可以接受,如订票系统)能优先响应紧急任务
网络 / 分布式 / 个人计算机操作系统网络 OS 把计算机联网实现资源共享;分布式 OS 中各计算机地位相同、协同完成一个任务—

多道程序设计

多道程序设计的特点是多道、宏观上并行、微观上串行。为实现多道程序,操作系统必须解决:如何分配处理器、多道程序的内存分配问题、I/O 设备如何分配、如何组织和存放大量的程序和数据以方便用户使用并保证其安全性与一致性……这正是操作系统各个功能的由来。

对比实验单道程序 vs 多道程序
单道程序(顺序执行):总用时 100,CPU 利用率 50.0%CPUI/OAAABBB100多道程序(并发执行):总用时 60,CPU 利用率 83.3%CPUI/OABAABB60
多道程序设计让一个作业做 I/O 时 CPU 去执行另一个作业,宏观上并行、微观上串行。多道时总用时 60,比单道缩短 40;CPU 利用率由 50.0% 提高到 83.3%。(非抢占调度,先到先用 CPU)

即时练习

即时练习5 题
点击选项即可作答
  1. 1
    (408 真题 2009)单处理机系统中,可并行的是( )。
    Ⅰ. 进程与进程 Ⅱ. 处理机与设备 Ⅲ. 处理机与通道 Ⅳ. 设备与设备
  2. 2
    下列选项中,不属于多道程序设计的基本特征的是( )。
  3. 3
    (408 真题 2016)下列关于批处理系统的叙述中,正确的是( )。
    Ⅰ. 批处理系统允许多个用户与计算机直接交互
    Ⅱ. 批处理系统分为单道批处理系统和多道批处理系统
    Ⅲ. 中断技术使得多道批处理系统的 I/O 设备可与 CPU 并行工作
  4. 4
    用户可以通过( )两种方式使用计算机。
  5. 5
    分时系统追求的主要目标是( )。
学完了吗?

标记完成后,侧栏会显示进度。进度仅保存在本浏览器中。