当前位置: 首页 > 自学考试 > 自学考试备考资料 > 2012年自考工学类“操作系统原理”复习资料(7)

2012年自考工学类“操作系统原理”复习资料(7)

更新时间:2012-10-30 11:10:37 来源:|0 浏览0收藏0

自学考试报名、考试、查分时间 免费短信提醒

地区

获取验证 立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

  本章考核知识点:1、进程的顺序性与并发性2、与时间有关的错误 3、相关临界区4、进程的互斥5、进程的同步6、进程通信7、线程的概念

  本章自学要求:理解“进程”是操作系统中的基本执行单位,在多道程序设计的系统中往往同时有许多进程存在,它们要轮流占用处理器。这些交叉执行的并发进程相互之间可能是无关,也可能是相关的。当并发进程竞争共享资源时会出现与时间有关的错误,因此,应采用进程同步与互斥手段使其合理使用共享资源,以保证系统安全。当进程间必须通过信息交换进行协作时,可用进程通信的方式达到目的。

  重点是:分析与时间有关的错误;用PV操作实现进程的同步与互斥;用信箱实现进程通信。

  一、进程的顺序性与并发性(领会)

  有人说,在程序中不是有跳转语句和重复语句,怎么就是顺序执行?注意,这里是指进程在处理器中的执行,因为处理器每次只能执行一个操作,因此每条指令必须按顺序进入CPU执行,假使有一条指令是跳转的,那么执行本指令后,会取出跳转目的地址的指令进入CPU运行,这个顺序是程序规定的。所以对CPU而言,进程总是按顺序执行。

  进程是一个程序在一个数据集合上的一次执行,同一个程序和同一个数据集的运行结果必然是相同的。这就是可再现性。

  同时执行并不是真的同时,因为任一时刻CPU中只能有一个进程运行。

  1、进程的顺序性:任何进程在顺序的处理器上的执行是严格按照顺序进行的,这就是进程的顺序性。当一个进程独占处理器顺序执行时,具有两个特性:一、封闭性二、可再现性。

  2、进程的同时执行:在多道程序设计系统中,一个进程的工作没有全部完成之前,另一个进程就可以开始工作,它们的执行在时间上重迭的,我们把它们称为是“可同时执行的”。

  3、进程的并发性:若系统中存在一组可同时执行的进程,则说该组进程具有并发性,并把可同时执行的进程称为“并发进程”。

  4、并发进程间的关系:并发进程相互之间可能是无关的,也可能是交往的。如果一个进程的执行不影响其他进程的执行,且与其他进程的进展情况无关,即它们是各自独立的,则这些并发进程相互之间是无关的。如果一个进程的执行依赖其他进程的执行,则这些并发进程之间是有交往的。

  二、与时间有关的错误(简单应用)

  1、并发进程的执行速度取决于自身和进程调度策略。一个进程运行时会被中断,且断点是不固定的,一个进程被中断后,哪个进程可以运行,被中断的进程什么时候占用处理器,是与进程调度策略有关的。因此进程的执行速度不能由自己决定。

  2、并发进程交替使用共享资源时会出现与时间有关的错误。由于共享资源的原因,加上进程并发执行的随机性,一个进程对另一个进程的影响是不可预测的。造成不正确的因素与进程占用处理器的时间、执行的速度以及外界的影响有关。因此被称为与时间有关的错误。

  3、分析并发进程中与时间有关的错误,请理解教材上的例子。

  三、相关临界区(领会)

  1、临界区的定义:并发进程中与共享变量有关的程序段称为“临界区”

  2、什么是相关临界区:相关临界区是指并发进程中涉及到相同变量的那些程序段。

  3、对相关临界区的管理要求。

  1)一次最多让一个进程在临界区执行,当有进程在临界区时其他想进入临界区执行的进程必须等待。

  2)任何一个进入临界区执行的进程必须在有限的时间内退出临界区,即任何一个进程都不应该无限地逗留在自己的临界区。

  3)不能强迫一个进程无限地等待进入它的临界区,即有进程退出时应让一个等待进入临界区的进程进入它的临界区。

  四、进程的互斥(综合应用)

  1、进程互斥的含义:进程的互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其他要使用该资源的进程必须等待,直到占用资源者释放了该资源。  PV操作是两个过程,由他们两个来控制一个信号S,假设S是红灯的个数。

  每个进程进入临界区前都要先执行P操作。退出临界区时执行V操作。用下面的比喻很容易理解:

  临界区门前有棵树(S)

  用来挂红灯

  进程想进CPU的门

  先得上树取盏灯(调用一次P操作)

  取下一个去敲门(S=S-1)

  如果树上没灯取(S≤0)

  树说欠你一盏灯(S为负时)

  没辙只好外边排队等(Wait(S))

  得灯进程续运行

  运行完了要出门(调用一次V操作)

  马上还回一盏灯(S=S+1)

  若有进程在催债(S≤0)

  放个进去事完成(Release(S))

  2、实现进程互斥的工具――PV操作。

  PV操作是由两个操作,即P操作和V操作组成。P操作和V操作是两个在信号量上进行操作的过程。假定用S表示信号量则把这两个过程记作P(S)和V(S),它们的定义如下:ProcedueP(VarS:Semaphore);beginS:=S-1;ifS<0thenW(S)end;{P}ProcedueV(VarS:Semaphore);beginS:=S+1;ifS<=0thenR(S)end;{V}

  为了确保PV操作自身的正确执行,因此P(S)和V(S)操作中不可中断,这种不可被中断的过程称为“原语”。

  3、用PV操作管理相关临界区的一般形式

  一个信号量与一组涉及共享变量的相关临界区联系起来,信号量的初值定为“1”

  任何一个进程要进入临界区前先调用P操作,执行临界区的操作后,退出临界区时调用V操作。

  由于信号量的初值为“1”,P操作起到了限制一次只有一个进程进入临界区的作用,其余进程欲进入临界区必须符合对临界区管理的第一个要求,即一次最多让一个进程在临界区执行。进程退出后执行V操作,若有进程在等待则释放一个进程,这样就达到了对临界区管理的第二个和第三个要求(即不能无限逗留也不能无限等待)。

  4、分析进程互斥问题并用PV操作实现进程互斥。

?2013年高教自考网络辅导课程招生简章

?2013年1月自考报名 

更多信息请访问:自学考试频道    自学考试论坛

分享到: 编辑:环球网校

资料下载 精选课程 老师直播 真题练习

自学考试资格查询

自学考试历年真题下载 更多

自学考试每日一练 打卡日历

0
累计打卡
0
打卡人数
去打卡

预计用时3分钟

环球网校移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载

返回顶部