操作系统总复习 联系客服

发布时间 : 星期五 文章操作系统总复习更新完毕开始阅读11d77164783e0912a2162afb

7设备分配技术主要有哪些?常用的设备分配算法是什么?

答:设备分配技术主要有:独占分配、共享分配和虚拟分配。

常用的设备分配算法是:先来先服务算法和优先级高的优先服务算法。 8实现SPOOLing系统的硬件前提是什么?SPOOLing系统的主要功能是什么?

答:实现SPOOLING系统的首先要有硬件支持:要提供大容量的磁盘,要有中断和通道装置,以便使外围设备与中央处理器能够并行工作。 它是为了满足多道程序或多进程队独占设备的共享使用而引入的,其主要功能即是:将独占设备改造为共享设备,实现虚拟设备 。 9简述处理I/O请求的主要步骤。

答:处理I/O请求是一个系统获取用户I/O请求转发给相应外设完成的过程 ,其具体的处理步骤如下:

①用户进程发出I/O操作;

②系统接受这个I/O请求,转去执行操作系统的核心程序; ③设备驱动程序具体完成I/O操作;

④I/O完成后,系统进行I/O中断处理,然后用户进程重新开始执行 10设备驱动程序主要执行什么功能?

答:设备驱动进程严格执行设备驱动程序中规定的各种功能 ,即接受用户的I/O请求 ;取出请求队列中队首的请求,将相应的设备分配给它 ;启动该设备工作,完成指定的I/O操作 ;处理来自设备的中断 。

11 I/O软件的设计目标?它是如何划分层次的?各层的功能是什么? 答:I/O软件的设计目标:

①与设备无关

②对文件和设备应统一命名 ③层次结构 ④效率高

I/O软件可分为如下4个层次:中断处理程序、设备驱动程序、与设备无关的操作系统软件和用户级软件 。各层功能为:

①中断处理程序——分析中断原因,并依据中断原因调用相应的处理程序

②设备驱动程序——它接受来自上层、与设备无关软件的抽象读写请求,并将该I/O请求排在请求队列的队尾,还要检查I/O请求的合法性;取出请求队列中对首请求,将相应设备分配给它;向该设备控制器发送命令,启动该设备工作,完成指定的I/O操作;处理来自设备的中断

③与设备无关的操作系统软件——其基本功能是执行所有驱动器共同的I/O功能和对用户级软件提供统一软件

④用户级软件——多数I/O软件都在操作系统中,用户空间中也有一小部分。通常,它们以库函数形式出现,在用户程序中可以调用它们

12什么叫寻道?访问磁盘时间由哪几部分组成?其中哪一个是磁盘调度的主要目标?为什么?

答: 把磁头从当前位置移到相应的磁道上或柱面上,这个操作过程叫做寻道。

访问磁盘一般要有三部分时间:寻道时间、旋转延迟时间和传输时间。 寻道时间是磁盘调度的主要目标。

传输时间是硬件设计时就固定的,寻道时间和旋转延迟时间与信息在磁盘上的位置有关。因为磁头臂是机械移动,所以对大多数磁盘来说,寻道时间远大于旋转延迟时间与传输时间之和,它是影响磁盘调度的主要因素。 13什么是RAID?采用RAID技术的优点是什么?

答:RAID称作廉价磁盘冗余阵列,即利用一台磁盘阵列控制起来统一管理和控制一组磁盘驱动器(几台到几十台),组成一个高可靠性、快速大容量的磁盘系统。

采用RAID技术可以获取更高的可靠性和更快的数据传输速率,而不是价格上更便宜。

综合题

1假定一个硬盘有100个柱面,每个柱面有10个磁道,每个磁道有15个扇区。当进程要访

问磁盘的12345扇区时,计算磁盘的三维物理扇区号。 解:

每个柱面的扇区数为:10*15=150 (3’)

12345/150=82余45,故12345扇区所在的柱面为82 (3’) 再将45/15,其商为3,余数为0,(3’)

故求得12345扇区所在的磁盘地址为:82柱面,3磁道,0扇区。(1’) 2假设移动头磁盘有200个磁道(0-199号)。目前正在处理143号磁道上的请求,而刚刚处理结束的请求是125号,如果下面给出的顺序是按FIFO排成的等待服务队列顺序:86,147,91,177,94,150,102,75,130 那么,下列各种磁盘调度算法来满足这些请求所需的总磁头移动量是多少? 1)FCFS, 2)SSTF 解:

1) FCFS:125?143—86—147—91—177—94—150—102—75—130 (2’) 满足这些请求所需要的总磁头移动量为

(143-86)+(147-86)+(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(102-75)+(130-75) =57+61+65+86+83+56+48+27+55=529 (3’)

2) SSTF:125?143—147—150—130—102—94—91—86—75—177 (2’)

满足这些请求所需的总磁头移动量为

