===第一章操作系统引论======(1)

简介: 引言  大多数读者都会 Windows、Linux、FreeBSD或OS X 等某个操作系统有些体验,但是表面现象是会骗人的。用户与之交互的程序,基于文本的通常是 shell,基于图标的则称为:图形化用户界面,实际上他们并不是操作系统的一部分,尽管这些程序使用操作系统来完成工作。

引言

 大多数读者都会 Windows、Linux、FreeBSD或OS X 等某个操作系统有些体验,但是表面现象是会骗人的。用户与之交互的程序,基于文本的通常是 shell,基于图标的则称为:图形化用户界面,实际上他们并不是操作系统的一部分,尽管这些程序使用操作系统来完成工作。

1.1操作系统的目标和作用

1.1.1操作系统的目标

  在计算机系统上配置操作系统,其主要目标是:方便性、有效性、可扩充性和开放性。

1.1.2 操作系统的作用

操作系统在计算机系统中起的作用,可以从:用户、资源管理以及资源抽象等多个不同的角度来进行分析和讨论。


1.方便OS作为用户与计算机硬件系统之间的接口

 OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。换个活法可以说:用户在OS的帮助下能够方便、快捷、可靠地操纵计算机硬件和运行自己的程序图1-1是OS作为接口的示意图。

20210613114525812.jpg

由图1-1 我们可以看出,用户一共有三种方式来使用计算机:命令方式、系统调用和图表——窗口方式来实现与操作系统的通信,并取得它的服务。


2.方便OS作为计算机系统资源的管理者

 一个计算机系统通常都含有多种硬件和软件资源。归纳起来可以将这些资源分为四类:处理机、存储器、I/O设备、文件(数据和程序),而OS的主要功能也正是对着四类资源进行有效的管理。

   处理机管理:用于分配和控制处理机。

   存储器管理:主要负责内存的分配与回收

   I/O设备管理:负责I/O 设备的分配(回收)与操纵

   文件管理:用于实现对文件的存取、共享和保护。

 可见,OS的确是计算机系统资源的管理者。

 当一台计算机系统同时供多个用户使用时,诸多用户对系统中共享资源的需求(包括数量和事件)有可能发生冲突。为此,操作系统必须对使用资源的请求进行授权,一协调诸多用户对共享资源的使用。

3.OS实现了对计算机资源的使用

 对于一台完全没有软件的计算机系统(也就是裸机),因为它向用户提供仅仅是硬件接口,因此,用户必须对物理接口的实现细节有充分的了解,这一步导致了物理机难于广泛使用。

 为了方便用户使用 I/O 设备,在裸机上覆盖上一层 I/O 设备管理软件。如图1-2所示。

20210613131840165.jpg

由它(图1-2)来实现对 I/O设备操作的细节,并向上将 I/O 设备抽象为一组 数据结构以及一组 I/O 操作命令,如 read、write命令。

 通常把覆盖了上述软件的机器称为扩充机器或者虚机器。它向用户提供了一个对硬件操作的抽象模型。用户可利用该模型提供的接口使用计算机,不需要去了解物理接口实现的细节,从而使用户更容易地使用计算机硬件资源。---->I/O设备管理软件实现了对计算机硬件操作的第一个层次的抽象。

 同理,为了方便用户使用文件系统,又可以在 I/O 设备管理软件上在覆盖一层用于文件管理的软件。由它来实现对文件操作的细节,并向上层提供一组实现对文件进行存取操作的数据结构及命令。这样,用户可以利用该软件提供的数据结构及命令对文件进行存取。---->那么 文件管理软件实现了对硬件资源操作的第二个层次的抽象。

 如果,我们再在文件管理软件上在覆盖一层面向用户的窗口软件,使得用户能够在窗口环境下方便的使用计算机,从而形成一台功能更强的虚机器。



 由此可知,OS是铺设在计算机硬件上的多层软件的集合,他们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型。值得说明的是,不仅可在底层对一个硬件资源加以抽象,还可以在高层对该资源底层已抽象的模型再次进行抽象,称为更高层的抽象模型。随着抽象层次的提高,抽象接口所提供的功能就越强,用户使用起来也就越方便。

1.1.3推动操作系统发展的主要动力

  1. 不断提高计算机资源利用率
  2. 方便用户
  3. 器件的不断更新换代
  4. 计算机体系结构的不断发展
  5. 不断提出新的应用需求

1.2 操作系统的发展过程

  1. 人工操作方式
      两个缺点:
      (1)用户独占全机,即一台计算机的全部资源由上机用户所独占。
      (2)CPU等待人工操作。当用户进行装带、卸带等人工操作时,CPU及内存等资源是空闲的。
    人工操作方式严重降低了计算机资源的利用率,这就是人机矛盾。
    虽然CPU的速度在不断提高,但是 I/O设备的速度却提高缓慢,这使得 CPU 与 I/O 设备之间速度不匹配的矛盾更加突出。
    为此,曾先后出现了如:通道基础、缓冲技术,然而都未能很好地解决上所述矛盾,直至后来引入脱机输入/输出技术,才获得了相对较为满意的结果。
  2. 脱机输入/输出方式
    为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了脱机I/O技术。
    该技术是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。
    当CPU需要这些程序和数据时,再从磁带上高速地调入内存。
    类似地,当CPU需要输出时,可先由CPU把数据直接从内存高速地输送到磁带上,然后在另一台外围机的控制下,再将磁带上的结果通过相应的输出设备输出。
    图1-3示出了脱机输入/输出过程。由于程序和数据的输
    入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,故称为脱机输入/输出方式。
    反之,把在主机的直接控制下进行输入/输出的方式称为联机输入/输出(On-Line I/O)方式。


