ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:47.96KB ,
资源ID:14877332      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14877332.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(进程创建系统说明书.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

进程创建系统说明书.docx

1、进程创建系统说明书*实践教学* 兰州理工大学计算机与通信学院2012年秋季学期操作系统原理课程设计 题 目: 进程创建系统 专业班级: 计算机科学与技术10级4班 姓 名: 杜思远 学 号: 10240401 指导教师: 王燕 成 绩: 目录摘要 1正文 21. 问题描述 22. 设计目的 33. 设计要求 44. 详细设计 55. 结果分析 6设计总结 8参考文献 9致谢 10附录:源程序代码 11摘要在 UNIX 系统中,用户创建一个新进程的唯一方法就是调用系统调用 fork。调 用 fork 的进程称为父进程,而新创建的进程叫做子进程。在从系统调用 fork 中返回时,两个进程除了返回值

2、 pi 不同外,具有 完全一样的用户级上下文。在子进程中,pi 的值为零。在系统启动时由核心内 部地创建的进程0是唯一不通过系统调用 fork 而创建的进程。关键字:进程,创建,进程管理,c语言。正文 1. 问题描述1、了解UNIX的命令及使用格式,熟悉UNIX/LINUX的常用基本命令,练习并掌握UNIX提供的vi编辑器来编译C程序,学会利用gcc、gdb编译、调试C程序。2、编写程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符,如父进程显示a,子进程分别显示字符b和字符c。试观察记录屏幕上的显示结果,并分

3、析原因; 修改程序,每一个进程循环显示一句话,如子进程显示daughter 及son ,父进程显示 parent ,观察结果,分析原因。 2. 设计目的(1)加深对操作系统系统调用功能和进程概念的理解,明确进程和程序的区别。(2)掌握Linux中进程的创建方法,进一步理解进程的并发执行。(3)学生通过该题目的设计过程,可以初步掌握进程创建系统的原理、软件开发方法并提高解决实际问题的能力。3. 设计要求1、 分析设计要求,给出解决方案(要说明设计实现所用的原理、采用的数据结构)。2、 设计合适的测试用例,对得到的运行结果要有分析。3、 设计中遇到的问题,设计的心得体会。4、文档:课程设计打印文档

4、每个学生一份,并装在统一的资料袋中,资料袋前面要贴有学校统一的资料袋封面。 5、光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成5寸光盘,并复制四份(共五张内容相同的光盘),放在一个专门的资料袋中,不必再装软盘4. 详细设计对于概要设计中的使用系统调用fork()创建两个子进程,创建的过程函数如下: #include Using namespace std; Int main() Int p1,p2; P1=fork(); If(p1=0)cout”b”0) P2=fork(); If(p2=0)co

5、ut”c”0) cout”a”endl;Return 0;图一 5. 结果分析1.使用系统调用fork( )创建两个子进程的程序的调试结果如下图:由上面的三个图可以看出来由于程序的并发执行,同一个程序运行的结果会有所区别。2.修改程序之后,每一个进程循环显示一句话的调试结果如下图:由上面的图可以看出来由于程序的并发执行,同一个程序运行的结果会有所区别。设计总结通过这次实验,让我明白了怎样创建一个进程,以及如何使用系统调用来调用fork()函数,当fork()的返回值为0的时候表示当前进程是子进程,当fork()函数的返回值是大于0的时候表示当前进程是父进程,当fork()返回值是-1的时候表示

6、创建进程失败。通过实验使我见到了由于程序的并发执行,同一个程序运行的结果会有所区别。更重要的是通过这次实验使我学会了如何在linux的环境下使用kdevelop来编辑和编译程序。总之通过这次上机实验让我学到了许多书本上面学不到的知识,锻炼了自己的动手能力和编程的能力。参考文献1.汤子瀛,哲凤屏.计算机操作系统.西安电子科技大学学出版社.2.王清,李光明.计算机操作系统.冶金工业出版社.3.孙钟秀等. 操作系统教程. 高等教育出版社4.曾明. Linux操作系统应用教程. 陕西科学技术出版社. 5. 张丽芬,刘利雄.操作系统实验教程. 清华大学出版社.6. 孟静,操作系统教程原理和实例分析. 高

7、等教育出版社7. 周长林,计算机操作系统教程. 高等教育出版社8. 张尧学,计算机操作系统教程,清华大学出版社9. 任满杰,操作系统原理实用教程,电子工业出版社致谢这次课程设计,我从“纸上谈兵”到可以自己动脑动手分析调试程序,收获不少。首先要感谢有了这次实践的机会,给了自己一个舞台,同时也是对自身的检验。还有多亏了老师们从理论到上机亲自指导的辛苦教授,给予了我们最大帮助和全面指导,在这里,尤其感谢我的指导老师以及授课老师王燕老师,不辞辛苦,在给很多学生指导的情况下还不厌其烦的给我耐心指导,在这里,我衷心向您致谢!最后还要感谢热心的同学们,在我陷入误区时,是他们热忱的帮助使我摆脱困境。最后衷心感

8、谢所有给予我帮助和指导的老师和同学,是你们让我收获多多,取得了很大进步。谢谢你们!附录:源程序代码1.使用系统调用fork( )创建两个子进程的程序清单: #include Using namespace std; Int main() Int p1,p2; P1=fork();/获得fork函数的返回值赋给p1 If(p1=0)cout”b”0) P2=fork(); If(p2=0)cout”c”0) cout”a”endl;Return 0;2.修改程序之后,每一个进程循环显示一句话的程序清单:#include Using namespace std; Int main() Int p1,p2; P1=fork();/获得fork函数的返回值赋给p1 If(p1=0) For(int i=0;i3;i+) cout”daughter”iendl;cout”b”0) P2=fork(); If(p2=0) For(int i=0;i3;i+) cout”son”iendl;cout”c”0) For(int i=0;i3;i+) cout”parent”iendl;cout”a”endl;Return 0;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2