(150-143)+(150-75)+(177-75)=7+75+102=182 (3’) 3假设移动头磁盘有200个磁道(0-199号)。目前正在处理143号磁道上的请求,而刚刚处理结束的请求是125号,如果下面给出的顺序是按FIFO排成的等待服务队列顺序:86,147,91,177,94,150,102,75,130 那么,下列各种磁盘调度算法来满足这些请求所需的总磁头移动量是多少?

1)SCAN, 2)C-LOOK

解:1)SCAN:125?143—147—150—177—199—130—102—94—91—86—75 (2’)

(199-143)+(199-75)=56+124=180 (3’)

2)C-LOOK:125?143—147—150—177 —75—86—91—94—102—130 (2’) 满足这些请求所需要的总磁头移动量为

177-143+177-75+130-75=33+102+55=190 (3’)

4假设一个磁盘由200个磁道,编号从0~199。当前磁头正在143道上服务,并且刚刚完成了125道的请求。如果寻道请求队列的顺序是:86,147,91,177,94,150,102,175,130 问:为完成上述请求,下列算法各自磁头移动的总量是多少? ①FCFS ②SSTF 解:⑴FCFS磁头移动顺序:

143 ? 86 ? 147 ? 91 ? 177 ? 94 ? 150 ? 102 ? 175 ? 130 (2’) 57 61 56 86 83 56 48 73 45 磁头移动总量: 57+61+56+86+83+56+48+73+45=565 (3’) ⑵SSTF磁头移动顺序

143 ? 147 ? 150 ? 130 ? 102 ? 94 ? 91 ? 86 ? 175 ? 177 (2’) 4 3 20 28 8 3 5 89 2 磁头移动总量: 4+3+20+28+8+3+5+89+2=162 ( 3’)

5假设一个磁盘由200个磁道,编号从0~199。当前磁头正在143道上服务,并且刚刚完成了125道的请求。如果寻道请求队列的顺序是:86,147,91,177,94,150,102,175,130 问:为完成上述请求,下列算法各自磁头移动的总量是多少?

① SCAN ② C-SCAN 解:(1)SCAN磁头移动顺序

143 ? 147 ? 150 ? 175 ? 177 ? 199 ?130 ? 102 ? 94 ? 91 ? 86 (2’) 4 3 25 2 22 69 28 8 3 5 磁头移动总量: 4+3+25+2+22+69+28+8+3+5=169 (3’) (2)C-SCAN磁头移动顺序

143 ? 147 ? 150 ? 175 ? 177 ? 199 ? 0 ? 86 ? 91 ? 94 ? 102 ? 130 (2’) 4 3 25 2 22 199 86 5 3 8 28 磁头移动总量: 4+3+25+2+22+199+86+5+3+8+28=385 (3’)

6磁盘请求以10,22,20,2,40,6,38柱面的次序到达磁盘驱动器。寻道时每个柱面移动需要6ms,计算以下寻道次序和寻道时间:

①先到先服务 ②电梯调度算法(起始移动向上)

所有情况下磁臂的起始位置都是柱面20。 解:寻道时间=柱面(磁道)移动总量×6ms 1) 先到先服务算法的调度顺序: 20 ? 10 ? 22 ? 20 ? 2 ? 40 ? 6 ? 38 (2’) 10 12 2 18 38 34 32 柱面移动总量=10+12+2+18+38+34+32=146 (2’) 寻道时间=146×6ms=876ms (1’) 2) 电梯算法的调度顺序: 20 ? 22 ? 38 ? 40 ? 10 ? 6 ? 2 (2’) 2 16 2 30 4 4 柱面移动总量=2+16+2+30+4+4=58 (2’)

寻道时间=58×6ms=348ms (1’)

7某系统文件存储空间共有80个柱面,20磁道/柱面,6块/磁道,每块有1K字节。用位示图表示。每张位示图为64个字,其中有4个包含的是控制信息。位示图中的位若为1,表示占用;为0表示空闲。试给出分配和回收一个盘块的计算公式。 解:每个柱面的块数为:20*6=120(块)(1’)

计算该文件系统的磁盘块:80*120=9600(块)(1’)

每张位示图为64个字,其中有4个字包含的是控制信息。假定每个字为16位。每张可以记录的块数为:(64-4)*16=960(块)(1’)

总共有9600块,用位示图表示,需要占用9600位,每张位示图可记录960块,需要的位示图数位:9600/960=10(张),用0~9进行编号。(1’) 1) 分配一个盘块的计算公式 (3’)

相对块号=位图的张号*960+字号*16+位号

柱面号=(相对块号/每个柱面的块数)的商=(相对块号/120)的商 磁盘号=(相对块号/每个柱面的块数)的余数的商 扇区号=((相对块号/每个柱面的块数)的余数)的余数 2) 回收一个盘块的计算公式 (3’)

先将三维地址转换为相对块号,再将相对块号转换为位图的字号和位号。 相对块号=柱面号*120+磁盘号*6+扇区号 字号=(相对块号/16)的商 位号=(相对块号/16)的余数

第八章 中断和信号机制 名词解释

1 中断

是指CPU对系统发生的某个事件做出的一种反应,CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。 2中断源

引起中断的事件或发出中断请求的来源称为中断。 3中断请求

中断源向CPU提出进行处理的请求。 4中断向量

通常包括相应中断处理程序入口地址和中断处理时处理机状态字。 5异常

它是指来自cpu内部的事件或程序执行中的事件引起的中断 6程序性中断

是指因错误地使用指令或数据而引起的中断,用于反映程序执行过程中发现的例外情况,例

如,非法操作码,无效地址、运算溢出,等等。 7断点

发生中断时,被打断程序的暂停点称为断点。 8中断响应

发生中断时,cpu暂停执行当前的程序,转去处理中断。这个由硬件对中断请求做出反应的过程,称为中断响应。 9中断屏蔽

是指在提出中断请求之后,cpu不予响应的状态。它常常用来在处理某个中断时防止同级中断的干扰,或在处理一段不可分割的、必须连续执行的程序时防止意外事件把它打断。 10中断禁止

是指在可引起中断的事件发生时系统不接收该中断的信号,因而就不可能提出中断请求而导致中断。简言之,就是不让某些事件产生中断。 11软中断

又称信号机制,它是在软件层次上对中断机制的一种模拟,其中,信号的发送者相当于中断源,而接收者(必定是一个进程)相当于cpu。

简答题

1什么是中断?什么叫中断处理?什么叫中断响应?

答:中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得cpu暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行的过程。

Cpu转去执行相应的事件处理程序的过程称为中断处理。 Cpu收到中断请求后转到相应的事件处理程序称为中断响应。 2什么叫关中断?什么叫开中断?什么叫中断屏蔽? 答:把cpu内部的处理机状态字psw的中断允许位清除从而不允许cpu响应中断叫做关中断。

设置cpu内部的处理机状态字psw的中断允许位从而允许cpu响应中断叫做开中断。 中断屏蔽是指中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。

3什么是陷阱?什么是软中断?

答:陷阱指处理机和内存内部产生的中断,它包括程序运算引起的各种错误,如地址非法、检验错、页面失效。存取访问控制错、从用户态到核心态的切换等都是陷阱的例子。

软中断是通信进程之间用来模拟硬中断的一种信号通信方式。 4中断响应主要做哪些工作?由谁来完成? 答:中断响应主要做的工作是: ①中止当前程序的执行;

②保存原程序的断点信息(主要是程序计数器PC和程序状态寄存器PS的内容); ③转到相应的处理程序

中断响应由硬件实施。

5叙述缺页中断和一般中断的区别?

答:缺页中断也是中断的一种,既然是中断都应保护当前运行程序的现场信息,中断完成后恢复被中断的现场。但缺页中断是当前运行进程自己产生的中断,且当前指令还未执行完,故中断处理将所需的页调入主存后,应该恢复该进程重新执行被中断的这条指令。 对一般中断,中断源与当前正在执行的进程无关,故正在执行的进程执行完当前这条指令后才响应中断。中断处理完成后,可能恢复被中断的进程,也可能调度其他进程的运行。即使恢复被中断进程的运行,恢复后执行的指令也是中断发生时的下一条指令。 6什么是软中断?

答:软中断是对硬中断的一种模拟,发送软中断就是向接收进程的proc结构中的相应项发送一个特定意义的信号 。软中断必须等到接收进程执行时才能生效 。

7进程在什么时候处理它接收到的软中断信号?进程接收到软中断信号后放在什么地方? 答:进程在再次被调度执行时先检查是否收到软中断,若进程接收到了软中断信号则优先处

理软中断 。进程把接收到软中断信号存放在proc结构的相应项中 。 8中断处理的主要步骤是什么? 答:中断处理的一般步骤是:

保存被中断程序的现场, 分析中断原因,

转入相应处理程序进行处理, 恢复被中断程序现场(即中断返回)。

9什么叫系统调用?执行用户程序中的系统调用时,相应进程的状态会发生什么变化? 答:系统调用是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。每一个子功能称作一条系统调用命令。它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。

执行到用户程序中的系统调用时,相应进程的状态从用户态变为核心态。

10在用户程序执行过程中,CPU接到盘I/O中断。对此,系统(硬件和软件)要进行相应处理,试列出其主要处理过程。

答:硬件主要处理过程是:cpu中止当前程序的正常执行;保存原程序的程序计算器pc和程序状态寄存器ps的内容:取出盘I/O中断向量,转到相应的处理程序。

软件主要处理过程是:保存被中断程序的现场(如通用寄存器的内容):分析中断原因,由中断向量得到盘I/O中断的处理程序地址;运行盘I/O中断处理程序,判断I/O工作是否完成,如正常完成,则作I/O结束处理;执行完中断处理程序,核心恢复前面保存的现场,进程回到用户态。