您的位置:自考365 > 复习指导 > 笔记串讲 > 工学 > 2010年自考工学类“操作系统原理”复习资料(7)

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

2010-09-20 09:34  育路自学考试网 【 】【我要纠错

  本章考核知识点: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操作实现进程互斥。

本文转载链接:2010年自考工学类“操作系统原理”复习资料(7)

分享到:
  • 站内搜索
  • 课程搜索
  • 试题搜索

热门搜索:教材 报名 查分 免考 考试计划