[计算机硬件及网络]第三章作业、处理机调度.ppt

[计算机硬件及网络]第三章作业、处理机调度.ppt

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

①提交状态:作业被提交给机房后或用户通 过终端键盘想计算机键入其作业时的状态. ②后备状态:作业的全部信息都已通过输入 机输入,并由操作系统将其存在磁盘的某些 分区(存放作业的输入井)中等待运行. 负责进程在内存和辅存对换区之间的对换。 一些进程处于阻塞状态而暂时不能运行,中级调 度将进程暂时移到辅存对换区,对换区的进程若 其等待的事件已发生,则它们要由阻塞状态变为 就绪,为了继续这些进程的继续进行,则由中级 调度再度把它们调入内存。 ④为作业开始运行做好一切准备工作。如构 造和读写作业运行时所需要的有关表格及建立 负责其运行控制的作业运行控制程序。 ⑤在作业运行完毕或运行过程中因某种原因 需要撤离时,作业调度程序还有完成作业的善 后处理工作,如收回分配给他的全部资源,它 们将从系统中抹去 §3.5 进程的状态和进程控制块 进程的定义 进程的参考定义有如下几种: 1、进程是程序的一次执行; 2、进程=PCB+程序+数据; 3、进程是一个可拥有资源的独立实体,同时又是一个可以独立调度的基本单位。 §3.6 进程控制 一、原语: 操作系统的核心,由若干条指令组成,用 以实现某个特定操作。不可中断的系统程序。 在管态下运行、常驻内存 目的:实现进程的通信和控制 进程控制原语 创建原语 撤销原语 阻塞原语 唤醒原语 三、进程控制原语及进程的状态转换 四、线程 引入线程的目的: 为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。 线程的定义: 是进程中的一个实体,是被系统独立调度的基本单位。线程有进程的三个基本状态。 §3.7 进程通信 临界资源和临界区 同步与互斥 两个经典的同步/互斥问题 其他同步例子 管程 消息缓冲 二、临界资源和临界区 临界资源:critical resource(某段时间内只允许一个进程使用的资源) 临界区: critical section(必须互斥执行的程序段是相对于临界资源的临界区) 三、同步与互斥 基本概念 同步工具 硬件指令 信号量与P、V操作 并发程序共享资源问题的解决 基本概念 同步 进程之间的一种通信方式,有时序上的制约关系,或者说是进程之间为了协同工作而存在的一种等待关系。 互斥 进程之间对临界资源的一种竞争关系,排他性地对资源的访问方式。 同步机制:用于控制进程之间的同步与互斥。 硬件指令:test-and-set(lock) 功能表示如下: 关锁源语Lock(X) L:If X=1 then goto L else X :=1; 开锁源语UnLock(X) X:=0 五、 P/V操作、信号量 P/V操作由P操作原语和V操作原语组成,意义是:在一个整型变量S上定义了两个操作。 信号量:整型变量S称为信号量,仅能由P、V操作修改的整型变量。 P操作 P操作:申请资源操作 (1)?S:=S-1; (2)?如果S≥0,则表示有资源,该进程继续执行;如果S0,则表示已无资源,执行原语的进程被置成阻塞状态,并使其在S信号量的队列中等待,直至其他进程在S上执行V操作释放它为止。 V操作:释放资源操作 (1)? S:=S+1; (2)?如果S0,则该进程继续执行;如果S≤0,则释放S信号量队列的排头等待者并清除其阻塞状态,即从阻塞状态转变到就绪状态,执行V(S)者继续执行。 两个经典的同步/互斥问题 生产者/消费者算法: 模型的抽象化与进程分析 生产者/消费者算法描述: var mutex,empty,full:psemaphore;i,j,goods:integer;buffer:array [0…n-1] of item; procedure producer; 生产者进程 begin while true do begin produce next product; P(empty);P(mutex); buffer(i):=product;i:=(i+1) mod(n); V(mutex);V(full); end end; begin seminitial(mutex.v,1;empty.v,n;full.v,0); i:=j:=0; cobegin producer; consumer; coend end 读者与写者问题算法描述 (无写进程时读者可访问、不考虑同时进入、优先考虑写入): Var mutex,wrt,psemaphore;readcount:integer; begin s

您可能关注的文档

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档