软件测试操作系统篇第六章进程及处理机管理.docVIP

软件测试操作系统篇第六章进程及处理机管理.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试操作系统篇第六章进程及处理机管理

【软件测试】操作系统篇 第六章 进程及处理机管理 第六章进程及处理机管理 1、进程的引入 1)进程调度属于低级处理机管理,即确定系统中哪个进程将获得CPU;而作业调度属于高级处理机管理,即确定系统中哪些作业将获得CPU。 2)进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 3)引入进程的意义是描述多道程序设计系统中程序的动态执行过程。 2、进程的定义及特征 1)程序和进程的区别见教材153页的表6-2; 2)进程的五个基本特征:动态性、并发性、独立性、制约性、结构性; 3)进程与线程:线程是由进程进一步派生出来的一组代码(指令组)的执行过程。 3、进程调度 1)进程的三个基本状态及转换 三个基本状态是等待、执行和就绪,在一定的条件下,进程的状态将发生转换。 2)进程调度 作业调度和进程调度的区别: 一个作业从进入系统到最后完成,一般至少要经历两级调度:作业调度和进程调度。 作业调度是宏观上的高级调度,它的主要功能是根据一定的算法,从输入井中选中若干个作业,分配必要的资源,如主存、外设等,为它们建立初始状态为就绪的作业进程。 进程调度是微观上的低级调度,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。一般的操作系统都必须有进程调度。 可见在多道系统中,作业调度与进程调度是相互配合来实现多道作业的并行执行的。两者的关系可用下图表示。 进程调度算法主要有先来先服务(FCFS)、轮转法、多级反馈轮转法、优先数法。 3)进程控制块(PCB)是进程存在的唯一标志,它描述了进程的动态性。 4、进程通信 1)进程的同步与互斥 进程的同步与互斥是指进程在推进时的相互制约关系。 一般来说同步反映了进程之间的协作性质,往往指有几个进程共同完成一个任务时在时间次序上的某种限制,进程相互之间各自的存在及作用,通过交换信息完成通信。如接力比赛中一组队员使用接力棒等。 进程互斥体现了进程之间对资源的竞争关系,这时进程相互之间不一定清楚其它进程情况,往往指多个任务多个进程间的通讯制约,因而使用更广泛。如打篮球时双方挣抢篮板球等。 2)临界区 一次仅允许一个进程使用的共享资源称为临界资源,每个进程中访问临界资源的程序段称为临界区。 3)原语 原语是不可中断的过程。 (1)加锁/开锁(LOCK/UNLOCK)原语 优点是实现互斥简单;缺点是效率很低。 (2)信号量(Semaphore)及PV操作 PV操作能够实现对临界区的管理要求。它由P操作原语和V操作原语组成,对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S30,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1; ②如果S 0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意信号量的值仅能由PV操作来改变。 一般来说,信号量S30时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S 0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S£0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。 用PV操作实现进程间的同步与互斥,应该注意以下四方面问题: A)对每一个共享资源都要设立信号量。互斥时对一个共享资源设立一个信号量;同步时对一个共享资源可能要设立两个或多个信号量,要视由几个进程来使用该共享变量而定。 B)互斥时信号量的初值一般为1;同步时至少有一个信号量的初值大于等于1。 C)PV操作一定要成对调用。互斥时在临界区前后对同一信号量作PV操作;同步时则对不同的信号量作PV操作,PV操作的位置一定要正确。 D)对互斥和同步混合问题,PV操作可能会嵌套,一般同步的PV操作在外,互斥的PV操作在内。 (3)消息缓冲通信原语 高级通信原语,用于一组信息发送(Send)与读取(Read)。 5、死锁 1)死锁的概念 死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,称这种现象为死锁现象。 产生死锁的原因是共享资源有限,多个进程对共享资源的竞争,而且操作不当。 2)产生死锁的四个必要条件是资源互斥使用、保持和等待、非剥夺性、循环等待。 3)解决死锁的方法 一般有死锁的预防,即破坏产生死锁的四个必要条件中的一个或多个,使系统绝不会进入死锁状态;死锁的避免,即在资源动态分配的过程中使用某种

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档