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