- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
main int child, i 2; if child fork –1 printf fork error. ;exit ; if child 0 i i+3; printf “i %d\n”,i ; i i+5; printf “i %d\n”,i ; ① 更换进程执行代码,更换正文段,数据段 ② 调用格式:exec 文件名,参数表,环境变量表) ③ 例 execlp “max”,15,18,10,0 ; execvp “max”,argp 2 程序范例 #include #include #include void thread void int i; for i 0;i 3;i++ printf This is a pthread.\n ; main int n; …. if fork 0 printf “a” ; exit 0 ; wait n ; printf “b” ; main int p1,p2,p3,p4,p5,pp1,pp2; printf “程序开始执行” ; if p1 fork 0) printf(“进程proc1执行”); exit 1 ; else if p2 fork 0) printf(“进程proc2执行”); exit 1 ; pp1 wait pp1 ; /* 等待,直到子进程终止 */ pp2 wait pp2 ; /* 等待,直到子进程终止 */ if p3 fork 0) printf(“进程proc3执行”); else if( p4 fork() 0) printf(“进程proc4执行”); else if( p5 fork() 0) printf(“进程proc5执行”); exit 1 ; printf “整个程序终止“ ; exit 0 ; a. 画出描述子进程执行先后次序的进程流图。 各进程 分别用其对应的函数名或包含其进程号的符号名标识 。 b. 这个程序执行时最多可能有几个进程同时存在?同时 存在的进程数最多时分别是哪几个进程? c. 程序执行时,“整个程序终止”被输出几次?分别是 哪些进程输出的? b. 最多4个进程同时存在,分别是main、p3、p4、p5 。 c. 3次,main、p3、p4 。 #include #include 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 ; #include #include int A; void subp1 printf A in thread is %d\n,A ; A 10; main pthread_t p1; int pid; A 0; 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 ; Linux信号量函数在通用的信号量数组上进行操作,而不是在一个单一的信号量上进行操作。这些系统调用主要包括:semget、semop和semctl。 ⅰ 参数key是一个用来允许多个进程访问相同信号量的整数值,它们通过相同的key值来调用semget。 ⅱ 参数num_sems参数是所需要的信号量数目。Semget创建的是一个信号量数组,数组元素的个数即为num_sems。 ⅲ sem_flags参数是一个标记集合,与open函数的标记十分类似。低九位是信号的权限,其作用与文件权限类似。另外,这些标记可以与 IPC_CREAT进行或操作来创建新的信号量。一般用:IPC_CREAT | 0666 运行结果? A in son process is0 A in thread is 0 A in father process is 10 85 进程及进程管理——操作系统的并发机制实例 4. 信号量及其使用方法 1 信号量的创建 ① 功能 创建一个新的信号量或是获得一个已存在的信号量键值。 86 进程及进程管理——操作系统的并发机制实例 ② 原型 int semget key_t key, i
您可能关注的文档
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第七章 时间序列分析基础.ppt
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第三章 模型中误差项假定的诸问题.ppt
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第四章 线性模型的扩展.ppt
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第五章 联立方程组模型的估计.ppt
- 计量经济学(第三版) 教学课件 作者 赵国庆 著 第一章 一元线性回归分析基础.ppt
- 计量学基础 教学课件 作者 李东升 第1章.ppt
- 计量学基础 教学课件 作者 李东升 第2章.ppt
- 计量学基础 教学课件 作者 李东升 第3章.ppt
- 计量学基础 教学课件 作者 李东升 第4章.ppt
- 计量学基础 教学课件 作者 李东升 第5章.ppt
- 计算机操作系统 第2版 国家精品课程配套教材 教学课件 作者 庞丽萍 阳富民 第5章 资源分配与调度.ppt
- 计算机操作系统 第2版 国家精品课程配套教材 教学课件 作者 庞丽萍 阳富民 第6章 主存管理.ppt
- 计算机操作系统 第2版 国家精品课程配套教材 教学课件 作者 庞丽萍 阳富民 第7章 设备管理.ppt
- 计算机操作系统 第2版 国家精品课程配套教材 教学课件 作者 庞丽萍 阳富民 第8章 文件系统.ppt
- 计算机操作系统 第2版 国家精品课程配套教材 教学课件 作者 庞丽萍 阳富民 第9章 Linux系统.ppt
- 计算机操作系统 第三版 教学课件 作者 汤小丹 封面及目录.ppt
- 计算机操作系统 国家精品课程配套教材 教学课件 作者 庞丽萍 os1.ppt
- 计算机操作系统 国家精品课程配套教材 教学课件 作者 庞丽萍 os2.ppt
- 计算机操作系统 国家精品课程配套教材 教学课件 作者 庞丽萍 os3.ppt
- 计算机操作系统 国家精品课程配套教材 教学课件 作者 庞丽萍 os4.ppt
最近下载
- 小学科学新教科版二年级上册第一单元 造房子教案(共6课)(2025秋).docx VIP
- 2025年广西公需科目第二套答案.docx VIP
- 设备供货配送方案.docx VIP
- 现代农业发展情况课件.ppt VIP
- 2025年广西专业技术人员继续教育公需科目(二)答案.docx VIP
- 《急诊与灾难医学》全套课件.pptx
- 精通版五年级英语上册Lesson3_教学课件.ppt VIP
- 农村公路畅通工程质量检测方案(第三方检测及交工验收).docx VIP
- 《现代农业发展》课件.ppt VIP
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战.docx VIP
文档评论(0)