一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
4什么是多线程?多线程与多任务有什么区别?
多线程指的是在一个程序中可以定义多个线程同时运行它们,每个线程可以执行不同的任务。多线程和多任务区别:多任务是针对操作系统而言,代表着操作系统可以同时执行的程序个数;多线程是针对一个程序而言,代表着一个程序可以同时执行的线程个数,而每个线程可以完成不同的任务。
5. 动态分区和固定分区分配方式相比,是否解决了碎片问题?
两者相比较,动态分区的内存空间利用率要高些。但是,总会存在一些分散的较小空闲区,即碎片。它们存在于已分配分区之间不能充分利用,可采用拼接技术加以解决。固定分区分配方式存在内部碎片,无外部碎片;动态分区分配方式存在外部碎片,无内部碎片 6. 覆盖技术与虚拟存储技术有何本质不同? 答:本质不同在于覆盖程序段的最大长度要受内存容量大小的限制,而虚拟存储器中程序的最大长度不受内存容量的限制,只受计算机地址结构的限制。另外,覆盖技术中的覆盖段由程序员设计,且要求覆盖段中的各个覆盖具有相对独立性,不存在直接联系或相互交叉访问;而虚拟存储器技术对用户的程序段之间没有这种要求。 7. 分页式存储管理和分段式存储管理的区别? (1) 页是信息的物理单位。段则是信息的逻辑单位。
(2) 页的大小固定且由系统决定。段的长度则是不固定的,取决于用户所编写的程序。 (3) 分页的用户程序地址空间是一维的,分段则是二维的。
8. 对于一个将页表存放在内存中的分页系统,若是访问内存需要0.2μs,有效访问时间为多少?若是加一快表,且假定在块表中找到页表项的机率高到90%,则有效访问时间又是多少(假定查快表需时间为0.05μs)?
. EAT=0.2*2=0.4μs
EAT=0.9*0.05+(0.2+0.05)*(1-0.9)+0.2=0.27μs
9. 进程之间存在哪几种制约关系?下列活动属于什么关系:1)若干学生去图书馆借书;2)商品生产和消费3)两队进行篮球比赛
进程之间存在着直接制约和间接制约两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。
1)若干同学去图书馆借书是间接制约,其中书是临界资源。2)商品生产和社会消费是直接制约,两者也需要相互合作:商品生产出来后才可以被消费;商品被消费后才需要再生产。3) 两队举行篮球比赛是间接制约,其中篮球是临界资源。 10. 什么是碎片,碎片可以分为几种分别是什么?
这种内存中无法被利用的存储空间称为“零头”或“碎片”。根据碎片出现的情况分为以下两种:
内部碎片:指分配给作业的存储空间中未被利用的部分。如固定分区中存在的碎片。外部碎片:指系统中无法利用的小的空闲分区。如动态分区中存在的碎片.
五、计算题
1.设系统有三种类型的资源,数量为(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) 进程A:(0,1,0)(不满足) (3,2,1) A的所有资源被剥夺,A处于等待
进程C:(2,0,0) (1,2,1) C,B完成之后,A可完成。
2.在一个请求分页系统中,有一个长度为 5 页的进程,假如系统为它分配 3 个物理块 ,并且此进程的页面走向为 2,3,2,1,5,2,4,5,3,2,5,2。试用 FIFO 和 LRU 两种算法分别计算出程序访问过程中所发生的缺页次数。(10分) 解:FIFO:
2 3 2 1 5 2 4 5 3 2 5 2 第1页 2 2 2 5 5 5 3 3 3 第2页 3 3 3 2 2 2 5 5 第3页 1 1 1 4 4 4 2
缺页中断次数 = 6
LUR:
2 3 2 1 5 2 4 5 3 2 5 2 第1页 2 2 2 2 5 5 5 3 第2页 3 3 5 2 3 3 5 第3页 1 1 4 4 2 2
缺页中断次数 = 5
进程和线程的区别在于:
简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
3. 假如在一个多道程序系统中,有用户区空间100KB,并规定作业相应程序装
入内存连续区域,并不能被移动,作业调度和进程调度均采用FCFS算法。现有5个作业,它们的作业名、进入\输入井\的时间、需要计算时间以及内存量要求如表所示,并假设输入井中有作业进行调度。 作业名 A B C D E 进入“输入井”时间 需计算时间(分) 需内存量(KB) 8:06 8:18 8:30 8:36 8:42 42 30 24 24 12 15 60 50 10 20
按照FCFS调度算法调度的次序是:
作业名
装入内存开始执行时结束执行时带权周转周转时间 时间 间 间 时间 4. 生产围棋的工人不小心把相等数量的黑子和白子混装载一个箱子里,现要用自动分
拣系统把黑子和白子分开,该系统由两个并发执行的进程组成,功能如下: (1)进程A专门拣黑子,进程B专门拣白子;
(2)每个进程每次只拣一个子,当一个进程在拣子时不允许另一个进程去拣子; (3)当一个进程拣了一个棋子(黑子或白子)以后,必让另一个进程拣一个棋子(黑子或白子)。
要求用PV原语及伪代码描述以上所有功能
Var
Semaphore1= 1 ;
Semaphore2= 0 ; Cobegin PA: Begin
While(true) {
P (senmaphore1) ;
拣黑子 ; V(semaphore2) ; } End; PB:
Begin
While(true) {
P(semaphore2) ; 拣白子 ;
V(senmaphore1) ; } End; Coend;
5. 有桥如图所示,车流方向如箭头所示。请回答假设:该桥上每次只能有一辆车行驶,试用信号量的P、V操作实现桥上的交通管理。
桥
6.在银行家算法中,若出现下面的资源分配情况,试问:
(1) 该状态是否安全?
(2) 当进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它? Process P0 P1 P2 P3 P4 Allocation 0032 1000 1354 0332 0014 Need 0012 1750 2356 0652 0656 Available 1622 7.某页式虚拟存储管理系统的物理空间共3K,页面大小为1K,一进程按下列地址顺序引用
内存单元:3635,3632,1140,3584,2892,3640,0040,2148,1700,2145,3209,0000,1102,1100。如果上述数字均为十进制数,而内存中尚未装入任何页。给出使用LRU算法时的缺页次数,并与FIFO时的情况进行比较
根据题意,分配给作业内存块为3,二页面引用次序为3、3、1、3、2、3、0、2、1、2、3、0、1、1
LRU情况缺页8次; 页面走向 缺页 3 3 1 3 2 3 0 2 1 2 3 0 1 1 √ √ √ √ √ √ √ √ 1 1 2 3 0 0 1 2 3 3 最近最长 时间未使用 3 1 3 2 3 0 2 1 2 3 0 0 最近刚使用 3 3 1 3 2 3 0 2 1 2 3 0 1 1 过的内存页 被换出 页面走向 缺页 被换出
1 3 0 1 2 3 3 1 3 2 3 0 2 1 2 3 0 1 1 √ √ √ √ √ √ 3 1 2 0 3 3 1 2 采用FIFO算法时,缺页次数为6次;
最早进入内存的页面 3 1 2 0 最晚进入内存的页面 3 3 1 2 0 3 1