网站大量收购独家精品文档,联系QQ:2885784924

操作系统第二章.pdf

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第⼆章、处理器管理

1.进程是动态的,是程序⼀次执⾏的过程

进程实体=PCB+程序段(代码)+数据段

2.进程状态的切换

3.进程创建的步骤

1.申请空⽩PCB2.为进程分配空间3.初始化PCB4.建⽴链接5.建⽴或扩展其他数据结构

4.进程通信的三种⽅式

1.共享存储2.消息传递3.管道通信

5.线程的定义:线程是⼀个基本的CPU执⾏单元,也是程序执⾏流的最⼩单位。

6.线程的管理⼯作由谁完成?

答:⽤户级线程由应⽤程序通过线程库实现,所有的线程管理⼯作都由应⽤程序负责(包括线程切换)

7.线程切换是否需要CPU切换状态?

答:⽤户级线程中,线程切换可以在⽤户态下即可完成,⽆需操作系统⼲预。

8.操作系统是否能意识到⽤户级线程的存在?

答:在⽤户看来,是有多个线程。但是在操作系统内核看来,并意识不到线程的存在。“⽤户级线程”就是“从⽤户

视⻆看能看到的线程”

9.这种线程的实现⽅式有什么优点和缺点?

优点:⽤户级线程的切换在⽤户空间即可完成,不需要切换到核⼼态,线程管理的系统开销⼩,效率⾼

缺点:当⼀个⽤户级线程被阻塞后,整个进程都会被阻塞,并发度不⾼。多个线程不可在多核处理机上并⾏运⾏。

10.线程的状态与切换

11.线程调度

⾼级调度(作业调度):按⼀定的原则从外存的作业后备队列中挑选⼀个作业调⼊内存,并创建进程。每个作业只

调⼊⼀次,调出⼀次。作业调⼊时会建⽴PCB,调出时才撤销PCB。

低级调度(进程调度/处理机调度)——按照某种策略从就绪队列中选取⼀个进程,将处理机分配给它。

中级调度(内存调度)——按照某种策略决定将哪个处于挂起状态的进程重新调⼊内存

12.七状态模型

暂时调到外存等待的进程状态为挂起状态,挂起态⼜可以进⼀步细分为就绪挂起、阻塞挂起两种状态

13.调度间的联系

14.临界区与临界资源

临界资源:⼀个时间段内只允许⼀个进程使⽤的资源。各进程需要互斥地访问临界资源。

临界区:访问临界资源的那段代码。

15.CPU利⽤率

CPU利⽤率:指CPU“忙碌”的时间占总时间的⽐例

16.系统吞吐量:单位时间内完成作业的数量

17.三个周转时间,是指从作业被提交给系统开始,到作业完成为⽌的这段时间间隔。

18.等待时间:指进程/作业处于等待处理机状态时间之和,等待时间越⻓,⽤户满意度越低

19.响应时间:指从⽤户提交请求到⾸次产⽣响应所⽤的时间

20.先来先服务调度算法:按照到达的先后顺序调度,事实上就是等待时间越久的

越优先得到服务

21.短作业优先(SJF)

如果题⽬中未特别说明,所提到的“短作业/进程优先算法”默认是⾮抢占式的

22.⾼响应⽐优先

在每次调度时先计算各个作业/进程的响应⽐,选择响应⽐最⾼的作业/进程为其服务

23.⼩结

24.时间⽚轮转(RR)

按照各进程到达就绪队列的顺序,轮流让各个进程执⾏⼀个时间⽚(如100ms)。若进程未在⼀个时间⽚内执⾏完,

则剥夺处理机,将进程重新放到就绪队列队尾重新排队。

第⼆章、管程与死锁

1.管程是⼀种特殊的软件模块,有这些部分组成:

局部于管程的共享数据结构说明;

对该数据结构进⾏操作的⼀组过程

对局部于管程的共享数据设置初始值的语句

管程有⼀个名字

2.什么是死锁?

在并发环境下,各进程因竞争资源⽽造成的⼀种互相等待对⽅⼿⾥的资源,导致各进程都阻塞,都⽆法向前推进的

现象,就是“死锁”。发⽣死锁后若⽆外⼒⼲涉,这些进程都将⽆法向前推进

3.死锁、饥饿、死循环的区别

死锁:各进程互相等待对⽅⼿⾥的资源,导致各进程都阻塞,⽆法向前推进的现象。

饥饿:由于⻓期得不到想要的资源,某进程⽆法向前推进的现象。⽐如:在短进程优先(SPF)算法中,若有源源

不断的短进程到来,则⻓进程将⼀直得不到处理机,从⽽发⽣⻓进程“饥饿”。

死循环:某进程执⾏过程中⼀直跳不出某个循环的现象。有时是因为程序逻辑bug导致的,有时是程序员故意设计

4.死锁产⽣的必要条件

产⽣死锁必须同时满⾜⼀下四个条件,只要其中任⼀条件不成⽴,死锁就不会发⽣。

互斥条件:只有对必须互斥使⽤的资源的争抢才会导致死锁(如哲学家的筷⼦、打印机设备)。像内存这样可以

同时让多个进程使⽤的资源是不会导致死锁的(因为进

文档评论(0)

185****5527 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档