洛阳师范学院UNIX实验报告-6-2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
洛阳师范学院UNIX实验报告-6-2

测试过程:(实验中出现的问题、错误、解决方法) 基本算法思想掌握之后,程序的大体流程可以写出来, 具体的问题,就是有时候会因为对个别函数的参数应用出问题 老师有问必答,全部都给解决了 实验总结: 签名 2012 年 5 月 22 日 评语与成绩: 教师签名: 年 月 日 洛阳师范学院信息技术学院 软件实验报告 专业: 软件工程 课程: UNIX高级编程 学号: 姓名: 班级: 实验名称 进程控制 实验类型 验证型 实验时间 2012-5-22 实验环境 虚拟机下装有linux操作系统的windows操作系统 实验目的与要求: 掌握进程创建、执行、终止的步骤、相关函数; 掌握进程间资源共享,进程间同步关系; 实验内容: 进程创建及执行 参考并调试教材p143程序8-1,理解fork的用法,理解父子进程间的关系,将fork替换为vfork,观察程序输出的不同,并解释原因; fork与vfork有什么区别? 将程序8-1的标准输出重定向到文件后,为什么write函数输出两次? 参考并调试教材p159程序8-8和程序8-9,掌握不同exec函数的用法,理解其区别; execlp能够正常执行吗?为什么?; 将程序8-9作为解释器,编写类似p165例子的脚本(只有一行)。 举例说明至少2种脚本的执行方法。 观察脚本执行的输出,说明解释器参数的排列特点。 验证进程终止及同步关系 在程序8-8中,分别安排waitpid或者不安排waitpid,观察程序执行情况; 执行ps命令观察结果 在程序中调用system执行ps命令观察结果。 系统中有僵死进程吗?为什么? 实验步骤:(算法描述、源程序、操作步骤和方法) 1.进程创建及执行 参考并调试教材p143程序8-1,理解fork的用法,理解父子进程间的关系,将fork替换为vfork,观察程序输出的不同,并解释原因; 程序中调用fork函数: 程序中调用vfork函数: 但从运行结果可以看出来,调用fork函数的程序分别在父进程和子进程中输出了pid,glob,var这三个变量。而vfork函数仅仅输出了这三个变量一次。 fork与vfork有什么区别? Vfork函数的调用序列和返回值与frok相同,但两者的语义不同。 Vfork用于创建一个新进程,而该进程的目的是exec一个新程序。Vfork与fork一样都创建一个子进程,但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec(或exit),于是也就不会存访该地址空间。相反,在子进程调用exec或exit之前,它在父进程的空间中运行。这种优化工作方式在某些unix的也是虚拟存储器实现中提高了效率。 将程序8-1的标准输出重定向到文件后,为什么write函数输出两次? 由于fork函数仅仅是创建一个新进程而已,printf函数在父进程中执行了一次,在子进程中执行了一次,因此输出了两次。 参考并调试教材p159程序8-8和程序8-9,掌握不同exec函数的用法,理解其区别; 本程序使用了两个exec函数execle和execlp 其中execle的第一个参数为绝对路径名 相对的execlp的第一个参数为文件名 这是这两个函数最大的区别。 execlp能够正常执行吗?为什么?; 不能,在8_8程序中,先调用execle,它要求一个路径名和一个特定的环境。下一个调用的是execlp,它用一个文件名,并将调用者的环境传送给新程序。Execlp在这里不能够工作的原因是因为目录/home/lynu/bin不是当前路径。注意,我们将第一个参数设置为路径名的文件名分量。某些shell经此参数设置为完全路径名。 改程序在/home/lunu/bin下面执行,并将第二个参数“echoall”改为本机目录下的可执行程序,方可运行。 将程序8-9作为解释器,编写类似p165例子的脚本(只有一行)。 举例说明至少2种脚本的执行方法。 脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的HYPERLINK /view/.htm可执行文件,又称作HYPERLINK /view/57.htm宏或HYPERLINK /view/.htm批处理文件。 一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的HYPERLINK /view/47200.htm解释程序就可以做到跨平台。脚本(Script),就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,这样就可以方便你在C

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档