计算机系统为每台设备确定一个编号,设备管理 - 操作系统概论

文件系统为用户实现了按名存取的功能,用户只要把信息组织成逻辑文件,提出存取要求,文件系统就会实现逻辑文件和物理文件之间的转换。但实现这种转换时,必须要对外围设备进行启动和控制,这一功能由操作系统中的设备管理部分来完成。

设备管理的功能

设备管理是操作系统中较为庞杂而繁琐的部分。它的主要功能有:

实现对外围设备的分配与回收。

实现外围设备的启动。

实现对磁盘的驱动调度。

处理外围设备的中断事件。

实现虚拟设备。

现代计算机外围设备总类繁多,特性各不相同,使用方式也有很大差别。首先,为了解决用户的负担,设备管理负责启动外围设备大大方便了用户;其次,可以实现某些外围设备的共享,提高了设备的利用率;再次,可以实现外围设备和计算机其它部件之间的并行操作,进一步提高系统的效率;最后,设备管理还处理外围设备的一些故障,可防止用户错误的使用外围设备,从而提高外围设备和系统的可靠性和安全性。

外围设备的分类

可以把外围设备分成两大类:一类是只能让一个作业独占使用的设备,例如,输入机、打印机等;另一类是可以由几个作业同时使用的设备,例如,磁盘机。通常,在作业执行期间只允许一个作业独占使用的设备称为 独占设备。可让多个作业同时使用的设备称为 可共享设备。

独占设备的绝对号和相对号

计算机系统中配置有各种不同类型的独占设备,每一类独占设备又可以有好多台。为了对这些设备进行管理,计算机系统对每一类设备都要进行登记,且为且为每一台设备确定一个编号,以便区分和识别,这个编号称为 设备的绝对号。

在多道程序设计系统中,用户无法知道哪台设备正在被其他用户占用,哪台设备当前是空闲的,所以用户申请分配设备时不能使用设备的绝对号。当用户要使用独占设备时,只需向系统说明所要使用的设备类型,至于实际使用哪一台,由系统根据该类设备的分配情况来决定。有时用户可能要求同时使用几台同类型的设备,为了避免使用时的混乱,用户可以对自己要使用的若干台设备给出编号。用户对自己需要使用的若干台同类设备给出的编号称为 设备的相对号。

独占设备的分配

用户申请分配设备时,不是具体指定要哪台,而是指出要申请分配哪一类设备,多少台,且在用户程序中用“设备相对号”来提出要求。所以,用户编制程序时使用的设备与实际能占用的设备无关,设备的这种特性称为 设备的独立性。

具有设备独立性的计算机系统,在分配设备时适应性好,灵活性强。这是因为:

系统只要从指定的“那一类”设备中找出“好的且尚未分配的”设备来进行分配。

万一用户要使用的设备出了故障,系统就可以从同类设备中找另一台“好的且尚未分配的”设备来替换。

为了记录设备的分配情况,系统可设置设备分配表,指出系统所配置的设备类型、数量以及分配和使用的情况等。设备分配表由 2 部分组成:

d7d8d0cb0709d3e9a29a6ee5296fc6b3.pnge741a8df42117acfa9ebb6ffe8644594.png

每一类设别在设备类表中占一个登记项,指出总台数、当前剩余几台、以及该类设备在设备表中的起始地址。每一台设备在设备表中占有一个登记项,同类的若干台设备连续地登记在设备表中,每一台设备都有一个绝对号,并设有“好/坏”和“已/未分配”标志。

磁盘的驱动调度

对移动壁磁盘执行信息传输操作时,必须确定信息在磁盘上的物理位置。所以,应给出访问磁盘的存储空间地址:柱面号、磁头号、扇区号。在执行信息传输操作时先把移动臂移到指定的柱面,再等待指定的扇区旋转到磁头位置下,再让指定的磁头进行“读/写”,完成信息传送。可见,执行一次信息传输操作所花的时间有 3 部分:

寻找时间:磁头在移动臂带动下移动到指定柱面所需的时间。这是机械动作,花费时间较长。

延迟时间:指定扇区旋转到磁头位置所需的时间。这与信息所在的扇区位置有关。

传送时间:读磁道信息到主存储器中或将主存储器中信息写入磁道上所需的时间。由于每个扇区中各磁道上的信息容量是相同的,所以传送时间页式相同的,且是固定的。

