2022年操作系统实验报告 .pdf
《2022年操作系统实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统实验报告 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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);if(pid=fork()0)print
2、f(fork()error.n);exit(0);else if(pid=0)glob+;loc-;printf(child process changes glob and loc:n);else名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -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
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 printf(parent process doesnt change the glob and locn);printf(glob=%d,val=%dn,glob,loc);运行结果:3、给进程指定一个新的运行程序的函数exec().程序代码:名师资料总结-精品资
4、料欢迎下载-名师精心整理-第 2 页,共 7 页 -代码:#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);代码如下:#include#include#include#includechar*env_list=USER=root,PATH=/root/,NULL;int main()pid_t pid;if(p
5、id=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)名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 7 页 -if(execl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年操作系统实验报告 2022 操作系统 实验 报告
限制150内