版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、123 P2 C2 I2 P1 C1 I1作业作业1作业作业2单用户系统中操作的先后次序图45 I1 I2 I3 I4C1C3C2P1P2 哪些程序段的执行必须是顺 序的?为什么? 哪些程序段的执行是并行 的?为什么?多用户系统中操作的先后次序图6PQR三个并发进程7程序程序A n := n+1; 程序程序B print(n); n := 0; 共享变量的两个程序8程序程序A的的n :=n+1与与程序程序B的两个语句的两个语句的关系的关系 n的赋值的赋值 打印的结果打印的结果 n的最终赋值的最终赋值 之前之前 10 11 0 之后之后 10 10 1 之间之间 10 10 0 程序程序A n
2、:= n+1; 程序程序B print(n); n := 0; 共享变量的两个程序9例例1: I1 输入程序段输入程序段 I2 In例例2: 编译编译1C编译编译程序程序 编译编译2 编译编译n一个程序对应多个计算的例子10111213 运运 行行服务请求服务请求(请求请求I/O等等)服务完成服务完成/事件来到事件来到进程调度进程调度时间片到时间片到 等等 待待 就就 绪绪个别系统提供个别系统提供进程状态变迁图14 运运 行行服务请求服务请求(请求请求I/O等等)服务完成服务完成/事件来到事件来到进程调度进程调度 等等 待待 就就 绪绪进程状态变迁图15 运运 行行1234 等等 待待 就就
3、绪绪变迁变迁1 变迁变迁3,是否会发生?需要什么条件?,是否会发生?需要什么条件?变迁变迁4 变迁变迁3,是否会发生?需要什么条件?是否会发生?需要什么条件?进程状态变迁的讨论1617181920进程进程控制块控制块PCB程序程序与与数据数据进程组成的示意图21wait_lpt_q_startPCB3PCB7 next打印机等待队列结构打印机等待队列结构runningPCB4 next运行指针运行指针ready_q_start PCB1PCB2PCB9就绪队列结构就绪队列结构next进程队列结构示例2223创建撤销无无有有消亡消亡等待运行运行等待等待唤醒就绪就绪等待等待2425ab 1 入口入
4、口 查查PCB总链总链有同名有同名 ? 向系统申请一个向系统申请一个空的空的PCB 结构结构有空有空PCB ? 将入口信息填入将入口信息填入PCB相应项相应项 将将PCB入就绪队列入就绪队列 将将PCB入总链队列入总链队列返回进返回进程程pid出错出错YN出错出错PCB池示意图进程创建原语流程图2627入口入口由运行指针得当前进程的由运行指针得当前进程的pid释放本进程所占用的资源给父进程释放本进程所占用的资源给父进程该进程从总链队列中摘下该进程从总链队列中摘下释放释放PCB结构结构转进程调度转进程调度进程撤销原语流程图2829入口入口保护进程的保护进程的CPU现场到现场到PCB结构中结构中置
5、该进程为置该进程为”等待等待”状态状态将该进程将该进程PCB结构插入到等待结构插入到等待队列中队列中转进程调度转进程调度进程等待原语流程图3031入口入口找到该等待队列找到该等待队列将队列首进程移出此等待队列将队列首进程移出此等待队列将该进程置将该进程置为为”就绪就绪”状态,状态,并将并将PCB结构插入到就绪结构插入到就绪队列中队列中返回返回进程唤醒原语流程图323334 x := x+1; csa 进程进程A进程进程B x := x+1; csb 进程临界区示意图35 x := x+1; csa 进程进程A进程进程B x := x+1; csb 进程临界区示意图36看病活动:看病活动: 要病
6、人去要病人去化验;化验; 等等化验结果;化验结果; 继续诊病;继续诊病;化验活动:化验活动: 需要进行化验需要进行化验 ? 进行进行化验;化验; 开出化验结果;开出化验结果; 进程同步活动示意图37 缓冲区缓冲区bufiop cpABCDABCD两个进程共享一个缓冲区示意图3839 1W 进入临界区进入临界区csa 0W进程进程AW=0 ?= 0 1W 进入临界区进入临界区csb 0W进程进程BW=0 ?= 0两个进程使用临界资源的操作404142 入入 口口 S-1 S S0 ?转进程调度转进程调度返回返回 入信号灯等待队列入信号灯等待队列 置置“等待状态等待状态”00 0 0P 操作原语流
7、程图43 入入 口口 S+ +1 S 从信号灯的等待队列中取出首元素从信号灯的等待队列中取出首元素 入就绪队列入就绪队列 置置“就绪状态就绪状态” 返回返回 S0 ?0 0V 操作原语流程图44上锁原语上锁原语进入临界区进入临界区csa 进程进程 pa开锁原语开锁原语上锁原语上锁原语进入临界区进入临界区csb 进程进程 pb开锁原语开锁原语两个进程利用上锁、开锁原语实现互斥4546p(mutex)进入临界区进入临界区csa 进程进程 pa v(mutex)p(mutex)进入临界区进入临界区csb 进程进程 pb v(mutex)两个进程利用信号灯的P、V操作实现互斥474849p3 s fp
8、5p1p2p4p6p9p10p8 f sp5p6p7 s f进程流图示例50pbpcpa f s3个合作进程 的进程流图51pbpcpa f s3个合作进程 的进程流图52 iop cp共享缓冲区的合作进程的同步示意图53 iop cp共享缓冲区的合作进程 的同步示意图54 iop cp共享缓冲区的合作进程 的同步示意图55 iop cp共享缓冲区的合作进程 的同步示意图5657c1p1 c2c3ck p2p3pm生产者消费者问题示意图58c1p1 c2c3ck p2p3pm生产者消费者问题示意图59606162636465运 行 终止 创建 就绪 等待 线程的状态变迁图66676869例:
9、main() int x; while(x=fork()= = - 1); if(x= =0) printf(“a”); else printf(“b”); printf(“c”); abcc?bcac?abcc?acbc? cabc?结果 ?701.fork error2 . i=5 i=10 i=73. i=7 i=5 i=104. i=5 i=7 i=10插入else呢?i=7,5,5 71父子1子2main( ) if(fork()=0) 子1的代码段 else if(fork()=0) 子2的代码段 else 3父代码段 213main( ) if(fork()=0) 子1的代码段;
10、 if(fork()=0) 子2的代码段 else 子1的代码段 else 3父代码段去掉这个去掉这个else谁执行这一段?谁执行这一段?3231子1子2父72main() if(fork()=0) printf(“a”); execlp(“file1”,0); printf(“b”); printf(“c”);file1:main() printf(“d”);acd?cad?adc?abdc?adbcc?7374int main(void)pthread_tid;int i,ret;ret=pthread_create(&id,NULL,(void *) thread,NULL);if(re
11、t!=0) printf (Create pthread error!n); exit (1);for(i=0;i3;i+)printf(This is the main process.n);pthread_join(id,NULL);return (0);757677printf(“c”);78798081p3p4 Fp2Sp1p582子进程进程执行的流图图83 s fp5p6p73个合作进程 的进程流图84运行结果?运行结果?A in son process isA in thread is A in father process is 1085868788899091929394959697ready_q scheduler susp wakeup receive pcb6pcb4pcb3pcb2pcb1 dispatcher CPU98调度/分派结构示意图99100101102 pcb1pcb2pcbnCPU完成完成103简单循环轮转调度算法示意图104 运行运行首先选择首先选择 100ms 因因 IO 而等待而等待 高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026甘肃天水长城果汁集团股份有限公司招聘6人备考题库附参考答案详解(夺分金卷)
- 2026甘肃兰州科技职业学院春季招聘27人备考题库附答案详解(培优a卷)
- 2026辽宁沈阳市文体旅产业发展集团有限公司所属企业中层岗位招聘8人备考题库及完整答案详解一套
- 2026福建泉州市丰泽区第五实验幼儿园招聘1备考题库附参考答案详解(基础题)
- 2026浙江省城建融资租赁有限公司招聘5人备考题库及答案详解(易错题)
- 萍乡市事业单位2026年统一公开招聘工作人员备考题库【234人】含答案详解(培优a卷)
- 2026浙江宁波市余姚市信访局招聘编外人员1人备考题库附参考答案详解(完整版)
- 2026江苏淮安淮阴工学院招聘工作人员120人备考题库带答案详解
- 2026黑龙江鹤岗市工农区招聘公益性岗位人员34人备考题库及完整答案详解一套
- 2026江西新余高新区国有企业招聘8人备考题库及一套完整答案详解
- 2026年度乡镇卫生院关于基本公共卫生服务项目存在的问题
- 2026年春教科版(新教材)小学科学三年级下册(全册)教学设计(附教材目录P131)
- 宁乡县域经济发展的深度剖析与路径探寻
- 后交叉韧带损伤及康复训练
- 2025年高考真题-数学(北京卷) 含答案
- 2024-2025学年数学八年级上册北师大版期末测试卷(含答案)
- 集团公司安全风险管控及隐患排查治理台账汇编
- 客车运用维修-客车A1级检修要求及质量标准(铁道车辆管理)
- 心理咨询师培训第六章咨询心理学知识
- GA/T 1047-2013道路交通信息监测记录设备设置规范
- 给祖先送钱表文
评论
0/150
提交评论