系统往往采用一定的调度策略来决定各等待访问者的执行次序,这项工作称为 驱动调度。采用的调度策略称为 驱动调度算法。对于磁盘,驱动调度包括“移臂调度”和“旋转调度”两部分。

移臂调度

移臂调度是根据访问者欲访问的柱面位置来进行调度。移臂调度算法有:

“先来先服务”算法:只考虑请求访问者的先后次序。

“最短寻找时间优先”算法:总是选择离移动臂当前位置最近的那个柱面的访问者。

“电梯调度”算法:总是从移动臂当前位置开始沿着臂的移动方向去选择最近的那个柱面的访问者,如果沿臂的移动方向没有请求访问者,就改变臂的移动方向再去选择。

算法①②都可能经常改变移动臂的移动方向,使移动臂来回移动,既花费时间又影响机械部件,算法③ 相比之下应是最好的算法。

假定,某磁盘有 200 柱面,当前在 125 号柱面,向外(编号减小)移动。此时若干请求要访问的柱面号的先后次序如下(就是先来先服务调度算法的次序):

先来先服务

服务次序

1

2

3

4

5

6

7

8

9

访问的柱面号

86

147

91

177

94

150

122

175

130

移动的柱面数

39

61

56

86

83

56

28

53

45

总移动距离

507

最短寻找时间

服务次序

1

2

3

4

5

6

7

8

9

访问的柱面号

122

130

147

150

175

177

94

91

86

移动的柱面数

3

8

17

3

25

2

83

3

5

总移动距离

149

电梯调度

服务次序

1

2

3

4

5

6

7

8

9

访问的柱面号

122

94

91

86

130

147

150

175

177

移动的柱面数

3

28

3

5

44

17

3

25

2

总移动距离

130

旋转调度

当移动臂定位后,可能会有多个访问者访问该柱面,怎样决定等待访问者的执行次序?从效率上考虑,显然应优先选择延迟时间最短的访问者去执行,这种根据延迟时间来决定执行次序的调度称为 旋转调度。

应区分这几种情况:(1)同一磁头,不同编号扇区;(2)不同磁头,不同编号的扇区;(3)不同磁头,相同编号的扇区。对于①②,旋转调度总是对先到达读写磁头下的扇区进行信息传送;对于③,这些请求指定的扇区会同时到达磁头下,这时,根据磁头号可从中任意选择一个磁头进行读写操作,其余的请求者必须等磁盘再次把扇区旋转到磁头位置时才有可能被选中。

信息的优化分布

信息在磁道上的排列方式也会影响旋转调度的时间。例如,某个盘面被划分成 8 个扇区,现有 8 条逻辑记录被存放在同一个磁道上,处理程序要求顺序处理这些记录。每次请求从磁盘上读出一个记录,然后花 5ms 进行处理,之后再读取下一条记录,直至这些记录处理完毕。假定磁盘转速为 20ms/周。看下图:

由于,磁盘转速为 20ms/周,因此,读取第一个扇区(即1条记录)为 2.5ms,再用 5ms 处理,则总花费时间为 7.5ms,而在处理的这 5ms 中,L2L3已经走过去了,等待 L2 再旋转到磁头下,还需要 15ms 的延迟时间。于是,处理这 8 条记录所要花费的时间为:(2.5 + 5) x 8 + 15 x 7 = 165ms,采用优化存放后,需要的总时间为:(2.5 + 5) x 8 = 60ms。可见,对于一些能预知处理要求的信息,采用优化分布可以提高系统的效率。

设备的启动和 I/O 中断处理

作业执行中总要不断的启动外围设备,把信息读入主存储器,或把主存储器中的信息存放到存储介质上。主存储器与外围设备之间的信息传送操作就称为 输入输出操作。

通道

为了使物理特性各异的外围设备能以标准的接口连接到系统中,现代计算机系统引入了自称独立系统的通道结构。通道的出现使计算机系统的性能得到提高,它把中央处理器(CPU)从琐碎的输入输出操作中解脱出来,为计算机系统中各个部件能并行工作创造了条件。

