没有合适的资源?快使用搜索试试~ 我知道了~
操作系统实验报告-Linux进程创建与通信.doc
资源推荐
资源详情
资源评论
操作系统实验报告-Linux 进程创建与通信
1
2011-2012 学年第一学期
专 业:
班 级:
学 号:
姓 名:提交日期:2011 年 11 月
计算机操作系统实验报告
操作系统实验报告-Linux 进程创建与通信
2
实验二 Linux进程创建与进程通信
【实验目的】
1. 熟悉有关Linux系统调用;
2. 学习有关Linux的进程创建,理解进程创建后两个并发进程的执行;
3. 通过系统调用wait()和exit(),实现父子进程同步;
4. 掌握管道、消息缓冲等进程通信方法并了解其特点和使用限制。
【实验内容】
1. 父进程创建子进程
实现父进程创建一个子进程,返回后父子进程分别循环输出字符串“The parent process.”及“The
child process.”5 次,每次输出后使用sleep(1)延时一秒,然后再进入下一次循环。给出源程序代
码和运行结果。
程序代码:
main()
{
int p1,i;
while ((p1=fork())==-1);
if (p1>0)
for (i=0;i<5;i++)
{
printf("I am parent.\n");
sleep(1);
}
else
for (i=0;i<5;i++)
{
printf("I am child.\n");
sleep(1);
}
}
运行结果:
The parent process.
The child process.
The parent process.
The child process.
The parent process.
The child process.
操作系统实验报告-Linux 进程创建与通信
3
The parent process.
The child process.
The parent process.
The child process.
2. 父子进程同步
修改上题程序,使用exit()和wait()实现父子进程同步,其同步方式为父进程等待子进程的同
步,即:子进程循环输出 5 次,然后父进程再循环输出 5 次。给出源程序代码和运行结果。
程序代码:
main()
{
int p1,i;
while ((p1=fork())==-1);
if (p1>0)
{
wait(0);
for (i=0;i<5;i++)
{
printf("I am parent.\n");
sleep(1);
}
}
else
{
for (i=0;i<5;i++)
{
printf("I am child.\n");
sleep(1);
}
exit(0);
}
}
运行结果:
I am parent.
I am parent.
I am parent.
I am parent.
I am parent.
I am child.
I am child.
I am child.
I am child.
I am child.
剩余19页未读,继续阅读
资源评论
是空空呀
- 粉丝: 171
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MI4407-VB一款SOP8封装P-Channel场效应MOS管
- java实验2.doc
- opencv-基于c++实现的opencv图像处理算法之区域生长分割算法.zip
- MI3475-VB一款SOT23封装P-Channel场效应MOS管
- Fortran语言教程&案例&相关项目资源
- Labview 互斥按钮
- java小说人物分析.doc
- opencv-基于c++实现的opencv图像处理算法之双线性插值算法.zip
- 《STM32单片机+DHT11温湿度+MQ甲醛浓度+BH1750光照强度+按键+OLED屏幕+蜂鸣器+继电器》源代码
- python爬虫基础知识原理及Scrapy框架以及scrapy-redis分布式策略入门知识.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功