




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
linux操作系统课程设计报告书 第一篇:linux操作系统课程设计报告书题目1进程软中断通信1.1题目的主要研究内容及预期达到的目标实现进程的软中断通信:父进程发信号控制子程序的终止。1.2题目研究的工作基础或实验条件(1)硬件环境:Linux平台。(2)软件环境:标准C语言。1.3设计思想系统调用fork()创建两个子进程,再调用signal()让父进程捕捉键盘上的中断信号(即按Ctrl+C键);当捕捉到中断信号后,父进程调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:ChildProcess1isKilledbyParent!ChildProcess2isKilledbyParent!父进程等待两个子进程终止后,输出如下的信息后终止:ParentProcessisKilled!1.4流程图创建子进程p1NoP1>0Yes创建子进程p2No子进程P2等待父进程SIGSUR2消息后输出ChildProcess2isKilledbyParent!子进程P1等待父进程SIGSUR1消息后输出ChildProcess1isKilledbyParent!P2>0Yes父进程等待子进程都结束后输出Parentprocessiskilled!1.5主要程序代码#include“stdio.h”#include“unistd.h”#include“signal.h”#include“sys/types.h”#include“stdlib.h”intk=0;intp1,p2;//pid_tchild1=0,child2=0;voidfunc_father(intsig)//父进程信号处理函数;{//传送参数sig指定的信号给参数pid指定的进程;返回值:0:成功;-1:出错;//信号宏名:SIGUSR1,用户定义信号1,信号值:10,默认动作:终止进程;}voidfunc_p1(intsig)//子进程p1信号处理函数;{k=1;//标志相应SIGUSR1消息结束;}kill(p1,SIGUSR1);kill(p2,SIGUSR2);voidfunc_p2(intsig)//子进程p2信号处理函数;{k=1;//标志相应SIGUSR2消息结束;}intmain(){while((p1=fork())==-1);//fork()=-1创建子进程失败;if(p1>0)//父进程继续创建子进程p2;{}else//子进程p1while((p2=fork())==-1);if(p2>0)//父进程{//设置信号处理方式,依照参数signum指定的信号编号设置处理函数;//指定信号到达时跳转到参数handler指定的函数执行;//返回值:成功:返回先前信号处理函数指针;出错:SIG_ERR(-1);}else{}signal(SIGINT,SIG_IGN);//忽略本应给父进程的按键中断;signal(SIGUSR2,func_p2);//接收父进程的消息后转到处理函数;k=0;while(k==0);//等待子进程2收到父进程的消息后置k=1//子进程p2signal(SIGINT,func_father);wait(0);//等待子进程1结束wait(0);//等待子进程2结束printf(“Parentprocessiskilled!n”);exit(0);printf(“ChildProcess2isKilledbyParent!n”);exit(0);{}}return0;signal(SIGINT,SIG_IGN);//忽略本应给父进程的按键中断;signal(SIGUSR1,func_p1);//接收父进程的消息后转到处理函数;k=0;while(k==0);//等待子进程1收到父进程的消息后置k=1printf(“ChildProcess1isKilledbyParent!n”);exit(0);1.6运行结果及分析当按下Ctrl+C后,产生消息响应。1.7心得体会通过本次实验,掌握了如何创建进程以及进程的软中断。题目2进程的管道通信2.1题目的主要研究内容及预期达到的目标实现进程的管道通信。2.2题目研究的工作基础或实验条件(1)硬件环境:Linux平台。(2)软件环境:标准C语言。2.3设计思想使用系统调用pipe()建立一条管道线;两个子进程P1和P2分别向管道各写一句话:MessagefromChildl!MessagefromChild2!父进程从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接收子进程P1的消息,再接收子进程P2的消息。2.4流程图创建管道创建子进程p1NoP1=0Yes“MessagefromChildl!”放入缓冲区中把缓冲区所指内容写入50个字节到fd[

Ja****44
实名认证
内容提供者


最近下载
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf