欢迎来到天天文库
浏览记录
ID:58370994
大小:196.50 KB
页数:16页
时间:2020-04-30
《操作系统-(第三次、第四次实验).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、操作系统课程实验报告姓名XX学号系计算机任课教师XX指导教师XX评阅教师贺辉实验地点综合楼B102实验时间2012/10/24实验课表现出勤和个人表现Q1(15+15(组长评分)=30分)得分:实验总分(Q1+Q2+Q3)实验完成情况Q2(60分)得分:体会实验过程中遇到的问题解决办法与实验体会Q3(10分)得分:实验编号与实验名称:实验目的:1 管理Linux系统进程1)回顾系统进程的概念,加深对Linux/UNIX进程管理的理解。2)回顾ps命令和选项。3)列出当前shell中的进程。4)列出运行在系统中的所有进程。2 进程互斥实验1、进一步认识并发执行的实质2、通过分析
2、实验结果,分析进程竞争资源的现象,学习解决进程互斥的方法3 进程的控制实验1、掌握进程另外的创建方法:需认真分析实验结果,体会本次实验进程创建方法与fork的不同2、通过分析实验结果,熟悉进程的睡眠、同步、撤消等进程控制方法实验内容 1、用fork()创建一个进程,再调用exec()用新的程序替换该子进程的内容2、利用wait()来控制进程执行顺序实验内容及要求(详见实验讲义与实验指导书):实验用到的软件(:)实验内容及关键步骤(代码)Q2(60分)步骤1:登录进入Linux。步骤2:访问命令行。单击“系统工具”-“终端”命令,打开“终端”窗口。步骤3:回顾系统进程概念。每
3、个运行的程序都会创建一个进程,进程分配到一个唯一的进程标识符(PID)。PID被系统用于标识和跟踪进程,直到进程结束。1)Linux系统中,几乎每一个启动的进程,都会由内核分配一个唯一的______PID_________,用于跟踪从进程启动到进程结束。2)当启动新进程的时候,内核也给它们分配系统资源,如__CPU______和____RAM____。3)永远不向父进程返回输出的进程叫做___僵进程___________。4)由父进程派生出来的进程叫做___________子_______进程。5)________父________进程是一个派生另一个进程的进程。6)运行用于提
4、供服务的Linux系统进程是__sched(调度)和init(初始化)_____________。7)如果父进程在子进程之前结束,它创建了一个______孤儿________进程。步骤5:列出系统中运行的所有进程。输入ps-ef命令,显示运行在系统中的各个进程的完全信息。执行该命令,并与ps–f命令的输出结果对照,一致吗?有何不同?不一致:Ps–ef:Ps–f:Psef表示的是所有进程的完整列表,而ps–f表示的是一个进程的完整列表。在范围上不一样。注意分析当前终端窗口中的输出结果:a.显示了多少个进程?___________________144_______________
5、_________________________________b.PID是什么?进程的进程标识号。PID可以用来杀死进程______________________________________________________________c.启动进程的命令(CMD)是什么?命令名守护进程执行的程序的名字_____________________________________________d.请观察,什么命令的PID号是1?__________sbin/init__________________________________________________e.再
6、次运行 ps-ef
7、wc-l命令,计算进程的数目并把输出结果输入到wc命令中:____________144________________________________________________________执行manps命令,可以打开Linux用户命令手册,了解ps命令的用法,输入wq命令可退出用户手册的阅读。man命令可以执行吗?结果如何?可执行______________________________________________________________试调试下二段代码。并写明结果(考虑fork与sleep是什么函数)1.intmain(){int
8、p1,i;while((p1=fork())==-1);if(p1>0) for(i=0;i<5;i++) { printf("Iamparent."); sleep(1); }else for(i=0;i<5;i++) { printf("Iamchild."); sleep(1); }return0;}结果:2、intmain(){intp1,i;while((p1=fork())==-1);if(p1>0)
此文档下载收益归作者所有