并发程序设计讲义_第1页
并发程序设计讲义_第2页
并发程序设计讲义_第3页
并发程序设计讲义_第4页
并发程序设计讲义_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、附件(四)深圳 大学实 验报告课程名称:操作系统实验项目名称:并发程序设计学院:计算机与软件学院专业:计算机科学与技术指导教师:报告人一学号一班级:实验时间:2015/9/18实验报告提交时间:2015/10/15教务处制一、实验目的与要求:实验目的:掌握 Windows环境下,多程序并发程序设计方法,并通过程序的运行结果来验证 分时系统和并发程序设计的优越性。实验要求:熟悉Windows操作系统及VC程序设计方法。二、方法、步骤:1. 生成Parent.exe进程:打开VC+编译环境,选择File宀New宀Win32 Application必 须先输入 project name,女口 Par

2、e nt宀下一步,选择 A typical Hello World! Applicati on t打开C源程序Parent.cpp宀编写附件中的代码宀按!”运行Parent.exe程序;2. 生成 Calculate.exe进程:打开 VC+编译环境,选择 File t New t Win32 Application必须先输入 project name,如 Calculate t下一步,选择 A Simple Win32 Application t打开c源程序Calculate.cpp t编写附件中的代码t按“!”运行 Calculate.exe 程序;3. 生成 WriteFile.exe

3、进程:打开 VC+编译环境,选择 File t New t Win32 Application必须先输入 project name,如 WriteFile t下一步,选择 A Simple Win32 Application t打开c源程序WriteFile.cpp t编写附件中的代码t按“!”运行 WriteFile.exe 程序;三实验过程及内容:(其中:提供有简短说明的程序代码。要求:程序运行正确、符 合设计要求。)1.生成 Parent.exe 进程:创建工程参照图1:注意要写工程名创建工程参照图2:选择第三个创建工程参照图 3:编辑Menu创建工程参照图4:注意ID要与参考代码中的名

4、称一样运行结果:代码说明(注释):/该函数表示计算数据和向U盘写入数据并行执行void WriteOrCal culate()STARTUPINFO sui;定义进程开始信息PROCESS_INFORMATION piszWriteFile, piszCalculate;/ 进程创建返回信息BOOL wProcess, cProcess;/创建进程是否成功/设置创建进程信息memset(&sui, 0, sizeof(STARTUPINFO);sui.cb = sizeof(STARTUPINFO);/创建进程eProcess = CreateProcess(szCalculate, NULL

5、, NULL, NULL, TRUE, 0, NULL, NULL, &sui, &piszCal culate);wProcess = CreateProcess(szWriteFile, NULL, NULL, NULL, TRUE, 0, NULL, NULL, &sui, & piszWriteFile);/等待进程结束WaitForI nputldle(piszWriteFile.hProcess, INFINITE);WaitForI nputIdle(piszCalculate.hProcess, INFINITE);/该函数表示计算数据和向U盘写入数据串行执行void Writ

6、eAndCal culate()WinExec(szCal culate, NULL); / 启动执行文件的运行Win Exec(szWriteFile, NULL);2.生成 Calculate.exe 进程:创建工程参照图 1注意要写工程名创建工程参照图2:选择第二个选项创建工程参照图3:编辑代码并运行3.生成 WriteFile.exe 进程:创建工程参照图 1注意要写工程名创建工程参照图2:选择第二个选项创建工程参照图3:编辑代码并运行将三个exe文件放在同一个文件夹下运行成功四、实验结论:(其中:提供运行结果,能对实验结果进行深入的探讨和分析、评价, 并提出结论性意见和改进想法)运行

7、画面:运行数据记录表格:次数12345平均Write62 ms63 ms78 ms47 ms62 ms62 msCalculate4414 ms4399 ms4399 ms4383 ms4399 ms4398 msWrite and Calculate4446 ms4446 ms4462 ms4446 ms4446 ms4449 msWrite or Calculate4399 ms4400 ms4384 ms4384 ms4415 ms4396 ms运行结果分析:在实验运行成功的前提下,我们收集多种数据并进行平均计算处理,以防止产生误差。由数据可以看出,当写入数据和计算数据两个进程并行运行时

8、,其运行时间与单独 一个计算数据进程的运行时间基本一致,而写入数据和计算数据两个进程串行运行时间明显高于它们并行运行的时间。因此,我们可以得出分时系统和并发程序设计在节约运 行时间上具有优越性。在串行运行时,系统资源被单进程所独占,当进程在读或写磁盘文件时,CPU是处于等待I/O完成的空闲状态,因此造成较大的资源和时间浪费。在多进程运行时,当某 进程在等待I/O结果时,可以自动阻塞(blocked)起来,这时CPU可选择另一个就绪(ready) 进程来执行,从而提高系统的运行效率,增加系统的吞吐量,提高系统交互操作性能。改进建议:我们可以编写一个手动操控I/O的程序来进一步验证分时系统和并发程序设计的优越性,或者设计多个程序,使得结果更加明显,以防止误差。五、实验体会:(根据自己情况填写)本次实验是操作系统课程的第一个实验,感触良多,受益匪浅。由于代码老师有提 供,所以难度不是很大,但是通过这样难度不大的实验却让我了解到了分时系统和并发 程序设计在进程运行中的优越性,对操作系统拥有更深刻的认识。实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论