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

简介: 1.2.4 分时系统  推动分时系统形成和发展的主要动力是为了满足用户对人机交互的需求。用户的需求具体表现在一下几个方面:

===第一章操作系统引论======(1)https://developer.aliyun.com/article/1415699

1.2.4 分时系统

  推动分时系统形成和发展的主要动力是为了满足用户对人机交互的需求。用户的需求具体表现在一下几个方面:

(1) 人机交互。每当程序员写好一个新程序时,都需要上机进行调试。由于新编程序难免存在一些错误或不当之处,需要进行修改,因此用户希望能像早期使用计算机时一样,独占全机并对它进行直接控制,以便能方便地对程序中的错误进行修改。也就是,用户希望能进行人一机交互。.

(2)共享主机。在20世纪60年代,计算机还十分昂贵,一台计算机要同时供很多用户共享使用。显然,用户们在共享一台计算机时,每人都希望能像独占时一样,不仅可以随时与计算机进行交互,而且还不会感觉到其他用户的存在。


 由上所述不难得知,分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。


2.分时系统实现中的关键问题

 多道批处理系统中,用户无法与自己的作业交互的主要原因是:作业都先驻留

在外存上,即使以后被调入内存,也要经过较长时间的等待后方能运行,用户无法与自己的作业进行交互。为了能够实现人机交互,必须解决的关键问题是,如何使用户能与自己的作业进行交互。


 系统首先必须能提供多个终端,同时给多个用户使用;其次,当用户在自己的终端上键入命令时,系统应能及时接收,并及时处理该命令,再将结果返回给用户。


 此后,用户可根据系统返回的响应情况,再继续键入下一条命令,此即人一机交互。亦即,允许有多个用户同时通过自己的键盘键入命令,系统也应能全部及时接收并处理。


(1) 及时接收:要做到及时接收多个用户键入的命令或数据,只需要在系统中配置一个多路卡(实现分时多路复用)即可。此外,为了能使从终端上输入的数据被依次逐条地进行处理,还需要为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。

(2)及时处理:人机交互的关键在于,用户键入命令后,能对自己的作业和运行及时的实施控制,或者进行修改。因此,各个用户的作业都必须驻留在内存中,并能频繁的获得处理及运行,否则,用户键入的命令将无法作用到自己的作业上。由此可见,为了实现人机交互,必须彻底地改变原来批处理系统的运行方式,转而采用下面的方式

  a. 作业直接存入内存。因为作业在磁盘是不能运行的。

  b. 采用轮转运行方式,如果一个作业独占CPU连续运行,那么其它的作业就没有机会被调度运行。为避免一个作业长期独占处理机,引入了时间片的概念。

  一个时间片,就是一段很短的事件(例如30ms)。系统规定每个作业每次只能运行一个时间片,然后就暂停改作业的运行,并立即调度下一额作业运行。如果在不长的时间内能使所有的作业都执行一个时间片的时间,便可以让每个用户都能及时的与自己的作业进行交互,从而可使用户的请求得到及时响应。


分时系统的特征

  分时系统与多道批处理系统相比,具有非常明显的不同特性,可以归纳成一下四个方面:

(1)多路性。该特性是指系统允许将多台终端同时连接到一台主机上,并按分时原则为每个用户服务。多路性允许多个用户共享一台计算机, 显著地提高了资源利用率,降低了使用费用,从而促进了计算机更广泛的应用。

(2)独立性。该特性是指系统提供了这样的用机环境,即每个用户在各自的终端上进行操作,彼此之间互不干扰,给用户的感觉就像是他一人独占主机进行操作。

(3)及时性。及时性是指用户的请求能在很短时间内获得响应。这-一时间间隔是根据人们所能接受的等待时间确定的,通常仅为1~3秒钟。

(4) 交互性。交互性是指用户可通过终端与系统进行广泛的人机对话。其广泛性表现在:用户可以请求系统提供多方面的服务,如进行文件编辑和数据处理,访问系统中的文件系统和数据库系统,请求提供打印服务等。

1.2.5 实时系统

  实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

  1. 实时系统的类型

工业(武器)控制系统、信息查询系统、多媒体系统、嵌入式系统

  1. 实时任务的类型

周期性实时任务和非周期实时任务、硬实时和软实时任务

  1. 实时系统与分时系统特征的比较

(1)多路性:信息查询系统和分时系统中的多路性都表现为系统按分时原则为多个终端用户服务;

 分时控制系统的多路性:指系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制=

(2)独立性。信息查询系统中的每个终端用户在与系统交互时,彼此相互独立互不干扰;同样在实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰的。

(3)及时性。信息查询系统对实时性的要求是依据人所能接受的等待时间确定的,而多媒体系统实时性的要求是,播放出来的音乐和电视能令人满意。实时控制系统的实时性则是以控制对象所要求的截止时间来确定的,一般为秒级到毫秒级。

(4)交互性。在信息查询系统中,人与系统的交互性仅限于访问系统中某些特定的专用服务程序。它并不像分时系统那样,能向终端用户提供数据处理、资源共享等服务。而多媒体系统的交互性也仅限于用户发送某些特定的命令,如开始、停止、快进等,由系统立即响应。

(5)可靠性。分时系统要求系统可靠,实时系统要求系统高度可靠,因为任何差错都可能带来无法预料的灾难性后果。因此,在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。

1.2.6 微机操作系统的发展

单用户单任务操作系统

 单用户单任务操作系统的含义是,只允许一个用户上机,且只允许用户程序作为一个任务运行,这是最简单的微机操作系统,主要配置在8位和16位微机上,最有代表性的单用户单任务微机操作系统是CP/M和MS-DOS。


单用户多任务操作系统

 单用户多任务操作系统的含义是,只允许一个用户.上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。目前在32位微机上配置的操作系统,基本上都是单用户多任务操作系统。其中最有代表性的是由微软公司推出了Windows。


多用户多任务操作系统.

 多用户多任务操作系统的含义是,允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。在大、中和小型机中所配置的大多是多用户多任务操作系统,而在32位微机上,也有不少配置的是多用户多任务操作系统,其中最有代表性的是UNIX OS。现在最具有影响的两个能运行在微机上的 Unix操作系统变形是 Solaris OS和Linux OS。

1.3 操作系统的基本特性

  前面所介绍的多道批处理系统、分时系统和实时系统这三种基本操作系统都具有各自不同的特征,如批处理系统有着高的资源利用率和系统吞吐量;分时系统能获得及时响应;实时系统具有实时特征。除此之外,它们还共同具有并发、共享、虚拟和异步四个基本特征。

1.3.1 并发

正是因为系统中的程序能并发执行这一特性,才使得 OS 能有效地提高系统中的资源利用率,增加系统的吞吐量。


并行与并发:并行指的是两个或多个事件在同一时刻发生。并发则是在同一时间间隔内发生。在多道程序环境下,并发在宏观上同时执行,微观上分时地交替执行。

引入进程

 在一个未引入进程的系统中,在属于同一个应用程序的计算程序和I/O 程序之间只能.是顺序执行,即只有在计算程序执行告一段落后,才允许I/O程序执行;反之,在程序执

行I/O操作时,计算程序也不能执行。

 但在为计算程序和I/O程序分别建立一个进程后,这两个进程便可并发执行。若对内存中的多个程序都分别建立一个进程, 它们就可以并发执行,这样便能极大地提高系统资源的利用率,增加系统的吞吐量。

 所谓进程,是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。事实上,进程和并发是现代操作系统中最重要的基本概念,也是操作系统运行的基础,第二章会重点学习。

1.3.2 共享

 一般情况下 的共享与操作系统环境下的共享其含义并不完全相同。前者只是说明某种资源能被大家使用,如图书馆中的图书能提供给大家借阅,但并未限定借阅者必须在同一时间(间隔)和同一地点阅读。又如,学校中的计算机机房供全校学生上机,或者说,全校学生共享该机房中的计算机设备,虽然所有班级的上机地点是相同的,但各班的上机时间并不相同。对于这样的资源共享方式,只要通过适当的安排,用户之间并不会产生对资源的竞争,因此资源管理是比较简单的。

 而在OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。这里在宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。对于这种资源共享方式,其管理就要复杂得多,因为系统中的资源远少于多道程序需求的总和,会形成它们对共享资源的争夺。所以,系统必须对资源共享进行妥善管理。由于资源属性的不同,进程对资源复用的方式也不同,目前主要实现资源共享的方式有如下两种。


互斥共享方式

 系统中的某些资源,如打印机、磁带机等,虽然可以提供给多个进程(线程)使用,但应规定在一段时间内,只允许一个进程访问该资源。为此,在系统中应建立一种机制,以保证多个进程对这类资源的互斥访问。

 当进程A要访问某资源时,必须先提出请求。若此时该资源空闲,系统便可将之分配给请求进程A使用。此后若再有其它进程也要访问该资源,只要A未用完就必须等待。仅当A进程访问完并释放系统资源后,才允许另一进程对该资源进行访问。这种资源共享方式称为互斥式共享,把这种在一段时间内只允许一个进程访问的资源,称为临界资源(或独占资源)。系统中的大多数物理设备,以及栈、变量和表格,都属于临界资源,都只能被互斥地共享。为此,在系统中必须配置某种机制,用于保证诸进程互斥地使用临界资源。


