- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)