人人范文网 范文大全

操作系统实验报告

发布时间:2020-03-03 12:43:48 来源:范文大全 收藏本文 下载本文 手机版

实验项目二 进程管理

一、实验目的

1.理解进程的概念,掌握父、子进程创建的方法。

2.认识和了解并发执行的实质,掌握进程的并发及同步操作。

二、实验内容

1.编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。

2.多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。记下这种情况,试简单分析其原因。

3.修改程序,在父、子进程中分别使用wait()、exit()等系统调用“实现”其同步推进,并获取子进程的ID号及结束状态值。多次反复运行改进后的程序,观察并记录运行结果。

三、源程序及运行结果

源程序1:

#include #include #include int main(int argc, char ** argv ) { int pid=fork(); if(pid

printf(\"error!\");

else if( pid == 0 )

{

printf(\"I am son!\\n\");

}

else

{

int pid=fork();

if (pid

printf(\"error!\");

else if( pid == 0 )

{

printf(“I am daughter! \\n\");

}

else

printf(\"I am father!\\n\");

} sleep(1); return 0; }

运行结果:

源程序2:

#include #include #include int main(int argc, char ** argv ) { char *meage; int n;

int pid=fork(); if(pid

printf(\"error!\");

else if( pid == 0 )

{

meage=\"I am daughter!\";

pid=getpid();

n=3;

}

else

{

int pid=fork();

if (pid

printf(\"error!\");

else if( pid == 0 )

{

meage=\"I am son!\";

pid=getpid();

n=3;

}

else

meage=\"I am father!\";

n=3;

}

for(;n>0;n--) { puts(meage); sleep(1); }

return 0; }

运行结果:

四、实验分析与总结

1.实验内容1运行结果为什么无固定顺序,fork()函数创建进程是如何并发执行的。

答:因为进程是并发执行的,fork()函数创建的三个进程抢占

cpu不同,从而导致三个程序被cpu 调度顺序不同,所以实验一结果无固定顺序。Fork()函数调用成功后,子进程与父进程并发执行的代码相同,但由于子进程也继承父进程的程序指针,所以子进程是从fork()后执行的,另外fork在子进程和父进程中返回值是不同的。在父进程中返回子进程的pid,而在子进程中返回0,使父进程和子进程执行不同的分支。

2.实验内容3是如何实现父子进程的同步执行的。

答:wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。程序段主要使用了函数wait()和,exit()这是因为父进程必须等待两个子进程终止后才终。在父进程中调用wait()函数,则父进程被阻塞,进入等待队列,等待子进程结束。子进程终止时执行exit()向父进程发终止信号,当接到信号后,父进提取子进程的结束状态值,从wait()返回继续执行原程序,从而实现了父、子进程的同步推进。

总结:通过进程管理实验,了解fork()函数创建进程是并发执行的,wait()进程表示会暂时停止目前进程的执行,可以灵活运用fork()和wait()进程解决有关问题。在实验中遇到许多问题,如:实验中调用fork()进程失败,可能的原因有系统中有太多的进程或者实际用户ID的进程总数超过了系统的限制。刚接触VMware这个系统,操作不熟悉,多次操作后,了解这个系统有关操作,实验做起来就比较简单了。对实验代码也不熟悉,最后通过请教老师和同学,终于实验理解透彻,并成功运行了。不仅上课要认真听课,要想真正学会,课下也要付出努力。

操作系统实验报告

操作系统实验报告

linux操作系统实验报告

嵌入式操作系统实验报告

操作系统实验报告[材料]

操作系统实验报告一

S操作系统实验报告

操作系统实验报告(clock算法)

操作系统专题实验报告样式

操作系统银行家算法实验报告

操作系统实验报告
《操作系统实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档