版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统上机实验报告实验名称:进程和线程实验目的:理解unix/Linux下进程和线程的创建、并发执行过程。实验内容:1.进程的创建2.多线程应用实验步骤及分析:进程的创建下面这个C程序展示了UNIX系统中父进程创建子进程及各自分开活动的情况。fork()创建一个新进程。系统调用格式:pid=fork()参数定义:intfork()fork()返回值意义如下:0:在子进程中,pid变量保存的fork()返回值为0,表示当前进程是子进程。>0:在父进程中,pid变量保存的fork()返回值为子进程的id值(进程唯一标识符)。-1:创建失败。如果fork()调用成功,它向父进程返回子进程的PID,并向子进程返回0,即fork()被调用了一次,但返回了两次。此时OS在内存中建立一个新进程,所建的新进程是调用fork()父进程(parentprocess)的副本,称为子进程(childprocess)。子进程继承了父进程的许多特性,并具有与父进程完全相同的用户级上下文。父进程与子进程并发执行。2、参考程序代码/*process.c*/#include<stdio.h>#include<sys/types.h>main(intargc,char*argv[]){intpid;/*forkanotherprocess*/pid=fork();if(pid<0){/*erroroccurred*/fprintf(stderr,"ForkFailed");exit(-1);}elseif(pid==0){/*childprocess*/execlp("/bin/ls","ls",NULL);}else{/*parentprocess*//*parentwillwaitforthechildtocomplete*/wait(NULL);printf("ChildComplete");exit(0);}}3、编译和运行$gccprocess.c–oprocesss4、运行$./process编辑如图所示:运行如图所示:思考:-lpthread:使用线程库运行example1,得到如下结果:Thisisthemainprocess.
Thisisapthread.
Thisisthemainprocess.
Thisisthemainprocess.
Thisisapthread.
Thisisapthread.再次运行,可能得到如下结果:Thisisapthread.
Thisisthemainprocess.
Thisisapthread.
Thisisthemainprocess.
Thisisapthread.
Thisisthemainprocess.编辑过程如图所示:执行如图所示:实验总结:在实验中很多粗心造成的问题,比如指令输错字母,代码写错字母,没有注意是否需要空格等。通过课堂的理论知识学习和实验课的上机实验,让我更能理解操作系统的知识。4、思考(1)程序运行后,进程thread中有几个线程存在?3个(2)为什么前后两次运行结果不一样?单核的cpu在处理多线程时每次只能执行一跳指令,也就是说无论你的程序有多少个线程,每一时刻执行的也只是一个线程里的代码,cpu会轮流给每个线程分配时间片,时间片分配到哪个线程头上,哪个线程里的代码就执行。但是多核cpu就不一样了,他可以同时执行多个线程里的代码,这才是真正的“多线程”。所以你那段程序,在单核的电脑上跑应该是没有问题的,但是在多核cpu的电脑上出现的结果就会有很大的随机性。5、程序的扩展试在本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省保定市安新县2025年三下数学期中调研模拟试题含答案解析
- 河北省保定市北市区2025-2026学年数学四年级下学期期中达标检测模拟试题(含答案解析)
- 沂南县2025-2026学年数学四下期中复习检测试题含解析
- 沁阳市2025届三下数学期中质量检测模拟试题含答案
- 2026年城市规划问题及措施
- 2026年职业生涯规划书环艺
- 2026年服务行业职业发展规划书
- 2026年社区教育工作典型案例分析
- 汶上县2025-2026学年数学三年级上学期阶段考试试题含解析
- 2026年销售计划书案例分享
- 大部分分校:地域文化形考任务三-国开(CQ)-国开期末复习资料
- 现代自然地理学学习通超星期末考试答案章节答案2024年
- 华师一附中2024届高三 《数列与不等式》试卷含答案
- 人教版数学八年级下册《期末测试卷》含答案
- 汽车学生实习工作总结
- 社区庆祝端午节活动方案
- BSCI验厂全套程序文件
- 金税四期下的税务风险与防范
- 大吴泥塑赏析吴汉松
- 中药化学重点笔记14014
- 《广交会专业实习》-实习教学大纲
评论
0/150
提交评论