20210613143057313.jpg

      主要优点:
      (1)减少了CPU的空闲时间。装带,卸带,以及将数据从低速 I/O设备送到高速磁带上的操作。
        都是在脱机情况下由外围机完成的,并不占用主机时间,从而有效地减少 CPU的空闲时间。
      (2)提高了 I/O 速度。当CPU在运行中需要输入数据时,是直接从高速的磁带上将数据输入到内的。
        极大的提高了 I/O 速度,从而进一步减少了 CPU的空闲时间。

1.2.2单道批处理系统

  1. 单道批处理系统的处理过程:

 首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统。图1-4示出了单道批处理系统的处理流程。

20210613143926356.png

由删除不难看出,单道批处理系统是在==解决人际矛盾和 CPU与 I/O 设备速度不匹配矛盾的过程中形成的。换言之,批处理系统旨在提高系统资源的利用率和系统吞吐量。单这种单道批处理系统仍然不能充分地利用系统资源,所以目前已经用的很少了。


单道批处理系统的缺点

 单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其

I/O完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。图1-5示

出了单道程序的运行情况,从图可以看出:在t2——》t3、t6——》t7时间间隔内CPU空闲。

20210613144519172.png

 为了能在系统中运行较大的作业,通常在计算机中都配置了较大容量的内存,但实际情况是有80%以上的作业都属于中小型,因此在单道程序环境下,也必定造成内存的浪费。类似地,为了满足各种类型的作业需要,在系统中将会配置多种类型的I/O设备。显然在单道程序环境下也不能充分利用系统资源。

1.2.3 多道批处理系统

多道程序设计的基本概念

 为了进一步提高资源的利用率和系统吞吐量在该系统中,用户所提交的作业先存放在外存上,并排成一个队列,该队列称为后背队列,然后由作业调度程序按一定的算法,从后背队列中选择若干个作业调入内存,使他们共享CPU和系统中的各种资源。

 由于同时在内存中装有若干道程序,这样便可以在运行程序A时,利用其因I/O操作而暂停执行时的CPU空档时间,再调度另一道程序B运行,同样可以利用程序B在I/O操作时的CPU空档时间,再调度程字C运行,使多道程序交替地运行,这样便可以保持CPU处于忙碌状态。图1-6示出了四道程序时的运行情况。

20210613145246460.png

2. 多道批处理系统的优缺点


 (1)资源利用率高。引入多道批处理能使多道程序交替运行,以保持CPU处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高IO设备的利用率。

 (2)系统吞吐量大。能提高系统吞吐量的主要原因可归结为:

    ①CPU和其它资源保持“忙碌”状态;

    ②仅当作业完成时或运行不下去时才进行切换,系统开销小。

 (3)平均周转时间长。由于作业要排队依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。

 (4)无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,使得修改和调试程序极不方便。

多道批处理系统需要解决的问题

 (1)处理机争用问题。既要能满足各道程序运行的需要,又要能提高处理机的利用率。

 (2)内存分配和保护问题。系统应能为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其它程序。

 (3) I/O 设备分配问题。系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。

 (4)文件的组织和管理问题。系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用,又能保证数据的安全性。

 (5)作业管理问题。系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的不同要求。

 (6)用户与系统的接口问题。为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。


 为此,应在计算机系统中增加一组软件,用以对上述问题进行妥善、有效的处理。这组软件应包括:能有效地组织和管理四大资源的软件、合理地对各类作业进行调度和控制它们运行的软件,以及方便用户使用计算机的软件。正是这样一组软件构成了操作系统。


据此,我们可以把操作系统定义为:操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

===第一章操作系统引论======(2)https://developer.aliyun.com/article/1415704?spm=a2c6h.13148508.setting.22.6e1a4f0eQzpjQW

目录
相关文章
|
存储 算法 Unix
《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构
《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构
59 0
|
7月前
|
存储 安全
===第一章操作系统引论======(4)
1.5.2 客户/服务器模式(C/S)简介
79 0
|
7月前
|
存储 安全 调度
===第一章操作系统引论======(3)
1.4.2 存储器管理功能   存储器管理的主要任务,是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。为此,存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能。
77 0
|
7月前
|
消息中间件 存储 Unix
===第一章操作系统引论======(2)
1.2.4 分时系统   推动分时系统形成和发展的主要动力是为了满足用户对人机交互的需求。用户的需求具体表现在一下几个方面:
116 0
|
消息中间件 存储 算法
操作系统(1.2)--引论
在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存),这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。
75 0
|
算法 人机交互 数据处理
操作系统(1.1)--引论
OS作为用户与计算机硬件系统之间接口的含义是: OS处于用户与计算机硬件系统之 间,用户通过OS来使用计算机系统。
81 0
|
存储 算法 安全
[计算机操作系统(慕课版)]第一章 操作系统引论(学习笔记)
[计算机操作系统(慕课版)]第一章 操作系统引论(学习笔记)
|
存储 算法 调度
第一章 操作系统引论【操作系统】3
第一章 操作系统引论【操作系统】3
185 0
|
存储 安全 算法
第一章 操作系统引论【操作系统】2
第一章 操作系统引论【操作系统】2
109 0
|
算法 Unix 程序员
第一章 操作系统引论【操作系统】1
第一章 操作系统引论【操作系统】1
126 0