1、1.某虚拟存储器的用户编程空间共 32 个页面,内存为 16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下: 页号 物理块号 1 5 2 10 3 4 4 7 则逻辑地址 0A5C(H)所对应的物理地址是什么? 答:逻辑地址 0A5CH)所对应的二进制表示形式是: 0000 10 10 0101 1100 ,由于 1K=2 10 ,下划线部分前的编码为 000010,表示该逻辑地址对应的页号为 3 查页表,得到物理块号是 4(十进制) ,即物理块地址为:0001 00 10 0000 0000 ,拼接块内地址 0000 00 00 0101 1100 ,得 0001
2、00 10 0101 1100 ,即125C(H) 。 3.在银行家算法中,若出现下述资源分配情况:Allocation need availableP0 0 0 3 2 0 0 1 2 1 6 2 2P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6P3 0 3 3 2 0 6 5 2 P4 0 0 1 4 0 6 5 6试问:(1)该状态是否安全?(2)如果进程 p2 提出请求 request2(1,2,2,2)后,系统能否将资源分配给它?该状态是安全的,因为存在一个安全序列。下表为该时刻的安全序列表。资源情况进程 Work Need Allocation Work
3、+Allocation FinishP0P3P4P1P21 6 2 21 6 5 41 9 8 71 9 9 112 9 9 110 0 1 20 6 5 20 6 5 61 7 5 02 3 5 60 0 3 20 3 3 30 0 1 41 0 0 01 3 5 41 6 5 41 9 8 71 9 9 112 9 9 113 12 14 17truetruetruetruetrue若进程 P2 提出请求 Request(1, 2,2,2) 后,系统不能将资源分配给它,若分配给进程 P2,系统还剩的资源情况为(0,4,0,0) ,此时系统中的资源将无法满足任何一个进程的资源请求,从而导致系
4、统进入不安全状态,容易引起死锁的发生。4.桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用,请用 P、V 原语实现爸爸、儿子、女儿三个并发进程的同步。解:在本题中,应设置三个信号量 S、So 、Sa,信号量 S 表示盘子是否为空,其初值为 l;信号量 So表示盘中是否有桔子,其初值为 0;信号量 Sa 表示盘中是否有苹果,其初值为 0。同步描述如下:int S1;int Sa0;int So0;main()cobeginfather(); /*父亲进程*/ son(); /*儿子进程*/
5、daughter(); /*女儿进程*/coendfather()while(1)P(S);将水果放入盘中;if(放入的是桔子)V(So);else V(Sa);son()while(1)P(So);从盘中取出桔子;V(S);吃桔子;daughter()while(1)P(Sa);从盘中取出苹果;V(S);吃苹果; 5.从资源管理的角度说明操作系统的主要功能。进程管理(或处理器管理) 、存储管理、文件管理、作业管理和设备管理。6.什么是死锁?死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态,若无外力作用,它们将无法向前推进7.产生死锁的原因和必要条件?死锁的原因主
6、要是:(1) 因为系统资源不足。(2 ) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2 ) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件 :若干进程之间形成一种头尾相接的循环等待资源关系。这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然
7、成立8.什么是进程?进程和线程的区别和联系?进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。9.说明进程的结构、特征和基本状态。结构: PCB (进程控制块 )+程序+数据集合。 特征:动态性、
8、并发性、独立性、制约性、结构性。 基本状态:就绪态、执行态、阻塞态。 10. 试说明进程互斥、同步和通信三者之间的关系。答:进程的同步与互斥是指进程在推进时的相互制约关系。在多道程序系统中,由于资源共享与进程合作,这种进程间的制约成为可能。为了保证进程的正确运行以及相互合作的进程之间交换信息,需要进程之间的通信。 进程之间的制约关系体现为:进程的同步和互斥。 进程同步:它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。 进程互斥:它主要源于资源共享,是进程之间的间接制约关系。在多道系统中,每次
9、只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。 进程通信是指进程间的信息交换。PV 操作作为进程的同步与互斥工具因信息交换量少,效率太低,称为低级通信。而高级通信则以较高的效率传送大批数据。 11.试对分时操作系统和实时操作系统进行比较。解:我们可以从以下几个方面对这两种操作系统进行比较:实时信息处理系统与分时操作系统一样都能为多个用户服务。系统按分时原则为多个终端用户服务;而对实时控制系统,则表现为经常对多路现场信息进行采集以及对多个对象或对个执行机构进行控制。实时信息处理系统与分时操作系统一样,每个用户各占一个终端,彼此独立操作,互不干扰。因此用户感觉
10、就像他一个人独占计算机;而在实时控制系统中信息的采集和对对象的控制也都是彼此互不干扰的。实时信息系统对响应时间的要求与分时操作系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的响应时间则是以控制对象所能接受的延时来确定的分时操作系统是一种通用系统,主要用于运行终端用户程序,因此它具有较强的交互能力。而实时操作系统虽然也有交互能力,但其交互能力不及前者。分时操作系统要求系统可靠,相比之下,实时操作系统则要求系统高度可靠。12.为什么要引入动态重定位?如何实现?答:静态重定位是在链接装入时一次集中完成的地址转换,但它要求连续的一片区域,且重定位后不能移动,不利于内存空间的有效使用。所以
11、要引入动态重定位,它是靠硬件地址变换部分实现的。通常采用重定位寄存器等实现。13. 解释下列与存储管理有关的名词:地址空间与存储空间;逻辑地址与物理地址;虚地址与实地址;地址再定位;虚拟存储器。、目标程序所在的空间称为地址空间,即程序员用来访问信息所用的一系列地址单元的集合。由内存中一系列存储单元所限定的地址范围称为内存空间或存储空间。 、:用户程序经编译之后的每个目标模块都是以 0 为基地址顺序编址,这种地址叫相对地址或逻辑地址。内存中各物理存储单元的地址是从统一的基地址顺序编址,它是数据在内存中的实际存储地址,这种地址叫绝对地址或物理地址。 、:虚地址即用户程序地址,实地址即内存中实际存储
12、地址。 、重定位是把逻辑地址转变为内存的物理地址的过程。根据重定位时机的不同,又分为静态重定位(装入内存时重定位)和动态重定位(程序执行时重定位) 。 、虚拟存储器是一种存储管理技术,用以完成用小的内存实现在大的虚空间中程序的运行工作。它是由操作系统提供的一个假想的特大存储器。但是虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存容量的扩大是以牺牲 CPU 工作时间以及内、外存交换时间为代价的。 14.什么是虚拟存储器,其特点是什么?为什么从逻辑上说采用虚拟存储器能扩大内存存储空间? 答:虚拟存储器是由操作系统提供的一个假想的特大存储器,是操作系统采用内外存的交换技术逻辑上
13、提供对物理内存的扩充。采用虚拟存储器技术时,操作系统根据程序执行的情况,随机对每个程序进行换入、换出,用户却没有察觉,得到了一个比真实内存空间大得多的地址空间。所以从逻辑上说采用虚拟存储器能扩大内存存储空间。15.什么是逻辑文件?什么是物理文件? 从用户观点看逻辑文件是用户所观察到的文件组织形式,是用户可以直接处理的数据及结构,它独立于物理设备,逻辑文件又称为文件组织。物理文件是与存储介质性能有关的,在外存上存储的组织形式。 16.对目录管理的主要要求是什么? 对目录管理的主要要求是 :解决存储空间的有效利用,解决快速搜索、文件命名冲突、以及文件共享问题。17.简述死锁的防止与死锁的避免的区别
14、。死锁的防止是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生。而死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。SPOOLing 系统主要包括以下三部分:(1 )输入井和输出井:这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容 I/O 设备输入的数据。输出井模拟脱机输入时的磁盘,用于收容用户程序的输出数据。(2 )输入缓冲区和输出缓冲区:这是在内存中开辟的两个缓冲区。输入缓冲区用于暂存有输入设备送来的数据,以后在传送到输出井。输出缓冲区
15、用于暂存从输出井送来的数据,以后再传送到输出设备。(3 )输入进程和输出进程:输入进程模拟脱机输入时的外围控制机,将用户要求的数据有输入设备到输入缓冲区,再送到输入井。当 CPU 需要输入设备时,直接从输入井读入内存。输出进程模拟脱机输出时的外围控制机,把用户要求输入的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。SPOOLing 技术的特点:(1)提高了 I/O 速度.从对低速 I/O 设备进行的 I/O 操作变为对输入井或输出井的操作,如同脱机操作一样,提高了 I/O 速度,缓和了 CPU 与低速 I/O 设备速度不匹配的矛盾.(2)设备并没
16、有分配给任何进程.在输入井或输出井中,分配给进程的是一存储区和建立一张 I/O 请求表.(3)实现了虚拟设备功能.多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备.SPOOLing 的含义是什么?试述 SPOOLing 系统的特点、功能以及控制过程。答:SPOOLing 是(即外,是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术“。 SPOOLing 技术是在通道技术和多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。 SPOOLing 系统由专门负责 I/O 的常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能。 2、SPOOLing 技术如何使一台打印机虚拟成多台打印机? 答:将一台独享打印机改造为可供多个用户共享的打印机,是应用 SPOOLing 技术的典型实例。具体做法是:系统对于用户的打印输出,但并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。