2.同时访问方式


 系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下是宏观意义上的,而在微观上,这些进程对该资源的访问是交替进行的。典型的可供多个进程“同时”访问的资源是磁盘设备。一些用重入码编写的文件也可以被“同时”共享,即允许若干个用户同时访问该文件。

 并发和共享是多用户OS的两个最基本的特征。它们又是互为存在的条件。即

一方面资源共享是以进程的并发执行为条件的,若系统不允许并发执行也就不存在资源共

享问题;另一方面,若系统不能对资源共享实施有效管理,以协调好诸进程对共享资源的

访问,也必然会影响到诸进程间并发执行的程度,甚至根本无法并发执行。

1.3.3 虚拟

 通过某种技术将一个物理实体编程若干个逻辑上的对应物的功能称为”虚拟“。前者是现实的,后者是虚幻的,事用户感觉上的东西。相应的,吧用于实现虚拟的技术称为虚拟技术。在OS中也是利用 时分复用和空分复用技术实现”虚拟“的。


时分复用技术:广泛利用该技术来实现==虚拟处理机、虚拟设备等,==使资源的利用率得以提高。时分复用技术能提高利用率的根本原因在于,他利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。

 (1)虚拟处理机技术。利用多道程序设计技术,为每道程序建立至少-一个进程,让多道程序并发执行。此时虽然系统中只有一台处理机,但通过分时复用的方法,能实现同时(宏观上)为多个用户服务,使每个终端用户都认为是有一个处理机在专门为他服务。亦即,利用多道程序设计技术,可将一台 物理上的处理机虚拟为多台逻辑上的处理机,在每台逻辑处理机上运行一道程序,我们把用户所感觉到的处理机称为虚拟处理器。

 (2)虚拟设备技术。我们还可以利用虚拟设备技术,也通过分时复用的方法,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备。这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为允许多个用户“同时”访问的共享设备,既宏观上能“同时”为多个用户服务。例如原来的打印机属于临界资源,而通过虚拟设备技术又可以把它变为多台逻辑上的打印机,供多个用户“同时”打印。关于虚拟设备技术将在第五章中介绍。


空分复用技术

 20世纪初,电信业中就已使用频分复用技术来提高信道的利用率。它是指将–个频率范围比较宽的信道划分成多个频率范围较窄的信道(称为频带),其中的任何一个频带都仅

供一对用户通话。早期的频分复用技术只能将一条物理信道划分为几条到几十条话路,后

来又很快发展到成千上万条话路,每条话路供一对用户通话。再后来在计算机中也把空分

复用技术用于对存储空间的管理,用以提高存储空间的利用率。

 如果说,多道程序技术(时分复用技术)是通过利用处理机的空闲时间运行其它程序,提高了处理机的利用率,那么,空分复用技术则是利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率。

 但是,单纯的空分复用存储器只能提高内存的利用率,并不能实现在逻辑上扩大存储器容量的功能,还必须引入虚拟存储技术才能达到此目的。虛拟存储技术在本质上是实现内存的分时复用,即它可以通过分时复用内存的方式,使一道程序仅在远小于它的内存空

间中运行。例如,一个100 MB的应用程序之所以可以运行在30 MB的内存空间,实质上

就是每次只把用户程序的一部分调入内存运行,运行完成后将该部分换出,再换入另一部

分到内存中运行,通过这样的置换功能,便实现了用户程序的各个部分分时地进入内存运行。

 应当着重指出:虚拟的实现,如果是采用分时复用的方法,即对某一物理设备进行分时使用,设N是某物理设备所对应的虚拟的逻辑设备数,则每台虚拟设备的平均速度必然

等于或低于物理设备速度的1/N。 类似地,如果是利用空分复用方法来实现虚拟,此时一

台虚拟设备平均占用的空间必然也等于或低于物理设备所拥有空间的1/N。

1.3.4 异步

在多道程序环境下,系统允许多个进程并发执行。在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,并释放出处理机,直到打印机空闲,并再次获得处理时程方能继续执行。可见,由于资源等因素的限制,使进程的执行通常都不可能“一气呵成”,而是以“停停走走”的方式运行。

 对于内存中的每个进程,在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需要多少时间才能完成等等,都是不可预知的。由于各用户程序性能的不同,比如,有的侧重于计算而较少需要I/O;而有的程序其计算少而IO多,这样,很可能是先进入内存的作业后完成,而后进入内存的作业先完成。或者说,进程是以人们不可预知的速度向前推进的,此即进程的异步性。尽管如此,但只要在OS中配置有完善的进程同步机制,且运行环境相同,则作业即便经过多次运行,也都会获得完全相同的结果。因此异步运行方式是允许的,而且是操作系统的一个重要特征。

