操作系统习题1(含答案) 下载本文

(1) 有效地提高对目录的检索速度; (2) 允许文件重名;

(3) 便于实现文件共享。

19.什么是死锁?产生死锁的四个必要条件是什么?

死锁:当某进程提出资源申请后,使得系统中一些进程处于无休止的阻塞状态,在无外力作用下,永远不能再继续前进。

产生死锁的必要条件:互斥条件:某段时间内某资源只能由一个进程使用。不剥夺条件:资源在未使用完前,不能被剥夺,由使用进程释放。部分分配(请求和保持):进程因请求资源而阻塞时,对已分配给它的资源保持不放。环路条件:发生死锁时,有向图必构成一环路。 20.什么是内存分页存储管理?它有什么特点?

分页存储管理是将各进程的地址空间分成大小相等的页,把内存的存储空间也分成与页大小相同的片,称为物理块。在分配存储空间时,以块为单位来分配。

优点:有效解决存储器的零头问题,能在更高的程度上进行多道程序设计,从而相应提高了存储器和CPU 的利用率。

缺点:采用动态地址变换为增加计算机成本和降低CPU 的速度。表格占内存空间,费时来管理表格。存在页内碎片。作业动态的地址空间受内存容量限制。

21.说明进程的结构、特征和基本状态。

答:结构:PCB (进程控制块)+程序+数据集合。

特征:动态性、并发性、独立性、制约性、结构性。 基本状态:就绪态、执行态、等待态。

22.在生产者—消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果会有什么影响?

23.页式和段式内存管理有什么区别?怎样才能实现共享和保护? 答:段式与页式存储管理的比较如下表所示。

段式 页式 分段由用户设计划分,每段对应一个相应的的分页用户看不见,由操作系统为内存管理划程序模块,有完整的逻辑意义。 分。 段面是信息的逻辑单位 页面是信息的物理单位 便于段的共享,执行时按需动态链接装入。 页一般不能共享 段长不等,可动态增长,有利于新数据增长。 页面大小相同,位置不能动态增长。 二维地址空间:段名、段中地址;段号、段内一维地址空间 单元号 管理形式上象页式,但概念不同 往往需要多次缺页中断才能把所需信息完整地调入内存 实现页(段)的共享是指某些作业的逻辑页号(段号)对应同一物理页号(内存中该段的起始地址)。页(段)的保护往往需要对共享的页面(段)加上某种访问权限的限制,如不能修改等;或设置地址越界检查,对于页内地址(段内地址)大于页长(段长)的存取,产生保护中断。

24.在哲学家算法中,是否能防止或解除死锁?为什么?

答:银行家算法部分防止和解除死锁,因为它只能根据安全状态防止部分死锁,没有防止和

解除所有死锁的能力。

25.在原语执行期间,是否可以响应中断?为什么?

答:原语执行期间可以响应中断,只是不能进行进程切换。

26.不同用户的不同任务之间的进程是有临界区?为什么?请举例说明。

答:完全可能有临界区,如打印程序是可以由不同用户的不同进程使用,但是只能有一个进程在某一时刻进入。 27.文件目录有何作用?

答:实现文件目录到物理地址的转换。 28.什么是文件的逻辑结构和物理结构?

文件的逻辑结构(文件的组织):从用户角度看到的文件的全貌,也就是它的记录结构,包括流式文件、顺序文件、索引文件和索引顺序文件。 文件的物理结构(文件的存储结构):文件在外存上的存储组织形式,包括连续文件、串联文件和索引文件。

29.请说明系统利用缓冲池进行输入操作的过程。(7分) 收容输入:数据从设备输入到缓冲池

hin = get-buf (emq); 数据装入hin中; put-buf (inq, hin):;

提取输入:数据从缓冲池输入到内存

sin = get-buf (inq); 数据从sin中提走; put-buf (emq, sin);

30.什么是虚拟存储器,它有什么特点? 答:虚拟存储器是一种存储管理技术,用以完成用小的内存实现在大的虚空间中程序的运行工作。它是由操作系统提供的一个假想的特大存储器。但是虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存容量的扩大是以牺牲CPU工作时间以及内、外存交换时间为代价的。

31.比较基于索引节点和基于符号链的文件共享方法。(8分) 答:基于索引节点的文件共享是在文件的目录中填上需要共享文件的索引节点的序号,在索引节点中加上用户计数。基于符号链的文件共享是建立一种特殊的链接文件,内容为需要共享的文件的路径和名字,访问该文件时,根据路径找到共享的文件。基于索引节点的文件共享访问速度快,但可能使索引节点指针悬空;基于符号链的文件共享安全,但访问速度慢,要占用索引节点。

六 算法题

1. 这是一个从键盘输入到打印机输出的数据处理流图,其中键盘输入进程通过缓冲区 buf1 把输入数据传送给计算进程,计算进程把处理结果通过缓冲 buf2 传送给打印进程。buf1 和 buf2 为临界资源,试写出键盘输入进程,计算进程及打印进程间的同步算法。(10分)

输入进程 → buf1 → 计算进程 → buf2 → 打印进程

解答:从键盘输入到打印机输出的数据传送过程,可以看作是由键盘输入进程到计算进程,以及由计算进程到打印输出进程这两个数据传送进程所组成。其中,对键盘输入进程而言,计算进程是消费者进程;而对打印输出进程而言,计算进程又是生产者进程。据此可将它们

之间的同步问题描述如下:

var:mutex1,mutex2,empty1,empty2,full1,full2:=1,1,1,1,0,0; IP:begin repeat

P(empty); P(mutex1);

input a charcter from keyboard; Add to buffer; V(mutex1); V(full); until false end CP:begin repeat P(full); P(mutex1);

Take a charactor form buffer1; Add to ch1; V(mutex1); V(empty1); P(empty2); P(mutex2);

Take a charactor form ch1; Add to buffer2; V(mutex2); V(full2); until false end

OP:begin

repeat p(full2); P(mutex2);

Take a charactor from buffer2; Add to printer controler; start printer; V(mutex2); V(empty2); until false end

2.设在一个页面大小为 1K的系统中,正在处理器上执行的一个进程的页表如图所示: 页号 状态位 访问位 修改位 物理块号 0 1 1 0 4 1 1 1 1 7 2 0 0 0 -

3 1 0 0 2 4 0 0 0 - 5 1 0 1 0

起始页号和块号均为0。

1.详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。 2.下列虚地址(十进制)对应与什么物理地址:5449,2221。 解: (10分)

5449的物理地址为:329 2221的物理地址为:2221

3.设系统有三种类型的资源,数量为(4,2,2),系统中有进程A,B,C按如下顺序请求资源:

进程A申请(3,2,1) 进程B申请(1,0,1) 进程A申请(0,1,0) 进程C申请(2,0,0)

请你给出一和防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺。(10分)

解:(10分)

① 分配策略为:当进程Pi申请ri类资源时,检查ri中有无可分配的资源:有则分配给Pi;否则将Pi占有的资源全部释放而进入等待状态。(Pi等待原占有的所有资源和新申请的资源)

② 资源分配过程: 剩余资源 进程A:(3,2,1) (1,0,1) 进程B:(1,0,1) (0,0,0)