主存储器与外围设备之间传送信息的输入输出操作不再有 CPU 承担,而改由通道承担。只要 CPU 启动了通道,通道就能按指定的要求独立的去完成输入输出操作,然后 CPU 可做与输入输出操作无关的其他工作,因而各通道上的外围设备也能并行工作。正因为通道能单独的完成输入输出操作,所以通道也成为 输入输出处理机。

通常,一个中央处理器可以连接多个通道,一个通道可以连接多个设备控制器,一个设备控制器可以连接同类型的多台设备。有的系统还可以将一台设备连接到几个设备控制器上,或把一个设备控制器连接到几个通道上,实现多路交叉连接。通道的连接如下图:

通道程序

中央处理器执行“启动 I/O”指令来启动通道工作,通道被启动后执行事先编制好的由通道命令(Channel Command Word,CCW)组成的“通道程序”来控制设备工作。为了使操作系统能以同样的方式启动种类繁多,特性各异的外围设备,计算机硬件提供了一组“通道命令”,操作系统可以用若干条通道命令来规定执行一次输入输出操作应做的工作。这若干条命令就组成了一个 通道程序。

不同的计算机系统的通道命令的格式可能不同,但一般都由命令码、数据主存地址、传送字节个数、标志码组成。例如,IBM 系统的通道命令用 8 个字节表示,其格式为:

0 ~ 7

8 ~ 31

32 ~ 39

40 ~ 63

命令码

数据主存地址

标志码

传送字节个数

命令码(分为 3 类)

数据传输类:读、写、反读、取状态。要求外围设备执行数据传送。

通道转移类:要求通道执行转移命令,就像 CPU 执行一条跳转指令一样。

设备控制类:要求外围设备执行某种辅助操作,如磁带反绕、打印走纸、磁盘搜索、查找等。

数据主存地址

规定了本通道命令进行数据传送的主存起始地址,而传送字节个数指出了这个主存区域的大小。“读”命令时,这个区域存放外围设备读入的信息;“写”命令时,存放要输出到外围设备的信息;对于通道转移命令,用来指定转移地址;对于设备控制类命令,存放外围设备取出的或传送给外围设备的控制信息。

标志码

通道程序的链接标志,非“0”时,表示尚未结束,为“0”时,表示本条通道命令是通道程序的最后一条命令。

传送字节个数

对于数据传输类命令来说,每传送一个字节就减 1,为“0”时表示该条命令执行结束。对于非数据传输类命令,虽然不需要传输数据,但按规定此处必须填上一个非“0”的数。

要启动外围设备按指定的要求工作,首先要把“指定的要求”用通道程序表示出来,然后启动通道,通道才能控制外围设备完成指定操作。例如,要把主存储器中 L单元的“Operation System”在新的一页、第4行、打印出来。连空格在内共 16 个字符,为了使打印机按要求打印,可组织一个含有 3 条通道命令的通道程序(采用十六进制编码),如下:

命令码

数据主存地址

标志码

传送字节个数

07

000000

60

0001

EF

000000

60

0001

F9

L

00

0010

命令码 07 表示“对折页线”(即走纸到新的一页),命令码 EF 表示“走纸 3 行”(即走到第 4 行),命令码 F9 表示打印一行信息。由于硬件要求通道命令中传送字节个数不能为 0,所以前 2 条指令虽然不交换信息,但也要填写非 0 的数。标志码 60 表示还有后继命令,标志码 00 表示打印完成后,控制打印机的操作结束。

外围设备的启动

启动和控制外围设备完成输入输出操作的过程大致如下:

准备阶段。由文件系统和设备管理协作,按工作要求组成通道程序,向通道提出输入输出操作的任务。

中央处理器执行“启动 I/O”指令阶段。须指出欲启动的通道号和设备号,启动成功后,由通道逐条执行通道命令,此时 CPU 可以可以执行其他程序,与通道并行工作。若启动失败,CPU 分析条件码,可在适当时候重新执行“启动 I/O ”指令,或直接放弃执行。

通道向中央处理器汇报命令执行情况阶段。通道把通道和设备执行命令时的情况随时记录在一个称为 通道状态字(Channel Status Word,CSW)的固定单元中。通道发现程序状态字中有控制器结束、设备结束、通道结束、设备出错、设备特殊等情况时,就形成 I/O 中断,中断被响应后,由中断处理程序做出相应处理。

可以看到,具有通道结构的计算机系统,从启动外围设备直到完成输入输出操作,不需要考虑不同类型的设备各自所具有的物理特性,都用统一的方法在进行处理,既简单又不易出错。这种不考虑设备的具体物理特性(实际上设备的物理特性隐含在通道程序中)的处理方法称为 设备处理的一致性。

I/O 中断事件的处理

I/O 中断是通道与中央处理器协调工作的一种手段。I/O 中断可以粗略的分成“操作正常结束”和“操作异常结束”两大类。

操作正常结束

当通道状态字中有通道结束、设备结束、控制器结束时表示通道正确完成了通道程序规定的操作,中央处理器的本次输入输出操作正常结束。中断装置响应中断后,交给操作系统处理,操作系统根据产生中断的通道号、设备号查设备分配表就可知道是哪个作业在进程执行中请求启动设备的,现在操作正常结束,表示该作业进程已经得到了指定设备传来的信息,或者已经把信息传送到指定的设备,就应该把该进程的状态由“等待态”变成“就绪态”。

操作异常结束

当输入输出操作执行时,如果发现有硬件的故障,如接口错、控制错、通道程序错(无效命令码)或数据错(校验码不符合)等情况时,表示通道或设备出现了故障。有时,也会发生一些设备特殊事件(如打印机缺纸)。发现故障或特殊事件时就要形成操作异常中断。

对故障事件,可以让通道程序进行复执。经复执后,故障若被排除,则可继续执行下去,若仍不能排除,那么久输出一些信息,请操作人员人工排除。对设备特殊事件,操作系统分析发生的特殊事件,分别处理。若如打印机缺纸这种情况,应通知操作员打印机缺纸。

当操作员排除了故障或处理了特殊事件后,必须输入一条命令通知操作系统,以便操作系统继续控制程序的执行。

缓冲技术

我们知道,实现记录的成组与分解必须使用主存缓冲区,利用主存缓冲区协调了逻辑记录和物理块大小不一致的问题。我们也知道,当一个占用处理器的进程请求启动外围设备后,就要让出处理器而等待外围设备传输信息,当被启动的外围设备完成了一次输入输出操作时后,该进程才结束等待,此时,若该进程被进程调度选中,则又可占用处理器运行。

对一个经常要启动外围设备的进程来说,它等待信息传输的时间远大于占用处理器的时间。这就影响了进程的执行速度,使进程的周转时间变长。造成这种情况的根本原因是由于处理器的执行速度与外围设备传输信息的速度不匹配。为了改善这种情况,操作系统利用缓冲区来缓解这种不匹配的矛盾,这个技术就称为 缓冲技术。

单缓冲技术

最简单,操作系统在主存储器的系统区中设立一个缓冲区。假定用户进程要处理磁盘上某个文件,操作系统先从磁盘上找到该文件,将第一块信息读到缓冲区,接着把缓冲区的内容传送到用户工作区,如果这时缓冲区已腾空,则趁用户正在处理信息时,又可预读下一块信息至缓冲区,当用户进程需要后继信息时就直接从缓冲区传送给它。依次循环,直到文件处理结束。

显然,采用缓冲技术提高了进程的执行速度。

双缓冲技术

利用两个缓冲区来完成输入输出操作的工作。简单的说,用户进程需要读信息时,启动外围设备;将信息读入缓冲区1;将缓冲区1 的信息传送给用户的同时读取后继信息至缓冲区2;用户处理完缓冲区1 的信息后,把缓冲区2 的信息传送给用户,与此同时,又可继续读取后继信息至缓冲区1;依次循环,两个缓冲区交替使用。

与单缓冲技术相比,由于交替处理,在向用户传送消息的同时,另一个缓冲区可与外围设备交换信息,这两个时间段是有一部分时间重叠的。显然,进程的执行速度又有了提高。

缓冲池技术

操作系统可以在主存中设置一组缓冲区,这一组缓冲区称为 缓冲池。缓冲池中各缓冲区是系统的公共资源,可供进程共享,并由操作系统统一分配管理。设置缓冲池的目的是为了减少启动设备的次数,提高文件信息的传送速度,从而提高系统的效率。

