全球旧事资料 分类
课程设计报告
课程名称指导教师起止日期实验项目
Li
ux操作系统课程设计张玲
20140301至20140613实验二进程控制
学院信息与通信工程学院
专业
电子信息工程
学生姓名
班级学号
成绩
指导老师签字
f1课程设计概述
本次课设意在利用进程控制相关的系统调用编程进行进程控制实验,观察进程从创建、运行到终止的控制过程,加深对进程概念的理解。
11课程设计的目的
本实验的目的是掌握进程的概念,理解进程的创建、执行、等待、终止的过程。熟悉有关进程控制的命令和系统调用,理解Shell的工作原理。
12课程设计的内容
1)进程控制命令使用进程控制命令ps,kill监视和控制进程的活动2)编程部分用fork,wait,exec系统调用编程实现进程控制;编写一个简单的shell。
13设计原理
进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。构建的文件构架如图:
2012010948
exp1
exp2exp3
vis
vis2
图1实验目录树的结构
f2实验步骤
21操作
211进程控制命令(在此终端窗口的操作截图见图1)1执行ps命令,查看bash进程的PID:PID就是各进程的身份标识程序一运行系统就会自动分配给进程一个独一无二的PID。进程中
止后PID被系统回收。2在后台运行一个yes进程:yesdev
ull3用psf命令观察yes进程的pid和ppid,用psu命令观察yes进程的状态。yes进程的父进程是哪个进程?通过查看yes程序的PPID可知其父进程为bash4根据命令名搜索特定的进程:psefgrepyes:5用kill命令杀掉yes进程:kill【PID】:
图1进程控制命令
f212进程控制系统调用(此部分操作截图见图2、3)1利用fork和wait来控制进程的执行:在exp2目录下编写一个程序fork_waitc。该程序用fork创建了一个子进程,而后子进程先输出自己的信息,再睡眠10秒后结束。父进程等待子进程,收集到子进程结束信息后输出信息,然后结束。编译:gccofork_waitfork_waitc运行:fork_wait修改此程序,使父进程先睡眠一段时间,然后再收集(wait)子进程。重新编译并在后台运行该程序(fork_wait),在子进程已终止而父进程尚未收集它时,用psu观察子进程的僵尸状态。在父进程分支的开始处调用函数sleep40睡眠40秒。用psu可以看见一个Z2利用exec置换程序的执行代码文件:在exp2目录下编写一个程序exec_testc,使子进程执行另一个程序,如echo。编译:gccoexec_testexec_testc运行:exec_test修改程序exec_testc,使子进程执行一个可持续运行一段时间命令,重新编译并r
好听全球资料 返回顶部