资源简介

操作系统实验,压缩包中包括Linux和windows进程控制源代码及实验报告。 进程控制实验题目: 设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。 在Windows下实现: • 使用CreateProcess()来创建进程 • 使用WaitForSingleObject()在“mytime”命令和新创建的进程之间同步 • 调用GetSystemTime()来获取时间 在Linux下实现: • 使用fork()/execv()来创建进程运行程序 • 使用wait()等待新创建的进程结束 • 调用g

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include

int main(int argc char *argv[])
{
struct timeval starttimeendtime;    //子程序开始时间和结束时间
double startendlast;
char *const arg[] = {““};
int status;
pid_t pid;

    //记录开始时间
    gettimeofday(&starttimeNULL);
//创建子进程
pid = fork();

if(pid<0)
{
printf(“进程创建失败!\n“);
}
else if(pid==0)
{
//运行子进程
if( exevc(argv[1]arg)<0 )
{
printf(“子进程运行失败!\n“);
}
exit(0);
}

//等待进程结束
wait(&status);

//记录结束时间
gettimeofday(&endtimeNULL);

//计算运行时间
start = (double)starttime.tv_sec*1000000 + (double)starttime.tv_usec;
end = (double)endtime.tv_sec*1000000 + (double)endtime.tv_usec;
last = end - start;

printf(“程序的运

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        905  2011-04-01 20:26  进程控制\linux\mytime.c

     文件         95  2011-04-01 20:37  进程控制\linux\test1.c

     文件       2303  2011-04-02 09:59  进程控制\windows\mytime.cpp

     文件      29696  2011-04-01 20:30  进程控制\windows\mytime.exe

     文件        125  2011-04-02 11:12  进程控制\windows\wintest1.cpp

     文件     172086  2011-04-01 15:29  进程控制\windows\wintest1.exe

     文件        125  2011-04-02 11:13  进程控制\windows\wintest2.cpp

     文件     172086  2011-04-01 15:30  进程控制\windows\wintest2.exe

     文件     224768  2011-04-03 13:37  进程控制\实验报告.doc

     目录          0  2011-04-01 20:38  进程控制\linux

     目录          0  2011-04-02 11:13  进程控制\windows

     目录          0  2011-04-03 13:37  进程控制

----------- ---------  ---------- -----  ----

               602189                    12


评论

共有 条评论