操作系统---进程控制概要.ppt

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 进程同步 进程同步的概念 进程同步的例 进程同步机构 锁、上锁原语、 开锁原语 信号灯及P、V操作 进程同步与互斥的实现 用信号灯的P、V操作实现进程互斥 两类同步问题的解答 合作进程的执行次序 共享缓冲区的合作进程的同步 生产者——消费者问题及解答 111 进程及进程管理——小结 操作系统的并发控制机制 创建进程、创建线程及其使用 等待进程、线程的终止及其使用 信号量与使用方法 共享内存与使用方法 112 进程调度 进程调度的功能 调度方式 非剥夺方式 剥夺方式 常用的进程调度算法 调度用的进程状态变迁图的分析 进程及进程管理——小结 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * a. 画出描述子进程执行先后次序的进程流图。(各进程 分别用其对应的函数名或包含其进程号的符号名标识)。 b. 这个程序执行时最多可能有几个进程同时存在?同时 存在的进程数最多时分别是哪几个进程? c. 程序执行时,“整个程序终止”被输出几次?分别是 哪些进程输出的? ⅱ 试回答如下问题 81 进程及进程管理——操作系统的并发机制实例 b. 最多4个进程同时存在,分别是main、p3、p4、p5 。 c. 3次,main、p3、p4 。 ⅲ 问题答案 a. p3 p4 F p2 S p1 p5 82 子进程进程执行的流图图 进程及进程管理——操作系统的并发机制实例 #include sys/types.h #include sys/wait.h int main () { pid_t pid; int status; pid=fork(); if (pid==0) { p6();exit(); } else { pid=fork(); if (pid==0 ) { p5();exit(); } } wait(status); wait(status); p7(); } 83 ③ 应用实例1 s f p5 p6 p7 3个合作进程 的进程流图 进程及进程管理——操作系统的并发机制实例 #include stdio.h #include pthread.h int A; void subp1() { printf(A in thread is %d\n,A); A = 10; } main() { pthread_t p1; int pid; A = 0; 84 ④ 应用实例2 进程及进程管理——操作系统的并发机制实例 pid = fork(); if (pid==0) { printf(A in son process is %d\n,A); A=100; exit(0); } wait(); pthread_create(p1,NULL,subp1,NULL); pthread_join(p1,NULL); printf(A in father process is %d\n,A); } 运行结果? A in son process is0 A in thread is 0 A in father process is 10 85 进程及进程管理——操作系统的并发机制实例 Linux信号量函数在通用的信号量数组上进行操作,而不是在一个单一的信号量上进行操作。这些系统调用主要包括:semget、semop和semctl。 4. 信号量及其使用方法 (1) 信号量的创建 ① 功能 创建一个新的信号量或是获得一个已存在的信号量键值。 86 进程及进程管理——操作系统的并发机制实例 ⅰ 参数key是一个用来允许多个进程访问相同信号量的整数值,它们通过相同的key值来调用semget。 ⅱ 参数num_sems参数是所需要的信号量数目。Semget创建的是一个信号量数组,数组元

文档评论(0)

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

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

1亿VIP精品文档

相关文档