1.4 操作系统的主要功能

1.4.1处理机管理功能

进程控制

 在多道程序环境下为使作业能并发执行,必须为每道作业创建一个或几个进程, 并为之分配必要的资源。当进程运行结束时,应立即撤消该进程,以便能及时回收该进程所占用的各类资源,供其它进程使用。在设置有线程的OS中,进程控制还应包括为一个进程创建若千个线程,以提高系统的并发性。因此,进程控制的主要功能也就是为作业创建进程、撤消(终止)已结束的进程,以及控制进程在运行过程中的状态转换。

进程同步

 为使多个进程能有条不紊地运行,系统中必须设置相应的进程同步机制。该机制的主要任务是为多个进程(含线程)的运行进行协调。常用的协调方式有两种:

   ①进程互斥方式, 这是指诸进程在对临界资源进行访问时,应采用互斥方式;

   ②进程同步方式,指在相互合作去完成共同任务的诸进程间,由同步机构对它们的执行次序加以协调。最简单的用于实现进程互斥的机制是为每一个临界资源配置一把锁W,当锁打开时,进程可以对该邻接资源进行访问;而当锁关闭时,则禁止进程访问该邻接资源。而实现进程同步时,最常用的机制就是信号量机制。

进程通信

 当有一组相互合作的进程去完成一个共同的任务时, 在它们之间往往需要交换信息。例如,有输入进程、计算进程和打印进程三个相互合作的进程,输入进程负责将所输入的数据传送给计算进程;计算进程利用输入数据进行计算,并把计算结果传送给打印进程;最后由打印进程把计算结果打印出来。进程通信的任务是实现相互合作进程之间的信息交换。

 当相互合作的进程处于同一计算机系统时,通常在它们之间采用直接通信方式,即由,源进程利用发送命令直接将消息(message)挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息。

调度

 在传统OS中,调度包括作业调度和进程调度两步。

(1)作业调度。作业调度的基本任务是从后备队列中按照一定的算法选择 出若干个作业,为它们分配运行所需的资源,在将这些作业调入内存后,分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并将它们插入就绪队列中。

(2)进程调度。进程调度的任务是从进程的就绪队列中按照一定 的算法选出一个进程,将处理机分配给它,并为它设置运行现场,使其投入执行。

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

目录
相关文章
|
7月前
|
存储 算法 Unix
《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构
《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构
26 0
|
4天前
|
Unix Shell Linux
===第一章操作系统引论======(1)
引言   大多数读者都会 Windows、Linux、FreeBSD或OS X 等某个操作系统有些体验,但是表面现象是会骗人的。用户与之交互的程序,基于文本的通常是 shell,基于图标的则称为:图形化用户界面,实际上他们并不是操作系统的一部分,尽管这些程序使用操作系统来完成工作。
40 0
|
4天前
|
存储 安全
===第一章操作系统引论======(4)
1.5.2 客户/服务器模式(C/S)简介
36 0
|
4天前
|
存储 安全 调度
===第一章操作系统引论======(3)
1.4.2 存储器管理功能   存储器管理的主要任务,是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。为此,存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能。
49 0
|
7月前
|
消息中间件 存储 算法
操作系统(1.2)--引论
在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存),这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。
29 0
|
7月前
|
算法 人机交互 数据处理
操作系统(1.1)--引论
OS作为用户与计算机硬件系统之间接口的含义是: OS处于用户与计算机硬件系统之 间,用户通过OS来使用计算机系统。
39 0
|
9月前
|
存储 算法 调度
第一章 操作系统引论【操作系统】3
第一章 操作系统引论【操作系统】3
118 0
|
9月前
|
存储 安全 算法
第一章 操作系统引论【操作系统】2
第一章 操作系统引论【操作系统】2
68 0
|
9月前
|
算法 Unix 程序员
第一章 操作系统引论【操作系统】1
第一章 操作系统引论【操作系统】1
81 0
|
9月前
|
存储 算法 安全
[计算机操作系统(第四版 汤小丹 汤子瀛)]第一章 操作系统引论(学习复习笔记)
[计算机操作系统(第四版 汤小丹 汤子瀛)]第一章 操作系统引论(学习复习笔记)