操作系统实验报告.docx
《操作系统实验报告.docx》由会员分享,可在线阅读,更多相关《操作系统实验报告.docx(7页珍藏版)》请在三一办公上搜索。
1、操作系统实验报告实验题目 姓名 进程的创建 班级 小组合作 否 学 号 一、实验目的 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,glo
2、b,loc); 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 #include int
3、 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 printf (parent process doesnt change the glob and locn); printf(glob=%d,val=%dn,glob,loc); 运行结果: 3、给进程指定一个新的运行程序的函数e
4、xec. 程序代码: 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代码如下: #include #include #include #include char * env_list=USER=root,PATH=/roo
5、t/,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); if(pid=fork)0) printf(fork error!n); exit(0); else if(pid=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 报告
链接地址:https://www.31ppt.com/p-3549598.html