1、2004B一、名词解释(每小题 4 分,共 20 分)1. 流式文件答:一种逻辑文件结构,用户对文件内的信息不再划分可独立的单位,整个文件是由依次的一串字符组成,是一个没有结构的字节流2. 虚拟设备答:为了提高独占设备利用率,减少死锁现象发生,操作系统中实现了 SPOOLing 技术,将输入数据先从输入设备读到磁盘文件中,当进程需要从输入设备读入数据时,只需立即从磁盘文件读入数据。当进程有信息要输出时,也立即将信息写到磁盘文件,以后再由操作系统依次将输出文件的内容写到输出设备。即用磁盘文件代替独占 I/O 设备,在进程看来,当其申请独占操作系统立即给它们分配一个磁盘文件作为独占设备,而在进程看
2、来好像得到了一台独占物理设备,但这个物理设备实际上只是一个文件,所以称为虚拟设备。3. 分时系统答:一种典型的操作系统类型,在这种系统中,每个用户被安排有一个操作计算机的终端,用于运行自己的作业,操作系统将 CPU 时间分成很多片断,轮流分配给各个用户作业使用,并使保证每个用户输入完操作命令时,很快可以得到系统的响应。4. 存储“抖动”现象答:在请求分页式存储管理系统中,由于页面替换算法不合适,或分配给用户进程的物理块太少,可能导致大量的页面刚被换到辅存,又要加载到主存,使 CPU 的大量时间花费在页面交换上,而实际运行用户进程的时间却很少,这种现象称为存储“抖动”现象。5. 死锁避免答: 先
3、假定将资源分配给申请进程,然后检查系统的资源分配状态,看是否存在一个让所有进程都得到所需资源运行结束的一个资源分配的安全序列。如果存在,就说明这次资源分配是安全的,把资源分配给申请进程;如果不存在,就说明一定会导致死锁,说明这次资源分配是不安全的,推迟本次资源分配。这种解决死锁的方法称为死锁避免。二、填空题(每空 1 分,共 15 分)1、用户进程从目态(常态)转换为管态( 特权态) 的唯一途径是_ 系统调用 _2、进程获得 CPU 而运行是通过 _ 处理机调度 _得到的3、 在虚拟段式存储管理中,若所需页面不在内存则发生_ 缺段 _中断.4、_ 最短作业优先 _作业调度算法有最短的作业平均周
4、转时间5、 内存管理的基本功能是:内存分配、_地址变换_、存储扩充和_存储保护_。6、 在 UNIX 系统中, 文件分成三类, 即_普通文件_, 目录文件和_设备文件_ _7、 分配到必要的资源并获得处理机时的进程状态是 运行状态 8、 若 P、V 操作的信号量 S 的初值为 2,当前值为-1,则有_1_个等待进程9、操作系统是对 计算机内系统资源 进行管理的软件10、如果分时操作系统的时间片一定,那么 用户数越多 则响应时间越长11、用 fork()函数创建子进程时,父进程 fork()函数的返回值为_子进程的进程号_。12、段页式存储管理中,每次从主存中取指令或取操作数,要_3_次访问主存
5、。 13、当外围设备工作结束后,将使等待该外围设备传输信息的进程变为 就绪 状态。 三、是非题(请在叙述正确语句后面的括号中画,叙述错误语句后面的括号中画。每小题 1 分,共 10 分)1通常进程控制块中的所有信息应该常驻内存。 ( )2进程申请 CPU 得不到满足时 , 其状态变为等待态.。 ( )3当一个进程从等待态变成就绪态, 则一定有一个进程从就绪态变成运行态。( )4. 参与死锁的所有进程都占有资源。 ( )5如果信号量 S 的当前值为 -5, 则表示系统中共有 5 个等待进程。 ( )6. 对文件进行读写前,要先打开文件。 ( )7. 所谓最近最少使用(LRU)页面调度算法是指将驻
6、留在内存中使用次数最少的页面淘汰掉。 ( )8. 进程在运行中, 可以自行修改自己的进程控制块。 ( )9. 采用 DMA 方式控制输入输出时,在外设与内存的数据交换不需要 CPU 参与。 ( )第 3 页共 6 页10.临界区是几个程序的都要使用的共享资源或共享变量。 ( )四、简答题(每小题 5 分,共 25 分)1. 简述 SPOOLing(斯普林)系统的工作原理。答:采用 SPOOLing 技术时, SPOOLing 系统将进程需要处理的数据预先输入到磁盘文件中,当进程需要从输入设备输入信息时,就改从磁盘文件读取数据;将进程需要输出信息时,先将输出信息写入一个磁盘文件,然后 SPOOL
7、ing 系统在后台将各个进程的输出信息从磁盘文件一一输出到外部设备。在这里,SPOOLing 系统用磁盘文件代替设备分配给进程使用,而进程却感觉到自己分配到独占的外部设备,而这种设备不是真实的独占设备,而是一个磁盘文件,所以称为虚拟设备。2. 请详细解释并发进程间的两种制约关系。答:并发进程间的两种制约关系是:进程互斥和进程同步。(1) 进程互斥:是指进程间竞争独占资源而引起的进程间制约关系。在同一时刻,只有一个进程可以占有和使用独占资源,当一个独占资源正被其他进程使用时,需要使用该资源的进程只能等待;当独占资源被使用完释放时,只有一个等待进程可以获得并使用该资源。(2) 进程同步:是指多个进
8、程合作完成同一个任务而引起的进程间相互关系,其中一个进程执行到某位置时,必须等待其他进程运行到某个执行点,该进程才能取得一个中间结果继续往下执行。3. 文件在磁盘上有几种常见的组织方式?各有何特点?答:磁盘上的文件通常有 3 种组织形式:顺序结构、链接结构和索引结构。(1) 顺序结构:文件的数据被存储在相连的磁盘块中,文件目录必须记录文件名、文件大小和文件第一个数据块的磁盘块号。顺序文件适合顺序存取和随机存取,但文件内容增删开销很大,因为涉及大量的数据移动。(2) 链接结构:文件数据可以存放在不相连的磁盘块中,文件的各个数据块通过指针相连,形成一个磁盘块链,数据块指针的值为下一个数据块的磁盘块
9、号,最后一个数据块的指针为空。文件目录必须记录文件名、文件大小和文件第一个数据块的磁盘块号。链接结构适合顺序存取,文件内容的增加和删除方便,但链接文件随机存取的效率很低,因为需要遍历文件链表。(3)索引结构:在磁盘上通过专用的磁盘块建立一个从文件逻辑结构的数据块号到文件数据块的磁盘块号之间的对应关系表。文件目录记录文件名、文件大小和索引块的磁盘块号。索引文件既方便文件内容的增加和删除,又适合顺序存取和随机存取,是当今应用最广的一种文件结构,只是文件索引块有一些开销。4. 什么叫地址重定位?有哪几种方式?说明它们的含义。答:地址重定位是指在多进程并发环境下,将程序中的逻辑地址转换为实际访问内存的
10、物理地址的过程。通常有 2 种地址重定位:(1) 静态地址重定位:指在程序装入到内存时由装载程序实现地址转换,将程序中访问内存的逻辑地址直接修改成内存单元的实际物理地址。采用静态重定位,程序一旦加载到内存中,就不能在内存中移动。(2) 动态地址重定位:程序装载到内存中时,其代码不作任何修改,而在实际运行每条指令访问内存时,由计算机硬件来完成从程序地址到物理地址的转换。采用动态重定位,程序可以在内存移动,但动态重定位需要硬件支持,而这种硬件支持相对于 CPU 的功能来说,是比较简单的逻辑功能。5. 什么是线程?有了进程为何还要引入线程? 进程和线程的主要区别是什么?答:线程是进程内用于调度和占有
11、处理机的基本单位,由线程控制块、线程堆栈构成,是进程内部的一个顺序控制流。引入线程是为了减少进程并发执行的时空开销,使系统具有更好的并发性。引入多线程技术后,一个进程可以在多个处理器上同时执行,加快执行速度;线程切换不需要进行地址空间的切换,也不需要作废 CPU 的 Cache,线程切换的开销比进程切换的开销低很多。进程和线程的区别:(1) 进程是资源管理和资源分配的基本单位,拥有自己的地址空间和其他系统资源;线程只是处理机的一个调度单位,它与其他线程共享同一进程的各种地址资源。(2) 进程调度和进程切换开销大,而线程切换开销小;(3) 进程适合处理的相互间交互较小的任务,而线程适合处理一个大
12、任务分解而成的一些小任务,这些小任务间可以交换或共享大量的信息。五、综合题(共 30 分)1 (8 分)1. 假设一个活动头磁盘有 200 道, 编号从 0-199. 当前磁头正在 143 道上服务, 并且刚刚完成了 125 道的请求. 现有如下访盘请求序列(磁道号):86, 147, 91, 177, 94, 150, 102, 175, 130试给出采用下列算法后磁头移动的顺序和移动总量(总磁道数).(1). 最短寻道时间优先(SSTF) 磁盘调度算法 .第 5 页共 6 页(2). 电梯调度算法.( 假设沿磁头移动方向不再有访问请求时, 磁头沿相反方向移动 .)解:(1) 采用最短寻道时
13、间优先磁盘调度算法:请求服务的顺序(即磁头移动顺序)为:143, 147, 150, 130, 102, 94, 91, 86, 175, 177磁头移动的磁道数为:4+3+20+28+8+3+5+89+2=162(2) 采用电梯调度算法:当前磁头正在往磁道号大方向移动,服务顺序为:143, 147,150, 175, 177, 130, 102, 94, 91, 86磁头移动的磁道数为:4+3+25+2+47+28+8+3+5=1252. (8 分 ) 有一个虚拟存储系统, 每个进程在内存占有 3 页数据区、1 页程序区. 刚开始时数据区为空. 有以下访页序列:1、5、4、1、2、3、2、1
14、、5、4、2、4、6、5、1试给出下列情形下的页面淘汰顺序和缺页次数:(1)系统采用先进先出(FIFO) 淘汰算法.(2)系统采用最近最少使用(LRU) 淘汰算法.解:(1) FIFO 淘汰算法:页面顺序1 5 4 1 2 3 2 1 5 4 2 4 6 5 11 1 1 1 1 2 2 2 2 5 5 5 5 6 6 62 5 5 5 5 3 3 3 3 4 4 4 4 5 53 4 4 4 4 4 1 1 1 2 2 2 2 1是否命中 淘汰页号1 5 4 2 3 1 5 4 2缺页次数:12 次页面淘汰顺序:1,5,4,2,3,1,5,4,2(2) LRU 算法:页面顺序1 5 4 1
15、2 3 2 1 5 4 2 4 6 5 11 1 1 1 1 1 1 1 1 1 1 2 2 2 5 52 5 5 5 2 2 2 2 2 4 4 4 4 4 13 4 4 4 3 3 3 5 5 5 5 6 6 6是否命中 淘汰页号5 4 3 2 1 5 2 4缺页次数:11 次页面淘汰顺序:5,4,3,2,1,5,2,43 (7 分)设有 8 个进程 M1、M2、.、M8。它们有如图所示的优先依赖关系,请用P、V 操作实现这些进程间的同步。解:设置 8 个同步信号量:S12: M2 等待 M1 运行结束,初值为 0S13: M3 等待 M1 运行结束,初值为 0S14: M4 等待 M1
16、运行结束,初值为 0S26: M6 等待 M2 运行结束,初值为 0S36: M6 等待 M3 运行结束,初值为 0M1M2 M3 M4 M5M6 M7M8第 7 页共 6 页S38: M8 等待 M3 运行结束,初值为 0S47: M7 等待 M4 运行结束,初值为 0S78: M8 等待 M7 运行结束,初值为 0S57: M7 等待 M5 运行结束,初值为 0各进程同步程序如下:M1:M1 的代码;V(S12);V(S13);V(S14);M2:P(S12);M2 的代码;V(S26);M3:P(S13);M3 的代码;V(S38);M4:P(S14);M4 的代码;V(S47);M5:M5 的代码;V(S57);M6:P(S26);P(S36);M6 的代码;M7:P(S47);P(S57);M7 的代码;V(S78);M8:P(S38);P(S78);M8 的代码;4. (7 分 ) 设某系统的磁盘有 500 块,块号为:0,1,2,499。(1) 若用位示图管理这 500块的磁盘空间,当字长为 32 位时,需要多少个字的位示图?(2) 第 i 字的第 j 位对应的块号是多少?解:(1) 一个字有 32 位,可以管理 32 块。5003215.625,所以需要:16 个字(2) 第 i 字的第 j 位对应的块号为:32i + j