1、编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。 2、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter …'及'son ……',父进程显示 'parent ……',观察结果,分析原因。 3、编写程序:用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按^c键);捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child process1 is killed by parent! Child process2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent process is killed! 4、分析利用软中断通信实现进程同步的机理
2022-10-23 19:33:43 624KB 进程管理 操作系统 实验 报告
1
实验报告二Linux进程管理 目的:了解Linux系统中进程通信的基本原理;学会使用Linux系统中关于进程通信的一些系统调用。 任务: 2-1.编制实现软中断通信的程序 2-2.编制实现管道通信的程序实验步骤: 2-1.实验环节: 1.输入命令vim file.c创建文件 2.代码如下: 3.使用命令gcc file.c –o file进行编译,./file运行,结果如下: 首先使用系统调用函数fork()创建两个子进程,再用系统调用函数signal()让父进程捕捉信号SIGINT(用kill命令来触发), 2-2.实验环节: 1.输入命令vim file1.c创建文件 2.代码如下: 3.使用命令gcc file1.c –o file1进行编译,./file1运行,结果如下: 使用系统调用 pipe()函数建立一条管道线
2022-09-16 21:00:51 445KB 计算机系统
1
一、 实验目的 通过编写进程管理的算法,要求学生掌握整个进程管理的各个环节,进程的数据结构描述,进程的各种状态之间的转换,以及进程的调度算法。以加深对进程的概念及进程调度算法的理解,并且提高链表的应用能力,达到提高编程能力的目的。 二、 实验原理及基本技术路线图(方框原理图) 用C语言或C++语言开发。需要定义PCB的数据结构,用链表的形式管理进程,采用多级反馈队列调度的算法模拟进程的控制。要求有创建、撤销、调度、阻塞、唤醒进程等功能。
实验1:熟悉Linux系统与进程管理 熟悉Linux系统,几个基本命令的使用,vi编辑器和gcc编译器,进程管理
1
程的创建实验、进程的控制实验、进程互斥实验、守护进程实验、 信号机制实验、进程的管道通信实验、消息的发送与接收实验、 共享存储区通信
2021-10-28 19:39:03 404KB 大二下
1
1、加深对进程概念的理解,明确进程和程序的区别。 2、进一步认识并发执行的实质。 3、分析进程竞争资源现象,学习解决进程互斥的方法。 4、了解Linux系统中进程通信的基本原理。
2021-10-13 09:10:51 342KB 思想 活动
1