2013—2014第2学期《Linux操作系统》期末大作业
题目:Linux进程控制
专业: 班级: 姓名: 学号:
序号 | 评分项目 | 满分 | 得分 |
1 | 设计分析合理性 | 15 | |
2 | 设计方案正确性、可行性、创造性 | 30 | |
3 | 设计结果正确性 | 40 | |
4 | 设计报告的规范性 | 15 | |
总得分 | |||
评语: 指导教师签名: 年 月 日 | |||
附录
设计任务书
题目: Linux进程控制
初始条件:
1.操作系统:Linux
2.程序设计语言:C语言
设计目的:
通过使用进程和进程控制的系统调用,加深理解有关进程方面的基本概念。通过该设计进一步加深对进程的感性认识。
设计内容:
自行设计一个程序,改程序创建一个子进程,使父、子进程合作,协调地完成某一功能。要求在该程序中使用进程的睡眠、进程映像改换、父进程等待子进程终止、信号的设置与传送(包括信号处理程序)、子进程的终止等有关进程的系统调用。
设计指导:
为了使子进程执行父进程所设置的软中断处理程序,父进程应当先定义软中断的处理方式再创建子进程,这样子进程就会继承父进程的软中断处理方式。
软中断除了可以用系统调用kill在进程之间传送外,还能由键盘产生;软中断也能由程序产生,如由于除以0而产生浮点溢出的程序异常中断。请自己设置这两类中断处理方式,并实现之。
注意事项:
创建进程要花费一定的时间和消耗不少资源。由于系统对每一个用户分配的资源有一定的限制,故设计时不要产生过多的进程。
测试要求:
(1)通过程序的运行结果来说明并发进程的异步性。测试父、子进程完成不同性质任务的运行时间,测试时间可以用time命令,并比较运行时总的时间、系统时间、用户时间和各个时间的比例各有什么不同。
(2)对于信号机制的信号处理方式,测试系统定义的默认动作、忽略信号的处理方式、用户定义的信息处理程序。测试进程对信号的屏蔽。
设计报告内容要求:
1)设计题目与要求。
2)总的设计思想及系统平台、语言、工具等。
3)给出数据结构与程序框架(功能与流程图,用visio绘制)。
4)给出用户名、源程序文件名、可执行程序的文件名及其运行结果。(要注明存储各个程序的文件名和具体代码,以及其运行结果的主机IP地址和目录。)
5)在设计中分析、回答以下几个问题:
a)在什么情况下,对于完成同一组任务,通过进程并发执行能减少程序运行所需的总时间?分析测试结果,说明原因。
b)在刚创建了子进程后,父进程和子进程的变量值是相等的。父进程改不了全局变量的值后,子进程的同名全局变量是否也改变了?请根据测试结果,进行回答。
c)进程是不能直接访问和修改其他进程的数据变量的。通过双方约定软中断,进程是否能通过信号的传送来间接地改变另一个进程的变量(如全局变量)的值?请根据测试结果,进行回答。
6)总结、分析通过本次设计所获得的经验、心得、体会、完成本次大作业中存在的问题及尚待改进之处。
7)参考文献的篇数不少于5篇。文献的格式可参照教材后面的文献排版。如:[序号]作者.文献名称.出处,年份.
8)附录:程序清单,在源程序中加入注释,说明并发进程所完成的不同性质的任务;输入数据及运行的结果。
正文
1.设计目的与要求
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论