UNIX 系统就采用了缓冲池技术。系统初始化时缓冲池中的各缓冲区都是未被使用的,称为 空缓冲区。它们链接成空缓冲区队列,分配时从队首开始,归还时链入队尾。用户请求操作文件时,总是为其分配 1 或 N 个缓冲区,传送信息至用户工作区后,缓冲区仍保留着,每当用户请求读时,则先查缓冲区,若有,则不必启动磁盘,直接从缓冲区传送给用户,加快了文件的传送速度。而当用户请求写时,直接把信息写入这些缓冲区中,却并不启动磁盘去保存该文件,这是考虑到用户生成的文件可能还会被使用,那时就可直接从缓冲区读出。仅当缓冲区要被收回重新分配时,才把尚未保存到磁盘上的文件写入磁盘。显然,这种“延迟写”的方式既减少了启动磁盘的次数,也提高了文件信息的传送速度。

脱机外围设备操作

像输入机、打印机一类的设备都是独占使用设备。于是,当某个用户单独占用期间,只有一部分时间在工作,其余时间处于空闲状态,这不利于提高设备的使用率。况且,这类设备大多是低速独占设备,因此,在作业执行中由于经常等待这一类设备传输信息而大大延长了作业的执行时间。

采用脱机外围设备操作技术可以解决上述系统效率不高的问题。实现这种技术是增加两台外围计算机。在多道程序设计系统中,多个作业可以同时执行,一台外围计算机负责把一批作业的信息全部传送到磁盘上,然后人工的把磁盘移动到主计算机系统。而把作业的执行结果存入另一个磁盘,人工的把该磁盘移动到另一台外围计算机上打印输出。

完成上述输入输出任务的计外围计算机无需进行计算,只是把信息从一种存储介质传送到另一种存储介质上。这种操作是独立于主计算机的,不是在主计算机控制下进行的,所以称为 脱机外围设备操作。脱机外围设备操作在一定程度上提高了效率,但也存在一些问题:使用多台计算机的成本较高;增加操作员的手工操作,来回搬动磁盘,既费时间又增加了出错的可能性;增加了单个作业的周转时间,因为输入输出都是一批作业一起处理的。

联机同时外围设备操作

现代计算机系统有足够的功能和大容量的磁盘,只要利用中央处理器与通道并行工作的能力,就可使一台计算机完成上述三台计算机完成的任务。操作系统设计两个程序:“预输入程序 ”和“缓输出程序 ”,再在磁盘上辟出称为“输入井 ”和“输出井 ”的专门区域。

由于“预输入程序”和“缓输出程序”的执行是在计算机的控制下进行的,所以,这种技术称为 联机同时外围设备操作(Simultaneous Peripheral Operation On Line,SPOOLING)。根据“SPOOLING”的读音,也把联机同时外围设备操作称为 斯普林操作。

操作系统中实现了从输入井读信息和把作业执行结果写到输出井的程序统称为 井管理程序。

采用斯普林操作后,即使系统只有一台输入机和一台打印机也能使两个以上要求使用输入机和打印机的作业同时执行,且每个作业都感到自己得到了速度极高的输入机和打印机。实际上,这是由操作系统利用了可共享的磁盘模拟了输入机和打印机的功能而产生的效果。我们把由操作系统模拟的独占设备称为 虚拟设备。

操作系统中实现联机同时外围设备操作功能的部分也称为 斯普林系统。由三部分组成:“预输入”程序、实现输入井读和输出井写的“井管理”程序、“缓输出”程序。三部分相互协调,为用户提供虚拟设备。

TEST

1. 从使用的角度,外围设备可分为哪两类?用户要求使用外围设备时,系统采用什么方式来分配?

从使用的角度,可以把外围设备分成两大类:独占设备和可共享设备。当用户要使用设备时,不能使用设备的绝对号,只需向系统说明要使用的设备类型及数量,至于实际使用的是哪些,由系统根据该类设备的分配情况来决定。为了记录设备的分配情况,系统可设置设备分配表,指出系统所配置的设备类型、数量以及分配和使用的情况。

2. 如果某作业申请外围设备时,指定申请某台外围设备,按下图设置的分配表,怎样实现分配?

7a1a8fbef9c0eaab45d3b325fb242db8.png

系统查找设备类表,如果现存台数可以满足申请的要求,就从指出的设备表始址开始依次查找设备表中的登记项,找出“好的且未分配”的设备分配给用户,并把分配标志改为已分配,填上作业名和作业中定义的相对号,修改现存台数;并把设备的绝对号和相对号的对应关系通知用户,使作业执行时能读到需要的信息,或输出作业执行的结果。

