




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
操作系统第一次实验报告(大全) 第一篇:操作系统第一次实验报告(大全)操作系统实验报告实验名称:线程控制实验计算机科学与技术学院目录一、实验目的和要求2二、实验内容2三、实验步骤2四、实验结果与分析31.单线程32.单线程(睡眠4s)33.多线程44.多线程(每个子线程睡眠1s)45.单线程与多线程对比5五、程序源代码51.单线程实验代码52.单线程实验代码6六、实验体会7一、实验目的和要求通过本实验掌握在Linux操作系统中遵循Posix线程标准接口进行多线程程序编程,熟练掌握线程的创建pthread_create(),线程的终止pthread_exit(),等待线程合并pthread_join()等线程控制操作,利用信号量或者互斥锁实现线程建的同步。二、实验内容问题:求1000000个浮点数(精确到小数点后4位)的平均值(和,最大值,最小值),具体的问题描述流程图如下图图1所示:三、实验步骤1、随机生成1000000个浮点数;2、创建4个子线程,分别求250000个浮点数之和;3、完成1000000个浮点数之和并打印结果;4、统计多线程并发执行完成计算的时间;5、写一个单线程程序,同样完成1000000个随机数求和的计算,统计计算时间,并和前面结果进行对比;6、让单线程程序睡眠四秒钟、多线程程序各子程序睡一秒的条件下(两个程序总的睡眠时间相同),对比执行结果;7、分析两次对比结果的差异,写出自己的见解。四、实验结果与分析1、单线程完成1000000个浮点数的求和运算所用的时间情况如下图图2所示:图图2单线程计算时间分析:实验中每次随机产生一个0到1之间的浮点数,1000000个这样的数相加的话的平总和大概就在500000左右(按照随机数的平均值原理),实验中sum=,显然结果正确,整个计算运行时间为。2、单线程完成1000000个浮点数的求和运算,单线程中睡眠4秒钟,所用的时间情况如下图图3所示:图图3单线程计算时间(睡眠4秒)分析:根据上一次单线程的执行情况来看,这一次让单线程睡眠4秒钟,最后执行时间刚好就是4秒加上计算时间。也就是说计算1000000个浮点数的总和平均时间约为。3、四个子线程共同完成1000000个浮点数的求和计算所用时间情况如下图图4所示:图图4多线程计算时间分析:因为这次是4个子线程并发运行,每个子线程只需计算250000个浮点数的总和,理想情况下这时候的运行时间应该是这单线程中计算时间的四分之一。从图中可以看到执行时间是,很显然这个时间约为单线程求1000000个浮点数之和的时间()的四分之一,符合预期的结果。4、四个子线程共同完成1000000个浮点数的求和计算,其中每个子线程睡眠1秒钟,最终所用时间情况如下图图5所示:图图5多线程计算时间(每个子线程眠睡眠1秒)分析:这里四个子线程每个子线程睡眠一秒,但由于四个子线程并发同步的在执行,当一个子线程在睡眠时,另外一个子线程却仍然在继续求和计算,因此他们一起合作同步完成1000000个浮点数的计算所需的时间就是1秒加上上图中不睡眠的时候的计算时间。从图中可以看到≈1s+,所以最终的结果符合预期值。5、单线程计算时间(睡眠4s)与多线程计算时间(每个子线程睡眠1s)对比效果如下图图6所示:图图6单线程(睡眠4s)与与多线程(每个眠子线程睡眠1s)计算时间对比图五、程序源代码/**************************FileName:*Author:*Date:2013/11/22***************************/#include#include#include#include#include#defineLOOP1000000floatSUM=0;void*ADD(){inti;srand(time(NULL));for(i=0;i{SUM+=(float)(rand()/(float)RAND_MAX);}sleep(4);}intmain(){pthread_tp;intresult;floattime;structtimevalstart;structtimevalend;gettimeofday(&start,NULL);result=pthread_create(&p,NULL,ADD,NULL);if(result!=0){printf(“CreateThreadofADDFailuren”);exit(-1);}pthread_join(p,NULL);gettimeofday(&end,NULL);time=((float)-*1000000+(float)-)/1000000;printf(“Signal_Thread_Sum:%.4fn”,SUM);printf(“Signal_Thread_E

论文****轩吖
实名认证
内容提供者


最近下载
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf