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
昆明理工大学信息工程与自动化学院学生实验报告 ( 2010 —2011 学年 第 二 学期 ) 课程名称:操作系统 开课实验室:信自楼444 2011 年 4 月 10 日 "年级、专业、班" "学号 " "姓名 " "成绩 " " "实验项目名称 "进程管理 "指导教师 " " "教 " " "师 " " "评 "教师签名: " "语 "年 月 日 " 一、实验目的 通过编写进程管理的算法,要求学生掌握整个进程管理的各个环节,进程的数据结 构描述,进程的各种状态之间的转换,以及进程的调度算法。以加深对进程的概念及进 程调度算法的理解,并且提高链表的应用能力,达到提高编程能力的目的。 二、实验原理及基本技术路线图(方框原理图) 用C语言或C++语言开发。需要定义PCB的数据结构,用链表的形式管理进程,采用多 级反馈队列调度的算法模拟进程的控制。要求有创建、撤销、调度、阻塞、唤醒进程等 功能。 进程的状态转换图 数据结构定义、主要变量的说明、函数的说明及各原语的功能说明 typedef struct PCB 定义结构体PCB进程控制块;char NAME[20] 定义结构体变量,进程名;
2022-06-23 09:04:12 753KB 文档资料
一、 实验目的 通过编写进程管理的算法,要求学生掌握整个进程管理的各个环节,进程的数据结构描述,进程的各种状态之间的转换,以及进程的调度算法。以加深对进程的概念及进程调度算法的理解,并且提高链表的应用能力,达到提高编程能力的目的。 二、 实验原理及基本技术路线图(方框原理图) 用C语言或C++语言开发。需要定义PCB的数据结构,用链表的形式管理进程,采用多级反馈队列调度的算法模拟进程的控制。要求有创建、撤销、调度、阻塞、唤醒进程等功能。
操作系统进程管理实验
2022-04-23 16:54:57 10KB 进程管理
1
实验1:熟悉Linux系统与进程管理 熟悉Linux系统,几个基本命令的使用,vi编辑器和gcc编译器,进程管理
1
关于操作系统模拟进程管理的实验,包括创建、阻塞、唤醒原语等,以及内存的分配与回收。
2021-11-28 14:35:03 244KB 操作系统 进程管理 伙伴系统
1
(1) 进程的创建编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。(2) 进程的控制修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。(3) 编制一段程序,使其实现进程的软中断通信。要求:使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按Del键);当捕捉到中断信号后,父进程调用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent process is killed! 在上面的程序中增加语句signal(SIGINT, SIG_IGN)和 signal(SIGQUIT, SIG_IGN),观察执行结果,并分析原因。(4) 进程的管道通信编制一段程序,实现进程的管道通信。使用系统调用pipe( )建立一条管道线;两个进程P1和P2分别向管道各写一句话: Child 1 is sending a message! Child 2 is sending a message! 而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。
2021-11-19 21:10:05 84KB 父进程、子进程、软中断通信
1
用c语言模拟进程管理 1、首先构建进程的数据结构 2、实现建立进程 3、三种基本状态的队列 4、将进程入队 5、实现进程在队列之间的转换 6、进程通信
2021-11-15 18:31:06 2KB 进程管理 c语言 队列变化 进程通信
1
程的创建实验、进程的控制实验、进程互斥实验、守护进程实验、 信号机制实验、进程的管道通信实验、消息的发送与接收实验、 共享存储区通信
2021-10-28 19:39:03 404KB 大二下
1