1 .实验目的
通过进程的创建、撤消和运行加深对进程概念和进程并发执行的理解,明确进程与程序之间的区别。
答:进程和实验的区别:程序是由 多个进程 运行的程序是给用户操作 进程是给程序支持的进程是动态的,而程序是静态的。进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系。
2 .实验内容
(1)了解系统调用fork()、execvp()和wait()的功能和实现过程。
答:1.系统调用fork允许一个进程(父进程)创建新进程(子进程) 会从主程序中复制出一个新的程序,如果folk返回0就是子程序,否则那就是还是当前的程序。
2.系统调用wait 父进程用来获取子进程状态.在主程序中你可以自己决定要等待子程序返回才继续运算这样保持同步还是异步的不等子程序的结果就继续往下运行
3. execvp: 这个函数如果正常运行是不会有返回的,有返回说明启动的程序出现异常。对于没有返回的函数理解起来比较费劲,因为通常我们讲函数都会有返回的,但如果想到这个是一个独立的进程,那就可以理解了。
(2) 编写一段程序,使用系统调用fork()来创建两个子进程,并由父进程重复显示字符串“parent:”和自己的标识数,而子进程则重复显示字符串“child:”和自己的标识数。
#include<unistd.h>
#include<stdio.h>
void main()
{
int p1,p2;
while((p1=fork())<
计算机操作系统实验二之进程的控制
最新推荐文章于 2023-11-14 12:57:47 发布