操作系统实验报告 (7)实验名称:进程管理 学号 班级 姓名 1 实验目的: (1)加深对进程概念的理解,明确进程和程序的区别
(2)进一步认识并发执行的实质
(3)分析进程竞争资源现象,学习解决进程互斥的方法
(4)了解 Linux 系统中进程通信的基本原理
2 实验预备内容: (1)阅读 Linux 的 sched
h 源文件,加深对进程管理概念的理解
(2)阅读 Linux 的 fork
c 源文件,分析进程的创建过程
3 实验内容: (1)进程的创建 编写一段源程序,使系统调用 fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动
让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”
试观察纪录屏幕上的显示结果,并分析原因
(2)进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因
假如在程序中使用调用 lockf()来给每一个子进程加锁,可以实现进程之间的互斥,观察并分析出现的现象
(3)①编写一段程序,使其现实进程的软中断通信
要求:使用系统调用 fork()创建两个子进程,再用系统调用 signal()让父进程捕捉键盘上来的中断信号(即按 DEL 键);当捕捉到中断信号后,父进程用系统调用 Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Processll is Killed by Parent
Child Processl2 is Killed by Parent
父进程等待两个子进程终止后,输出如下的信息后终止 Parent Process is Killed
② 在上面的程序中增加语句 signal (SIGNAL, SIG-IGN) 和 signal (