}
}
消费一个产品;
24 对于批处理系统,由于主要用于计算,因而对于作业的周转时间要求较高。从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统来说,平均响应时间又被用来衡量调度策略的优劣。
对于分时系统,除了要保证系统吞吐量大、资源利用率高之外,还应保证用户能够容忍的响应时间。因此,在分时系统中,仅仅用周转时间或带权周转时间来衡量调度性能是不够的。
对于实时系统来说,衡量调度算法优劣的主要标志则是满足用户要求的时限时间。
25 如果将生产者执行的两个P操作顺序颠倒,会产生死锁。因为,在这种情况下,当缓冲区都为满时,生产者仍可顺利执行P(mutex)操作,于是它获得了对缓冲区的存取控制权。然后,当它执行P(mutex)操作时,由于没有空缓冲区它被挂起。能够将这个生产者进程释放的唯一途径是消费者从缓冲区取出了一个产品,并执行V(mutex)操作。但在此时,由于缓冲区已被挂起的生产者所占有,所以没有一个消费者能够取得对缓冲区的存取控制权。因此,出现了生产者和消费者的互相死等的局面。
26 证明:
设每个进程最多要申请n个资源。 则:当每个进程现已都分配了n-1个资源 因为题设给出 pn
由此可得出当每个进程现已都分配了n-1个资源后,还有至少一个资源可供分配,所以在该系统中不会发生死锁。 证毕
27 UNIX系统采用优先数算法即多级反馈轮转法。
swtch的主要任务是:
1)把调用swtch的当前进程的现场信息保留在其系统栈中。 2)依调度原则在就绪队列中选择一个进程 3)恢复选中进程的运行现场
28 存储管理的主要功能包括以下几点:
(1)在硬件的支持下完成统一管理内存和外存之间数据和程序段自动交换的虚拟存储器功能。
(2)将多个虚存的一维线性空间或多维线性空间变换到内存的唯一的一维物理线性地址空间。
(3)控制内外存之间的数据传输。 (4)实现内存的分配和回收。 (5)实现内存信息的共享与保护。
29 段式管理可以实现虚存。
段式管理把程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用
户作业或进程包含的段对应与一个二维线性虚拟空间(段号s与段内相对地址w),也就是一个二维虚拟存储器。段式管理以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。指把那些经常访问的段驻留在内存,而把那些在将来一段时间内不被访问的段放入外存,待需要时产生缺段中断,自动调入。
30 段页式管理的主要缺点是对内存中指令数据进行存取时,至少需要对内存进行三次
以上的访问。第一次是由段表地址寄存器取段表始址后访问段表,由此取出对应段的页表在内存中的地址。第二次则是访问页表得到所要访问的指令或数据的物理地址。只有在访问了段表之后,第三次才能访问真正需要访问的物理单元。显然,这将大大降低CPU执行指令的速度。
改进办法是设置快速联想寄存器。在快速联想寄存器中,存放当前最常用的段号s,
页号p和对应的内存页面地址与其它控制项。当需要访问内存空间某一单元时,可
在通过段表、页表进行内存地址查找的同时,根据快速联想寄存器查找其段号和页号。如果所要访问的段或页的地址在快速寄存器中,则系统不再访问内存中的段表、页表而直接把快速联想寄存器中的值与页内相对地址d拼接起来得到内存地址。
31 段式管理与页式管理的主要区别有:
(1)页式管理中源程序进行编译链接时是将主程序、子程序、数据区等按照线性空间
的一维地址顺序排列起来。段式管理则是将程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。
(2)同动态页式管理一样,段式管理也提供了内外存统一管理的虚拟实现。与页式管
理不同的是:段是虚存每次交换的是一段有意义的信息,而不是向页式虚拟管理那样只交换固定大小的页,从而需要多次的缺页中断才能把所需信息完整的调入内存。
(3)在段式管理中,段长可根据需要动态增长。这对那些需要不断增加或改变新数据
或子程序的段来说,将是非常有好处的。
(4)段式管理便于对具有完整逻辑功能的信息段进行共享。
(5)段式管理便于进行动态链接,而页式管理进行动态链接的过程非常复杂。
32 动态重定位是指在程序执行期间,随着每条指令和数据的访问,自动的、连续的进行映射。
具体实现过程为:当某个进程取得CPU控制权时,OS应负责把该作业程序在
主存中的起始地址送入重定位寄存器中之后,每次访问存储器时,重定位寄存区的内容将被自动家道逻辑地址中区,经这样变换后,执行结果是正确的。
33 最先适应算法是将输入的作业放置到主存里第一个足够装入它的可利用的空白区
中。最先适应算法是将输入的作业放置到主存里第一个足够装入它的可利用的空白区中。
最佳适应算法是将输入的作业放入主存中它所需大小最接近的空白区中,这样剩下的未用空间最小。最佳适应算法的优点是: (1)如果存储空间中具有正好是
所要求大小的空白区,则它必然被使用。 (2)如果不存在这样的空白区,也只是对比要求稍大的空白区进行划分,而绝对不会去划分一个更大的空白区。此后,遇到有更大的存储要求是,就比较容易得到满足。最佳适应算法的一个主要缺点是空白区一般不可能正好和要求的大小相等,因而要将其分割成两部分,这往往使剩下的空白区非常小,以至小到几乎无法使用。
最坏适应算法就是把一个作业程序放入主存中最不适合它的空白区,即最大的空白区内。其主要优点是在大空白区中放入程序后,剩下的空白区常常以很大,于是也能装下一个较大的新程序。
34.解:设备管理的目标是:选择和分配输入/输出设备以便进行数据传输操作;控制输入/输出设备和CPU或(内存)之间交换数据;为用户提供一个友好的透明的接口;提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作]读,以使操作系统获得最佳效率。
设备管理程序一般要提供下述功能:提供和进程管理系统的接口;进行设备分配;实现设备和设备之间、设备和CPU之间的并行操作;进行缓冲区管理。
35.解:DMA方式的数据输入处理过程如下:
(1) 当进程要求设备输入数据时,CPU把准备存放输入数据的内存始址以及要传送
的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器;另外,还把控制状态寄存器中的中断允许位和启动位置1;从而启动设备看市进行数据输入。
(2) 发出数据要求的进程进入等待状态,进程调度程序调度其它进程占据CPU。 (3) 输入设备不断地挪用CPU工作周期,将数据缓冲寄存器中的数据源源不断地写
入内存,直到所要求的字节全部传送完毕。
(4) DMA控制器在传送字节数完成时通过中断请求线发出中断信号,CPU在接收到
中断信号后转中断处理程序进行善后处理。
(5) 中断处理结束时,CPU返回被中断进程处执行或被调度到新的进程上下文环境中执行。
36.解:陷阱支出立即和内存内部产生的中断,它包括程序运算引起的各种错误,如地址
非法、校验错、页面失效。存取访问控制错、从用户态到核心态的切换等都是陷阱的例子。
软中断是通信进程之间用来模拟硬中断的一种信号通信方式。
除了在优先级的设置方面有区别之外,中断和陷入还有如下主要区别:(1) 陷入通
常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。(2) 陷入处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为当前进程的。(3) CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷入。例如执行指令非法时,尽管被执行的非法指令不能执行结束,但CPU仍可对其进行处理。
37.解:设备分配的原则是根据设备特性、用户要求和系统配置情况决定的。设备分配的
总原则是既要充分发挥设备的使用效率,尽可能的让设备忙,但又要避免由于不合理的分配方法造成进程死琐;另外还要做到把用户程序和具体物理设备隔离开来,即用户程序面队的是逻辑设备,而分配程序将在系统把逻辑设备转换成物理设备之后,再根据要求的物理设备号进行分配。
38.解:I/O控制是从用户进程的输入/输出请求开始,给用户进程分配设备和启动有关设
备进行I/O操作,以及在I/O操作完成之后响应中断,进行善后处理为止的整个系统控制过程
I/O控制过程在系统中可以按三种方式实现:作为请求I/O操作的进程的一部分
实现;作为当前进程的一部分实现;I/O控制由专门的系统进程——I/O进程完成。
第一种方式请求对应I/O操作的进程能很快占据处理机,但要求系统和I/O操作
的进程应具有良好的实时性。第二种方式不要求系统具有很高的实时性,但I/O控制过程要当前进程负责。第三种方式增加了一个额外的进程开销,但用户不用关心I/O控制过程。
39.解:文件存储设备的管理实质上是一个空闲块的组织和管理问题。有三种不同的空闲
块管理方法。即空闲文件目录,空闲块链和位示图。