1. 什么是多道程序技术,它带来了什么好处?
答:多道程序技术即是指在内存中存放多道作业,运行结束或出错,自动调度内存中另一道作业运行。多道程序主要优点如下:
(1)资源利用率高。由于内存中装入了多道程序,使它们共享资源,保持系统资源处于忙碌状态,从而使各种资源得以充分利用。
(2)系统吞吐量大。由于CPU和其它系统资源保持“忙碌”状态,而且仅当作业完成或运行不下去时才切换,系统开销小,所以吞吐量大。
2. 系统调用是OS与用户程序的接口,库函数也是OS与用户程序的接口,这句话对吗?为什么?
答:不正确,系统调用可以看成是用户在程序一级请求OS为之服务的一种手段。而库函数则是在程序设计语言中,将一些常用的功能模块编写成函数,放在函数库中供公共选用。函数库的使用与系统的资源分配并无关系,仍属用户程序而非OS程序,其功能的实现并不由OS完成,且运行时仍在用户状态而非系统状态。
3. Which of the following components of program state are shared across threads in a multithreaded process? a. Register values b. Heap memory c. Global variables d. Stack memory
答:b、c 此处要简单说明原因
4. 下面哪种调度算法会导致饥饿?并说明原因。a. 先到先服务调
度 (FCFS) b. 最短作业优先调度(SJF) c. 轮转调度(RR) d. 优先级调度(Priority)
答:b(长作业的可能饥饿)、d(低优先级的可能饥饿) 5. 有结构文件可分为哪几类,其特点是什么?
答:有结构文件可分为以下三类,分别是:
(1)顺序文件。它是指由一系列记录,按某种顺序排列所形成的文件。
(2)索引文件。当记录为可变长度时,通常为之建立一张索引表,并为每个记录设置一表项,以加速对记录的检索速度。
(3)索引顺序文件。这是上述两种文件方式的结合,它为文件建立一张索引表,为每一组记录中的第一个记录设置一表项。 或者:连续、链式、索引。
6. 已知某系统页面长4K字节,页表项4字节,采用多层分页策略映射64位 虚拟地址空间。若限定最高层页表占1页,问它可以采用几层分页策略。
解答:
该系统虚拟地址空间为264字节,页面长212字节,页表每项4字节,即每页可放页表项的个数为210;最高层页表占1页,该页最多存放页表项个数为210;每项指向一页,每页又存放表项个数为210;依次类推,最多可以采用的分页策略的层数为[64/10]=6。
7. 有5个批处理的作业(A,B,C,D,E)几乎同时到达一个计算中心,估计的运行时间分别为2,4,6,8,10分钟,它们的优先数分别为1,2,3,4,5(1为最低优先级)。对下面的每种调度算法,分别计算作业的平均周转时间。
(1)最高优先级优先;
(2)时间片轮转(时间片为2分钟); (3)FIFO(作业到达顺序为C,D,B,E,A); (4)短作业优先。
答:(1)对最高优先级优先算法 作图
平均周转时间=110/5=22分钟; (2)对时间片轮转算法 作图
平均周转时间=90/5=18; (3)对FIFO算法 作图
平均周转时间=96/5=19.2分钟; (4)对短作业优先算法 作图
平均周转时间=70/5=14分钟。
8. Consider the following snapshot of a system:
Allocation Max Available
A B C D A B C D A B C D
P0 0 0 1 2 0 0 1 2 1 5 2 0
P1 1 0 0 0 1 7 3 0
P2 1 3 5 4 2 3 5 6
P3 0 6 3 2 0 6 4 2 P4 0 0 1 4 0 6 5 6 Answer the following questions using the banker’s algorithm:
a. What is the content of the matrix Need? b. Is the system in a safe state?
c. If a request from process P1 arrives for (0,4,2,0), can the request be granted immediately? 解: a. Need矩阵 A B C D P0 0 0 0 0 P1 0 7 3 0 P2 1 0 0 2 P3 0 0 1 0 P4 0 6 4 2
b.系统安全,如可以找到安全执行序列P0 P2 P3 P4 P1(安全序列不唯一)。 c.可以,因为给P1分配请求后,系统仍旧是安全的,如安全序列P0 P2 P3 P4 P1。 9. 在采用分页存贮管理系统中,地址结构长度为18位,其中11至17位表示页号,0至10位表示页内位移量。若有一作业依次被放入2、5、7号物理块中,相对地址1500处有一条指令store 1,2500。请问:
(1)主存容量最大可为多少K?分为多少块?每块有多大?
(2)上述指令和存数地址分别在几号页内?对应的物理地址又分别为多少? 解:(1)主存容量最大为218,即256K
可分为27块,即128块 每块大小为211,即2K
(2)相对地址为1500,没有超出一页的长度,所以指令所在页号为0号,数据存储在2500单元,页号为1号,相对偏移为2500-2048=452。
由题意:页号0、1、2的逻辑块(相对地址)分别放在2、5、7的物理块中,所以:
指令的物理地址为:2×2048+1500=5596 数据的物理地址为:5×2048+452=10692
10. 某寺庙,有小、老和尚若干,有一水缸,由小和尚提水入缸供老和尚饮用。水缸可容10桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为3个。每次入、取缸水仅为1桶,且不可同时进行。试给出有关取水,入水的算法描述(试用信号量写出两个进程的同步算法)。
答:应首先考虑清楚本题需要几个进程。从井中取水后向缸中倒水此为连续动作,可算同一进程,从缸中取水为另一进程。再考虑信号量,有关互斥的资源有水井(一次仅一个水桶进出),水缸(一次入、取水为一桶),分别为之设信号量mutex1,mutex2控制互斥;另有同步问题存在:三个水桶无论从井中取水还是入出水缸都是一次一个,应为之设信号量count,抢不到水桶的进程只好等待;还有水缸满时,不可入水,设信号量empty,控制入水量,水缸空时不可出水,设信号量full,控制出水量。
semaphore mutex1= 1, mutex2 = 1; semaphore empty = 10, full = 0, count = 3; 从井中打水入缸中:
do {
P(empty); P(count); P(mutex1); 从井中取水; V(mutex1); P(mutex2); 送入水缸; V(mutex2); V(count); V(full); while(1);
从缸中取水: do {
P(full); P(count); P(mutex2); 从缸中取水;
V(mutex2); V(count); V(empty);
while(1);
注:P、V可以分别写为wait、signal
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库湖南大学操作系统期末考试卷2014在线全文阅读。
相关推荐: