好文档 - 专业文书写作范文服务资料分享网站

第2章与处理器管理有关的系统功能调用实践作业

天下 分享 时间: 加入收藏 我要投稿 点赞

第2章 与处理器管理有关的系统功能调用实践作业

参照“强化实践能力培养课程内容”中“进程创建和执行的实践能力培养考核选例”和“线程的创建及线程间管道通信实践能力培养考核选例”程序,编写一个能建立两个子进程的程序(父进程),让这三个进程并发执行完成以下二元函数的计算:

其中由父进程完成:f(x,y) = f(x) + f(y)

由子进程1 完成阶乘计算: f(x) = f(x-1) * x (x >1) f(x)=1 (x=1)

由子进程2完成非波纳奇序列: f(y) = f(y-1) + f(y-2) (y> 2) f(y)=1 (y=1,2)

答:实验代码及说明 #include <> #include <> #include <>

int main(int argc, char *argv[]) {

int pid,pid2;;

exit(EXIT_FAILURE); }else if (pid2 == 0){ //管道2的1端写 close(pipe2[0]); fy = Fy(y); printf(\pid is %d fy=%d (y=%d) \\n\ write(pipe2[1],&fy,sizeof(int)); close(pipe2[1]); //退出该线程

exit(EXIT_SUCCESS); }

//父进程负责从管道1的0端,管道2的0端读 close(pipe1[1]); close(pipe2[1]);

read(pipe1[0],&fx,sizeof(int)); read(pipe2[0],&fy,sizeof(int)); fxy = fx + fy;

printf(\pid is %d fxy=%d (x=%d,y=%d) \\n\

close(pipe1[0]); close(pipe2[0]); }

1

//父进程执行结束 return EXIT_SUCCESS; }

//函数(xy)

int Fxy(const int fx,const int fy){ return fx+fy; }

//函数f(y)

int Fy(const int y){

return y==1||y==2 1:(Fy(y-1)+Fy(y-2)); }

//函数f(x)

int Fx(const int x){

return x==1 1:Fx(x-1)*x; }

2

第2章与处理器管理有关的系统功能调用实践作业

第2章与处理器管理有关的系统功能调用实践作业参照“强化实践能力培养课程内容”中“进程创建和执行的实践能力培养考核选例”和“线程的创建及线程间管道通信实践能力培养考核选例”程序,编写一个能建立两个子进程的程序(父进程),让这三个进程并发执行完成以下二元函数的计算:其中由父进程完成:f(x,y)=f(x)+f(y)<
推荐度:
点击下载文档文档为doc格式
1ypmy9huku4vbt01gdv99bpag891im0041n
领取福利

微信扫码领取福利

微信扫码分享