操作系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统课程设计实验报告
实验名称:进程控制
姓名/学号:
一、实验目的
学习、理解和掌握Linux与windows的进行控制系统调用的功能,熟悉主要的几个系统调用命令的格式和如何利用系统调用命令进行编程。通过学习,理解如何创建一个进程、改变进程执行的程序、进程和线程终止以及父子进程的同步等,从而提高对进程和线程控制系统调用的编程能力。
二、实验内容
设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。
三、实验环境
CPU: Inter ×2 2.10GHz
RAM: 3.00GB
Windows 7 旗舰版
Linux Ubuntu 10.04
编译: VS2010
四、程序设计与实现
4.1进程控制系统的调用
4.1.1 windows进程控制调用程序中使用的数据结构及主要符号说明
SYSTEMTIME starttime,endtime; //进程开始时间和结束时间
PROCESS_INFORMATION pi //该结构返回有关新进程及
//其主线程的信息
STARTUPINFO si //该结构用于指定新进程的主窗口特性4.1.2 linux进程控制调用程序中使用的数据结构及主要符号说明
struct timeval starttime,endtime //进程开始时间和结束时间
pid_t pid //进程标志符
4.2 程序流程图
图1 windows进程控制调用图2 linux进程控制调用程序运行流程图程序运行流程图
五、实验结果和分析
5.1 windows实验结果和分析
将mytime.exe程序及测试用程序test1.exe和test2.exe放在文件夹C:\Users\kent中。输入命令mytime.exe test1.exe和mytime.exe test2.exe运行程序进行测试。测试结果如上图。
第一个测试成功,子进程的创建时间为20:31:27,结束时间为20:31:30,运行时间为3秒。
第二个测试也成功,子进程的创建时间为20:31:33,结束时间为20:31:34,运行时间为1秒。
5.2 linux实验结果和分析
图3 实验结果
将编写好的源代码复制到主文件目录中,运行gcc –o mytime.exec mytime.c 对进程控制调用程序进行编译,另外,运行gcc –o test test.c对测试用程序进程编译。编译完后,可以看到主文件目录中生成了可执行文件,如图4。
执行命令./mytime.exec test运行进程控制调用程序,由图3可以看到,测试成功,子进程的运行时间为4150.00微秒。
六、讨论、心得