内容发布更新时间 : 2024/11/18 13:49:28星期一 下面是文章的全部内容请认真阅读。
第一章
1、设计现代OS的主要目标是什么? 答: 设计现代操作系统的主要目标有
方便性:帮助用户更简单的完成预定工作
有效性:更有效的利用各类软硬件资源,同时提高系统吞吐量
可扩充性:OS应采用层次化结构,便于未来根据功能对各层次和模块进行增删、修
改
开放性:不同的OS具有统一的开放环境,便于其移植和互操作 其中,方便性和可靠性是设计OS时最重要的目标。
8、试在交互性、及时性及可靠性方面,将分时系统与实时系统进行比较。
答: 交互性:实时系统的交互性仅限于允许用户访问系统中某些特定的专用服务程序,分时系统可以向用户提供全面的服务; 及时性:实时信息系统和分时系统以人能忍受的等待时间来确定,而实时控制系统则以被控制对象所要求的截至时间来确定;
可靠性:分时系统对可靠性的要求比实时系统低,要求高度可靠的实时系统需要有多级容错措施保障系统和数据安全性。
9、OS有哪几大特征?其最基本的特征是什么? 答: OS具有以下四个特征
并发:OS中的两个或多个程序要能够在同一时间间隔内发生,以提高系统资源利用率和系统吞吐量,改善系统性能
共享:系统中的资源可供内存中多个并发执行的进程(线程)共同使用 虚拟:通过某种技术把一个物理实体变为若干个逻辑上的对应物 异步:进程以不可预知的速度向前推进 其中并发性是OS最重要的特征。
14、是什么原因使操作系统具有异步性特征?
答: 由于操作系统具有并发性特征,即多个进程并发执行,而各进程在共享资源时获取和释放资源的顺序与时间都是不确定的,因此其推进速度和总完成时间不能唯一确定,即OS系统具有异步性,但在相同运行环境下,作业多次运行结果应是一致的。
第二章
6、试从动态性、并发性和独立性上比较进程和程序。 答:见课本P30。
7、试说明PCB的作用,为什么说PCB是进程存在的唯一标识? 答:见课本p32进程控制块的作用。
8、试说明进程在三个基本状态间转换的典型原因。 答:见课本P31 图2-5
18、同步机构应遵循哪些基本准则?为什么? 答:见课本P41
22、试写出相应的程序来描述图2-15所示的前趋图。 答:Var a,b,c,d,e,f,g,h,i,j;semaphore := 0,0,0,0,0,0,0,0,0,0; begin
parbegin
begin S1: S1; V(a); V(b); end;
begin S2: P(a); S2;V(c);V(d);end; begin S3: P(b); S3; V(e); V(f);end; begin S4: P(c); S4; V(g); end; begin S5: P(d); S5; V(h); end; begin S6: P(e); S6; V(i); end; begin S7: P(f); S7; V(j); end;
begin S8: P(g); P(h); P(i); P(j);S8; end; parend end 24、在生产者-消费者问题中,如果将waitl(full)和wait(mutex)互换位置,或者将signal(mutex)与signal(full)互换位置,结果会如何? 答: 将wait(full)和wait(mutex互换位置会导致进程死锁的产生。因为互斥信号量mutex’保证了临界区的互斥进入,即一个进程进入临界区时,其他进程不可入。资源信号量full表示的是满缓冲区的数量,随着每次的p、v操作对其进行减和加的工作。将mutex和full的P操作互换即表示允许先进入缓冲区再申请资源,若进程A进入临界区后发现没有资源可用时必须等待,但并不退出临界区,而占用了A所需资源的进程B再想进入临界区时就产生了死锁。
将signal(mutex和signal(full)互换位置不会产生问题,二者的区别仅在于释放资源时是否先退出临界区。
26、试修改下面生产者-消费者问题解法中的错误 答:修改为P46所示格式,错误在于
1)producer生产产品,需要向空缓冲区放入数据,因此在进入临界区前应申请空区,即将P(full)改为P(empty)
2)producer中的P(mutex)和P(empty)(即P(full))互换位置,因为这样会产生死锁 3)在producer的V(mutex)后插入V(full),对满缓冲区数量增1
4))consumer中也需要将P(mutex)与P(full)(即题中的P(empty))互换,以避免死锁 5)在consumer的V(mutex)前加入V(empty),以实现对空缓冲区数量的正确控制 6)consumer中的V(empty)应改为V(full),消费者应对满缓冲区数据进行处理 38、试从调度性、并发性、拥有资源及系统开销方面,对进程和线程进行比较。 答: 在具有线程的OS中,进程和线程既不相同又有联系 在调度性方面:进程不再是一个可执行的实体,调度程序选择合适的线程交付处理机,而对进程的调度实际上指的是对该进程所包含的部分线程进行调度;
在并发性方面:进程与线程均可并发执行,但线程是轻型实体,且不同进程的线程间也可并发执行,因此引入线程后,OS的并发行进一步提高; 在资源拥有方面:进程是系统进行资源分配的单位,同一个进程中的各线程共享父进程的所有资源,进程终止时释放占用的资源,而线程终止时通常不立即释放所占有的资源,只有同进程中的其他线程需求该资源时才释放
在系统开销方面:进程是资源拥有者,在创建、撤销、切换时都需要付出较大的时空开销,而线程不用于分配资源,因此其切换快速,时空开销较小 补充题:
桌上有一空盘,只能放一只水果。Father向其中放苹果或桔子,儿子只吃桔子,女儿只吃苹果。当盘空时一次只能放移至水果供儿女取用。请用P、V原语实现father、son和daughter三个并发进程的同步。
答:本题中应设置三个信号量S、So、Sa,信号量S表示盘中是否为空,其初值为1;So表
示盘中是否有桔子,其初值为0;Sa表示盘中是否有苹果,其初值为0。同步描述如下: father: P(S); son:P(So); daughter:P(Sa);
将水果放入盘中 从盘子中取出桔子 从盘子中取出苹果 if (放入的是桔子) v(So); V(S); V(S); else v(Sa); 吃桔子 吃苹果;
第四章
5、为什么要引入动态重定位?如何实现? 答:引入动态重定位是为了保证程序在运行过程中也能够根据内存使用情况改变在内存中的位置。实现动态重定位需要设置一个重定位寄存器,用来存放程序在内存中的起始地址,此时作业装入内存后所有的地址仍然是相对地址,只有当执行某条程序指令时,才将相对地址与重定位寄存器中的值相加形成物理地址。
11、较详细的说明引入分段存储管理是为了满足用户哪几方面的需要。 答:见课本P119
15、试全面比较连续分配和离散分配方式。
答:连续分配方式为一个用户进程分配一个连续的内存空间,具有访问速度快、实现简单的优点,但同时也要求在分配前预知进程占用的空间、回收时需要考虑邻接空闲区、易形成外碎片等问题;
离散分配方式将一个进程分散的装入到不相邻接的多个分区中,具有空间利用率高、支持程序空间动态变化的要求等优点,但其实现复杂性高、数据寻道时间相对较长。
补1:在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,且此作业的页面访问顺序为2、3、2、1、5、2、4、5、3、2、5、2,试用FIFO和LRU两种算法分别计算出程序访问过程中发生的缺页次数
答:使用FIFO算法,缺页次序为2、3、1、5、2、4、3、5、2,共产生9次缺页;使用LRU算法,缺页次序为2、3、1、5、4、3、2,共产生7次缺页。
补2:在采用页式存储管理的系统中,某作业J的逻辑地址空间为4页,每页2048字节,且已知该作业的页表如下,试求出逻辑地址4865所对应的物理地址,并画出该逻辑地址在地址变换机构中的转换过程。 页号 0 1 2 3 块号 2 4 6 8 答:由于一页大小为2K字节,则逻辑地址4865的页号和页内位移为 页号:4865/2048=2
页内位移:4865-2048*2=769
通过查表可知2号页面对应的物理块号为6,则物理地址为6×2048+769=13057