3. 用户程序中使用“设备类,相对号”的方式来使用外围设备有什么优点?

使用“设备类,相对号”来申请设备,使计算机系统在分配设备时的适应性好,灵活性强。这是因为:(1)系统只要从指定的“那一类”设备中找出“好的且尚未分配的”设备来进行分配。 (2)万一用户要使用的设备出了故障,系统就可以从同类设备中找另一台“好的且尚未分配的”设备来替换。

4. 解释“设备的独立性”。

用户编制程序时使用的设备与实际能占用的设备无关,设备的这种特性称为设备的独立性。

5. 设备的静态分配方式是怎样分配设备的?

静态分配方式是在用户作业开始执行前,由系统一次性分配该作业所要求的全部设备、控制器和通道。一旦分配后就一直为该作业所占用,直到该作业完成或被撤消。这种分配方式使得设备的利用率降低,一般用于独占设备。

6. 什么叫输入输出操作?

作业执行中总要不断的启动外围设备,把信息读入主存储器,或把主存储器中的信息存放到存储介质上。主存储器与外围设备之间的信息传送操作就称为输入输出操作。

7. 解释通道命令、通道程序、通道状态字。

通道命令,又称通道命令字(Channel Command Word,CCW),它是规定设备的某一种动作的指令。

通道程序,指一组通道命令编制出来的程序,用来规定执行一次输入输出操作应做的工作。

通道状态字,用于记录通道和设备执行命令时的情况,是一个固定单元。通道发现程序状态字中有控制器结束、设备结束、通道结束、设备出错、设备特殊等情况时,就形成 I/O 中断,中断被响应后,由中断处理程序做出相应处理。

8. 中央处理器与通道是怎样配合的?

首先,文件系统和设备管理协作,按工作要求组成通道程序;然后,中央处理器执行“启动 I/O”指令来启动通道工作,启动成功后,由通道逐条执行通道命令控制设备工作,若启动失败,中央处理器分析条件码,可在适当时候重新执行“启动 I/O ”指令,或直接放弃执行。 最后,通道把执行情况记录在通道状态字中,当完成输入输出操作时,向中央处理器汇报执行情况。

由于执行情况已经在 CSW 中,所以一般由通道产生 I/O 中断,中央处理器响应中断后,由中断处理程序做出相应处理。

9. 通道在什么情况下要产生 I/O 中断?

通道发现程序状态字中有控制器结束、设备结束、通道结束、设备出错、设备特殊等情况时,就形成 I/O 中断。前三种为表示通道正确完成了通道程序所规定的操作,中央处理器本次启动 I/O 操作正常结束。后几种表示出现故障,通道发现出现故障或设备特殊时间时,就要形成操作异常结束中断。

10. 解释“设备处理的一致性”。

具有通道结构的计算机系统,从启动外围设备直到完成输入输出操作,不需要考虑不同类型的设备各自所具有的物理特性,都用统一的方法在进行处理,既简单又不易出错。这种不考虑设备的具体物理特性(实际上设备的物理特性隐含在通道程序中)的处理方法称为设备处理的一致性。

11. 什么叫驱动调度?总结对磁盘的驱动调度过程。

在共享设备中,采用某种策略从等待访问该设备的进程中选择一个进程访问访问设备的工作称为驱动调度。其目的是降低若干访问者执行 I/O 操作的总时间,提高 I/O 操作的吞吐量。对于磁盘,驱动调度先进行“移臂调度”,寻求最优化的寻找时间,定位好柱面;然后再进行“旋转调度”,寻求好的延迟时间,定位好扇区。

12. 假定磁盘的移动臂现在处于第 8 柱面,有如下 6 个请求者等待访问磁盘,请你列出最省时间的响应次序。

序号

柱面号

磁头号

扇区号

(1)

9

6

3

(2)

7

5

6

(3)

15

20

6

(4)

9

4

4

(5)

20

9

5

(6)

7

15

2

先来先服务算法的访问次序就是进程序号的次序,过程为 8-9-7-15-9-20-7,移动总距离为 41 个柱面。

最短寻找时间优先算法的访问次序:假设先去 9 号柱面,过程为 8-9-9-7-7-15-20,移动总距离为 16 个柱面;假设先去 7 号柱面,过程为 8-7-7-9-9-15-20,移动总距离为 14 个柱面。

电梯调度算法:假设移臂向外移动,过程为 8-7-7-9-9-15-20,移动总距离为 14 个柱面;假设移动臂向内移动,过程为 8-9-9-15-20-7-7,移动总距离为 25 个柱面。

可见,最省时间的移动路线为 8-7-7-9-9-15-20,移动距离为 14 个柱面,再考虑重复柱面的扇区号又不同,则最省时间的响应次序为:(6)(2)(1)(4)(3)(5),对本题而言,最短寻找时间优先算法和电梯调度算法(移臂向外移动时)是最佳选择。

13. 假定某磁盘的旋转速度是每圈 20 毫秒,格式化时每个盘面被分成 10 个扇区,现有 10 个逻辑记录 A、B、C、D、E、F、G、H、I 和 J 存放在同一磁道的各扇区中,具体安排如下表。处理程序要顺序读出并处理这些记录,每读出一个纪录后,处理程序要花 4 毫秒的时间进行处理,然后再顺序读出下一个记录并处理,直到处理完这些记录。假定第一个记录已在磁头位置下,请回答:(1)顺序处理完这 10 个逻辑记录总共需花费多少时间?(2)请调整这 10 个逻辑记录的存放位置,使处理程序能在最短的时间内处理完这 10 个逻辑记录,并计算需花费的最短时间。

扇区号

逻辑记录

扇区号

逻辑记录

1

A

6

F

2

B

7

G

3

C

8

H

4

D

9

I

5

E

10

J

(1)读取 1 个记录需要 2ms, 处理一个记录需要 4ms,按现在的信息分布,记录1 处理完,当前磁头下的扇区号是 4,等到 2 号扇区再转回到磁头下的延迟时间为 16ms,顺序处理完这 10 个记录总耗时为 (2 + 4) x 10 + 16 x 9 = 204ms。

(2)以现在的读取时间和处理时间来计算,磁头能不间断(即处理完一个记录立刻读)的读取到的扇区号的次序是:1-4-7-10-3-6-9-2-5-8,经优化,扇区号 1~10 存放记录的顺序为:A H E B I F C J G D,处理完 10 个记录总耗时为 (2+4) x 10 = 60ms。

14. 什么是缓冲技术?为什么要采用缓冲技术?

操作系统中把利用缓冲区来缓解处理器与外围设备之间工作速度不匹配的矛盾的技术称为缓冲技术。采用缓冲技术,可以协调逻辑记录和物理块大小不一致的问题,可以缓解处理器与外围设备之间工作速度不匹配的矛盾。

15. 什么是输入井和输出井?

系统在磁盘中划分出专门称为“井”的区域,它分为输入井和输出井,分别代替低速独占的外围输入设备和输出设备。操作系统设计两个程序:“预输入程序 ”和“缓输出程序 ”,只要利用中央处理器与通道并行工作的能力,就可使一台计算机完成上述三台计算机(脱机外围设备操作)完成的任务。

16. 什么是 SPOOLING 系统?请简述它的实现思想。

操作系统中实现联机同时外围设备操作功能的部分也称为斯普林系统。它由三部分组成:“预输入”程序、实现输入井读和输出井写的“井管理”程序、“缓输出”程序。三部分相互协调,为用户提供虚拟设备。预输入程序启动输入机读出作业信息并把它们存放到输入井中。当主存储器中可以装入作业时,由作业调度从输入井中选择若干作业装入主存储器。被装入主存储器中的作业在执行中可请求井管理程序从输入井读取信息或把处理结果写到输出井中。缓输出程序利用处理器空闲时间启动通道,把作业执行的结果从打印机输出。

17. 什么叫虚拟设备?实现虚拟设备的硬件基础是什么?

采用 SPOOLING 操作后,利用共享设备来模拟独占设备,使每个作业都感到分到了一台高速的输入输出设备,利用这个技术所提供的设备称为虚拟设备。实现虚拟设备必须要有硬件的中断装置和通道技术作支撑,使中央处理器与各种外围设备之间可以并行工作。

18. 总结实现虚拟设备的优点。

实现虚拟设备不仅提高了独占设备的利用率,而且加快了作业的执行速度。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值