linux操作系统实验五Word文件下载.docx
- 文档编号:16567367
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:7
- 大小:223.57KB
linux操作系统实验五Word文件下载.docx
《linux操作系统实验五Word文件下载.docx》由会员分享,可在线阅读,更多相关《linux操作系统实验五Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
认识并理解并发环境中进程执行的实质问题,了解构成并发机制的进程创建过程。
能够使用系统调用完成进程创建,形成多个进程并发的环境。
◆了解在进程创建后通过对进程控制的系统调用,可实现对进程的有效控制。
掌握在进程执行中对进程进行睡眠、同步、撤销等控制方法。
◆进一步认识并发执行的实质,分析进程竞争资源的现象,学习解决进程互斥的方法。
二、实验环境
操作系统:
任何Unix/Linux及SunSolaris或windows系列
应用系统:
gcc编译器。
若OS为windows系列,则还需相应的模拟环境
三、预备知识
1、LINUX系统中进程的含义
#include<
stdio.h>
stdlib.h>
sys/types.h>
unistd.h>
sys/wait.h>
intmain()
{
intp1,p2;
inti,n=0;
p1=fork();
if(p1==0)
{
//system("
more-dcfile1"
);
execl("
/bin/ls"
"
ls"
-l"
0);
exit
(1);
}
elseif(p1>
0)
{
wait(NULL);
more-dcfile2"
p2=fork();
if(p2==0)
{
/bin/cat"
cat"
file1"
}
elseif(p2>
{
for(i=1;
i<
=100;
i++)
n=n+i;
printf("
theaddof1-100is:
%d\n"
n);
file2"
else
forkfailed.\n"
return0;
}
(1)编程实现三个进程的并发执行(即父进程同其分别创建的两个子进程同时运行),此程序运行使系统中有三个活动进程存在。
控制让每个进程在屏幕上显示一个字符串(为了便于理解,可以是有意义的一句话)。
比如子进程显示”daughter…”及”son…”,父进程显示”parent…”。
试观察屏幕上的显示结果,并对输出结果进行分析。
程序可能涉及到的系统调用及函数:
fork(),printf()
#include<
子进程:
son\n"
}
printf("
daughter\n"
父进程:
parent\n"
(2)编程实现并发执行的父子进程通过管道实现通信。
要求父进程通过读标准输入,将读入的内容写入管道;
子进程通过读管道,将读取的内容写到标准输出。
fork(),pipe(),read(),write(),close()
string.h>
//charparent[]="
Amessagetopipe'
communication.\n"
;
intpid,fd[2];
charbuf[100];
charparent[100];
pipe(fd);
pid=fork();
read(STDIN_FILENO,parent,100);
if(pid>
close(fd[0]);
printf("
parentprocesssendsamessagetochild.\n"
write(fd[1],parent,sizeof(parent));
close(fd[1]);
parentprocesswaitsthechildtoterminate.\n"
wait(0);
parentprocessterminate.\n"
elseif(pid==0)
read(fd[0],buf,100);
Themessagereadbychildprocessfromparentis:
%s\n"
buf);
childprocessterminate.\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 操作系统 实验