操作系统实验报告(进程的创建)381.pdf
《操作系统实验报告(进程的创建)381.pdf》由会员分享,可在线阅读,更多相关《操作系统实验报告(进程的创建)381.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.专业 word 可编辑 实验题目 进程的创建 小组合作 否 姓名 班级 学 号 一、实验目的 1、了解进程的创建。2、了解进程间的调用以及实现。3、分析进程竞争资源的现象,学习解决互斥的方法。4、加深对进程概念的理解,认识并发执行的本质。二实验环境 Windows 系统的计算机一台,安装了 Linux 虚拟机 三、实验内容与步骤 1、fork()系统调用的使用例子 程序代码:#include#include#include int glob=3;int main(void)pid_t pid;int loc=3;printf(before fork();glod=%d,loc=%d.n,gl
2、ob,loc);if(pid=fork()0).专业 word 可编辑 printf(fork()error.n);exit(0);else if(pid=0)glob+;loc-;printf(child process changes glob and loc:n);else wait(0);printf(parent process doesnt change the glob and loc:n);printf(glob=%d,loc=%dn,glob,loc);exit(0);运行结果:2、理解 vofork()调用:.专业 word 可编辑 程序代码:#include#includ
3、e#include int glob=3;int main(void)pid_t pid;int loc=3;if(pid=vfork()0)printf(vfork()errorn);exit(0);else if(pid=0)glob+;loc-;printf(child process changes the glob and locn);exit(0);else.专业 word 可编辑 printf(parent process doesnt change the glob and locn);printf(glob=%d,val=%dn,glob,loc);运行结果:3、给进程指定一
4、个新的运行程序的函数 exec().程序代码:printe1.c 代码:#include int main(int argc,char*argv)int n;char*ptr;extern char*environ;for(n=0;nargc;n+)printf(argv%d:%sn,n,argvn);for(ptr=environ;*ptr!=0;ptr+)printf(%sn,*ptr);exit(0);file4.c 代码如下:.专业 word 可编辑#include#include#include#include char*env_list=USER=root,PATH=/root/,
5、NULL;int main()pid_t pid;if(pid=fork()0)printf(fork error!n);exit(0);else if(pid=0)if(execle(/root/print1,print1,arg1,arg2,(char*)0,env_list)0)printf(execle error!n);exit(0);if(waitpid(pid,NULL,0)0)printf(WAIT ERROR!n);exit(0);.专业 word 可编辑 if(pid=fork()0)printf(fork error!n);exit(0);else if(pid=0)if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 报告 进程 创建 381
限制150内