欢迎来到天天文库
浏览记录
ID:9997567
大小:278.00 KB
页数:8页
时间:2018-05-20
《实验三 进程的创建和简单控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浙江大学城市学院实验报告课程名称操作系统原理实验实验项目名称实验三进程的创建和简单控制学生姓名专业班级学号实验成绩指导老师(签名)日期一.实验目的和要求1.掌握进程的概念和进程的状态,对进程有感性的认识;2.掌握进程创建方法;3.认识进程的并发执行,了解进程族之间各种标识及其存在的关系;4.熟悉进程的创建、阻塞、唤醒、撤销等控制方法。二、实验内容1.了解有关Linux进程的属性和进程的层次结构;2.学习有关Linux的前台和后台进程;3.学习有关Linux命令的顺序执行和并发执行;4.学习有关挂起和终止进程
2、;5.了解并发程序的不可确定性,进行简单并发程序设计。三、实验步骤(一)Shell下的进程控制1、用ps查看进程。查看ps命令的帮助文件,尝试不同的参数,并观察结果ps–help查看更多ps的参数ps–A列出所有的进程ps–au显示较详细的信息USER进程创建者的用户名PID进程的ID号%CPU进程占用的CPU百分比%MEN进程占用内存的百分比VSZ进程占用虚拟内存的大小RSS内存中页的数量(页是管理内存的单位,在PC上通常为4K)TTY进程所在终端的ID号STAT进程的状态START进程启动的时间TIME
3、进程已经占用的CPU时间COMMAND命令和参数ps–aux显示所有包含其他使用者的进程注:top命令即时跟踪进程信息观察了下大概是5s更新一次使用CPU最多的程序排在最前面。最后用q命令退出这个监视程序。2、kill命令使用3、pstree命令使用显示系统中进程的层次结构(二)Linux简单进程编程每个步骤请运行程序、截图,并解释运行结果,回答实验指导书的问题。1、i先执行子进程,最后执行父进程,代表程序运行结束ii2个子进程分别执行一次,然后P1子进程执行一次,接着父进程执行,代表P1进程结束。P2子进
4、程执行,父进程再执行,代表P2结束。2、iP1进程先执行,然后P2进程执行,最后父进程执行ii由于函数printf()在输出字符串时不会被中断,因此,字符串内部字符顺序输出不变iii3、4、每次执行的进程号都改变iisleep(1)延长进程执行的时间删除sleep(1)后:iii删除wait()后:父子进程交替执行。wait()起到了一个,需要让父进程等待子进程结束。5、#include #include #include #include5、tdlib.h> main() { intp1;inti; while((p1=fork())==-1); if(p1==0) { printf("iamthechildprocess,myprocessidis%d",getpid()); for(i=0;i<4;i++) { sleep(3); system("/bin/ps"); } } else { wait(); printf("iamtheparentprocess,myprocessidis%d",getpid()); } }四、讨论、6、心得学会了进程的创建,sleep(),wait(),system(),等函数的作用。
5、tdlib.h> main() { intp1;inti; while((p1=fork())==-1); if(p1==0) { printf("iamthechildprocess,myprocessidis%d",getpid()); for(i=0;i<4;i++) { sleep(3); system("/bin/ps"); } } else { wait(); printf("iamtheparentprocess,myprocessidis%d",getpid()); } }四、讨论、
6、心得学会了进程的创建,sleep(),wait(),system(),等函数的作用。
此文档下载收益归作者所有