操作系统实验报告_实验报告操作系统

其他范文 时间:2020-02-28 10:02:46 收藏本文下载本文
【www.daodoc.com - 其他范文】

操作系统实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验报告操作系统”。

实验项目二 进程管理

一、实验目的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这个系统,操作不熟悉,多次操作后,了解这个系统有关操作,实验做起来就比较简单了。对实验代码也不熟悉,最后通过请教老师和同学,终于实验理解透彻,并成功运行了。不仅上课要认真听课,要想真正学会,课下也要付出努力。

操作系统实验报告

许昌学院《操作系统》实验报告书学号:姓名:闫金科班级:成绩: 5006140057 14物联网工程 2016年02月实验一 Linux的安装与配置一、实验目的1.熟悉Linux系统的基本概念,比如Linux......

操作系统实验报告

实验二进程调度1.目的和要求通过这次实验,理解进程调度的过程,进一步掌握进程状态的转变、进程调度的策略,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对......

S操作系统实验报告

DOS操作系统实验报告(2)班级_____________姓名_____________学号_____________一、写出下列命令(设当前目录为C:\):1、将c盘windows目录中主名长度为1-4个字符的所有文件拷贝到d......

操作系统实验报告一

实验报告一一、实验目的通过本实验,掌握Linux的基本操作以及Linux的文本编辑,对Linux有一个基本的了解。 二、实验任务1、Linux的基本操作1) 在图形交互方式下实现对用户、用户......

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

计算机学院实验报告课 程实验名称 专 业班 级学 号学生姓名 操作系统 进程的控制 计算机操作系统 131110196 邹明镇 嘉应学院计算机学院 1305 一、实验目的熟悉进程的......

下载操作系统实验报告word格式文档
下载操作系统实验报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文