您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统原理实验三进程的控制报告
学院:计算机科学与信息学院专业:网络工程班级:姓名学号实验组实验时间2011.11.10指导教师成绩实验项目名称实验三进程的控制实验目的1、掌握进程另外的创建方法2、熟悉进程的睡眠、同步、撤消等进程控制方法实验条件PC机或工作站一台;RedHat9.0操作系统;实验原理实验手段:编程验证原理;实验步骤一、所涉及的系统调用在UNIX/LINUX中fork()是一个非常有用的系统调用,但在UNIX/LINUX中建立进程除了fork()之外,也可用与fork()配合使用的exec()。1、exec()系列系统调用exec()系列,也可用于新程序的运行。fork()只是将父进程的用户级上下文拷贝到新进程中,而exec()系列可以将一个可执行的二进制文件覆盖在新进程的用户级上下文的存储空间上,以更改新进程的用户级上下文。exec()系列中的系统调用都完成相同的功能,它们把一个新程序装入内存,来改变调用进程的执行代码,从而形成新进程。如果exec()调用成功,调用进程将被覆盖,然后从新程序的入口开始执行,这样就产生了一个新进程,新进程的进程标识符id与调用进程相同。2、exec()和fork()联合使用系统调用exec和fork()联合使用能为程序开发提供有力支持。用fork()建立子进程,然后在子进程中使用exec(),这样就实现了父进程与一个与它完全不同子进程的并发执行。一般,wait、exec联合使用的模型为:intstatus;............if(fork()==0){...........;execl(...);...........;}wait(&status);3、wait()等待子进程运行结束。如果子进程没有完成,父进程一直等待。wait()将调用进程挂起,直至其子进程因暂停或终止而发来软中断信号为止。如果在wait()前已有子进程暂停或终止,则调用进程做适当处理后便返回。实验内容1、用fork()创建一个进程,再调用exec()用新的程序替换该子进程的内容2、利用wait()来控制进程执行顺序实验数据vi编写的程序程序运行结果实验总结进程切换时将涉及到有关资源指针的保存以及地址空间的变化等问题;线程切换时,由于统一进程内的线程共享资源和地址空间将不涉及资源信息的保存和地址变化问题,从而减少了操作系统的开销时间。指导教师意见年月日
本文标题:操作系统原理实验三进程的控制报告
链接地址:https://www.777doc.com/doc-2454431 .html