山大操作系统实验一.doc

山大操作系统实验一.doc

ID:56580660

大小:44.50 KB

页数:6页

时间:2020-06-28

山大操作系统实验一.doc_第1页
山大操作系统实验一.doc_第2页
山大操作系统实验一.doc_第3页
山大操作系统实验一.doc_第4页
山大操作系统实验一.doc_第5页
资源描述:

《山大操作系统实验一.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、山东大学软件学院实验报告 实验题目:参考示例程序中建立并发进程的方法,编写一个多进程并发执行程序。父进程首先创建一个执行ls命令的子进程然后再创建一个执行ps命令的子进程,并控制ps命令总在ls命令之前执行。实验目的:根据实验中观察和记录的信息结合示例实验和独立实验程序,了解实验程序反映出操作系统教材中进程及处理机管理一节讲解的进程的哪些特征和功能。在真实的操作系统中它是怎样实现和反映出教材中讲解的进程的生命期、进程的实体和进程状态控制的。了解子进程的创建和新程序的执行情况和信号的机理。硬件环境

2、:CPU:P4/1.8MHz内存:256MB硬盘:10GB软件环境:Ubuntu08.4-Linux操作系统Gnome桌面2.18.3BASH_VERSION='3.2.33(1)-releasegccversion4.1.2vi3.1.2gedit2.18.2OpenOffice2.3实验步骤:1、问题分析编写一个多进程并发执行程序。父进程首先创建一个执行ls命令的子进程然后再创建一个执行ps命令的子进程,并控制ps命令总在ls命令之前执行。2、算法设计说明父进程要创建两个子进程,两次使用fo

3、rk(),第一个子进程来执行PS命令,第二个执行ls命令,并通过信号来控制ps命令在ls命令之前执行,第二个子进程通过kill命令向第一个子进程发送信号,第一个子进程接到信号后再执行ps命令。结论分析与体会:在这次实验加深了对于进程并发执行概念的理解。实践并发进程的创建和控制方法。观察和体验进程的动态特性。进一步理解进程生命期期间创建、变换、撤销状态变换的过程。掌握进程控制的方法,了解父子进程间的控制和协作关系。实验代码://exp1.c#include#include

4、#include#include#include#include#include"exp1.h"intmain(intargc,char*argv[]){pid_tpid;//用于保存子进程进程号//intstatus;pid=fork();if(pid<0){/*error*/fprintf(stderr,"ForkFailed");exit(-1);}elseif(pid==0){printf("I

5、amchildprocess%dtodols.",getpid());signal(SIGINT,(sighandler_t)showLs);//注册一个本进程处理键盘中断的函数//pause();//execlp("/bin/ls","ls",NULL);//printf("finishedmy'ls'work");pause();//等待信号}elseif(pid>0){printf("ThisisparentprocessTOperformanotherfork");//再一次fo

6、rk()pid_tpid2;pid2=fork();if(pid2<0){/*fork失败*/fprintf(stderr,"Thesecondforkfailed");exit(-1);}elseif(pid2==0){/*资金进程执行ps命令*/printf("pidtosignalis%d",pid);printf("Iamchildprocess%dtodops.",getpid());//sleep(1);execlp("/bin/ps","ps",NULL);}else{

7、//等待子进程执行完毕之后,发送给执行ls命令的子进程信号//waitpid(pid2,&status,WNOHANG);wait(NULL);printf("Finishedmy'ps'work");kill(pid,SIGINT);//向第一个子进程发送键盘中断信号printf("Signalsend");}//等待所有子进程结束之后,退出wait(NULL);printf("AllChildComplete");exit(0);}}//exp1.h#include

8、pes.h>#include#include#include#include#includetypedefvoid(*sighandler_t)(int);voidshowLs(){execlp("/bin/ls","ls",NULL);printf("finishedmy'ls'work");}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。