操作系统原理总结【含详解】——第二章《操作系统概述》

文章导航

  • 2.1 操作系统的目标和功能
    • 2.1.1 作为用户/计算机接口的操作系统
    • 2.1.2 作为资源管理器的操作系统
  • 2.2 操作系统的发展史
    • 2.2.1 单道批处理系统(串行处理)
    • 2.2.2 多道批处理系统
    • 2.2.3 分时系统

2.1 操作系统的目标和功能

  操作系统是控制应用程序执行的程序,是应用程序和计算机硬件的接口。它有三个目标:

  • 方便:操作系统使计算机更易于使用
  • 有效:操作系统允许以更有效的方式使用计算机系统资源
  • 扩展能力:在构造操作系统时,应允许在不妨碍服务的前提下,有效地开发、测试和引入新的系统功能。

2.1.1 作为用户/计算机接口的操作系统

  如图2.1所示。应用程序的用户,即终端用户,他们将计算机系统视为一组应用程序,因为他们只需要使用,并不需要思考应用程序是如何设计出来的,而一个应用程序是由程序员开发而成的。若程序员用一组完全负责控制计算机硬件的机器指令开发应用程序,则非常复杂。为简化这一任务,需要提供一些系统程序,其中一部分称为实用工具或库程序,它们实现了创建程序、管理文件和控制I/O设备时经常使用的功能。程序员在开发应用程序时,将使用这些提供的接口;应用程序在运行时,将调用这些实用工具来实现特定的功能。最重要的系统程序是操作系统,操作系统为程序员屏蔽了硬件的细节,并为程序员使用系统提供了方便的接口。它可作为中介,使程序员及应用程序更容易地访问与使用这些功能和服务。操作系统原理总结【含详解】——第二章《操作系统概述》_第1张图片

操作系统通常提供了以下几个方面的服务:

  • 程序开发
  • 程序运行
  • I/O设备访问
  • 文件访问控制
  • 系统访问
  • 错误检测和响应
  • 记账

图2.1也指明了典型计算机系统中有三种重要接口:

  • 指令系统体系结构(ISA):定义了计算机遵循的机器语言指令系统,该接口是硬件与软件的分界线。
  • 应用程序二进制接口(ABI):定义了程序间二进制可移植性的标准。ABI定义了操作系统的系统调用接口,以及在系统中通过ISA能使用的硬件资源和服务。
  • 应用程序编程接口(API):API允许应用程序访问系统的硬件资源和服务,这些服务由用户级ISA和高级语言库(HLL)调用来提供。使用API能让应用软件更容易重新编译并移植到具有相同API的其他系统中。

2.1.2 作为资源管理器的操作系统

  一台计算机就是一组资源,这些资源用于移动、存储和处理数据,并对这些功能进行控制,而操作系统负责管理这些资源。
  图2.2显示了由操作系统管理的主要资源。操作系统的一部分在内存中,包括内核程序和当前正在使用的其他操作系统程序,内核程序包含操作系统中最常使用的功能。内存的其余部分包含在用户程序和数据,它的分配由操作系统和处理器中的存储管理硬件联合控制完成,后面会详细介绍。操作系统决定在程序运行过程中何时使用I/O设备,并控制文件的访问和使用。处理器自身也是资源,操作系统必须决定在运行一个特定的用户程序时,可以分配多少处理器时间,且在多处理器系统中,这一决定要传达到所有处理器。操作系统原理总结【含详解】——第二章《操作系统概述》_第2张图片

2.2 操作系统的发展史

2.2.1 单道批处理系统(串行处理)

  系统对作业的处理是成批进行的,但内存中始终保持一道作业。该系统是在解决人机矛盾和CPU与I/O设备速率不匹配的矛盾中形成的。单道批处理系统的主要特征如下:

  • 自动性:在顺利的情况下,在磁带上的一批作业能自动地逐个依次进行,而无需人工干预。
  • 顺序性:磁带上的各道作业是顺序地进入内存,各道作业的完成顺序与他们进入内存的顺序,在正常情况下应完全相同,即先调入内存的作业先完成。
  • 单道性:内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。

  此时面临的问题是:每次主机内存中仅存放一道作业,每当它运行期间发出输入/输出请求后,高速的CPU便处于等待低速的I/O完成状态。为了进一步提高资源的利用率和系统的吞吐量,引入了多道程序技术。

2.2.2 多道批处理系统

多道程序设计技术允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们的共享系统中的各种硬、软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。它没有用某些机制提高某一技术方面的瓶颈问题,而是让系统的各个组成部分都尽量去“忙”,花费很少时间去切换任务,打到了系统各部件之间的并行工作,使其整体在单位时间内的效率翻倍。如图2.5所示:操作系统原理总结【含详解】——第二章《操作系统概述》_第3张图片

举个例子,考虑一台计算机,它有250MB的可用存储器(未被操作系统使用)、一个磁盘、一个终端和一台打印机,同时提交执行三个应用程序JOB1,JOB2,JOB3,它们的属性如表2.1所示。假设JOB2和JOB3对处理器只有最低的要求,JOB3还要求连续使用磁盘和打印机。对于简单的批处理环境,这些作业将被顺序执行,故耗时5+15+10=30分钟。表2.2中的“单道程序设计”列出了平均资源利用情况、吞吐量和响应时间,图2.6(a)显示了各个设备的利用率。显然,在所需的30分钟内,所有资源都未得到充分使用。操作系统原理总结【含详解】——第二章《操作系统概述》_第4张图片
现在假设这些作业在多道程序操作系统下并行运行。由于作业间几乎没有资源竞争,因此三个作业都可以在计算机中同时存在其他作业的情况下,以几乎最短的时间运行。即三个作业将在15分钟内完成。表2.2中“多道程序设计”列的数据取自图2.6(b)所示直方图,从中可以看出性能的提高很明显。操作系统原理总结【含详解】——第二章《操作系统概述》_第5张图片
操作系统原理总结【含详解】——第二章《操作系统概述》_第6张图片

2.2.3 分时系统

  分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。分时操作系统是一个多用户交互式操作系统。

  批处理和分时都使用了多道程序设计,其主要差别如表2.3所示。操作系统原理总结【含详解】——第二章《操作系统概述》_第7张图片
  为减小磁盘开销,只有当新来的程序需要充血用户存储空间时,用户存储空间才被写出。这一原理如图2.7所示。假设有4个交互用户,其存储器需求如下:

操作系统原理总结【含详解】——第二章《操作系统概述》_第8张图片
  图2.7(a):最初,监控程序载入JOB1并把控制权转交给它
  图2.7(b):稍后,监控程序决定把控制权转交给JOB2。由于IOB2比JOB1需要更多的存储空间,JOB1必须先被写出,然后载入JOB2
  图2.7(c):接着,JOB3被载入并运行,由于JOB3比JOB2小,JOB2的一部分仍然留在存储器中,以减少写磁盘的时间;
  图2.7(d):稍后,监控程序决定把控制权交回JOB1,当JOB1载入存储器时,JOB2的另一部分将被写出;
  图2.7(e):载入JOB4时,JOB1和JOB2的一部分仍留在存储器中
  图2.7(f):此时,若JOB1或JOB2被激活,则只需载入一部分。在该例中是JOB2接着运行,这就要求JOB4和JOB1留在存储器中的那一部分被写出,然后读入JOB2的其余部分。

都是一字一字敲上去的,对于部分难理解的地方都添加了说明,希望大家都能够看懂。大家的点赞、收藏和评论都是对我最大的支持呀!

你可能感兴趣的:(操作系统复习,操作系统,经验分享)