《2022年操作系统进程 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统进程 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、西安郵電學院操作系统原理课内实验报告 2 院 系 名 称:计算机学院实 验 题 目:进程管理学 生 姓 名:伍昱峰专 业 名 称:网络工程班级:0901 学号:04093004 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 进程的创建一、实验目的(1)加深对操作系统系统调用功能和进程概念的理解,明确进程和程序的区别。(2)掌握 Linux 中进程的创建方法,进一步理解进程的并发执行。二、实验内容1、编写一段程序,使用系统调用f
2、ork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示 a,子进程分别显示字符 b和字符 c。试观察记录屏幕上的显示结果,并分析原因。2、修改上述程序,每一个进程循环显示一句话。子进程显示daughter 及son ,父进程显示parent ,观察结果,分析原因。如果在程序中使用调用 lockf()来给每一个子进程加锁, 可以实现进程之间的互斥,观察并分析出现的现象。三、实验步骤(1) 需求分析编写一段程序, 使用系统调用 fork( )创建两个子进程。 当此程序运行时, 在系统中有一个父进程和两个子进程活动。让每一个进程
3、在屏幕上显示一个字符:父进程显示 a,子进程分别显示字符 b和字符 c。修改上述程序,每一个进程循环显示一句话。子进程显示daughter 及son ,父进程显示parent ,观察结果,分析原因。在程序中使用调用lockf()来给每一个子进程加锁。(2) 概要设计本程序用到的抽象的数据有:int p1,p2;int i;主程序的流程图如下图(图一) :(3)详细设计对于概要设计中的使用系统调用fork ()创建两个子进程,创建的过程函数如下: #include Using namespace std; Int main() Int p1,p2; P1=fork(); If(p1=0)cout
4、”b”0) P2=fork(); If(p2=0)cout”c”0) cout”a”0 Cout0 Cout” c”Cout” a”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - 由上面的三个图可以看出来由于程序的并发执行,同一个程序运行的结果会有所区别。2.修改程序之后,每一个进程循环显示一句话的调试结果如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
5、师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 由上面的图可以看出来由于程序的并发执行,同一个程序运行的结果会有所区别。3. 在程序中使用调用lockf()来给每一个子进程加锁的调试结果如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 由上面的运行结果可以看出在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程之间的互斥。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -
限制150内