软件学院计算机课程
实 验 报 告 册
课程名称 计算机操作系统
实验学期 20## 年至 20## 年 第 2 学期
学生所在院(系) 软件学院
年级 11软件 专业班级 软工(1) 班
学生姓名 朱水云 学号 1115114034
…… …… 余下全文
进 程 通 信
指导老师: 夏 建
一、实验题目
进程通信上机实验(消息缓冲通信)
二、算法思想
1、在进程管理(调度)实验基础上,加入进程通信的功能,采用消息缓冲通信机制进行通信。
2、P1发送数据给P2,P2排序后发送给P3,P3接收数据并输出。
3、 要发送的数据内容由操作者实时输入。
三、小组分工:
四、算法程序
1、 缓冲区结构
typedef struct node
{int id;
int size;
char text[100];
…… …… 余下全文
实验三 进程通讯实验报告
【姓名】…
【学号】…
【实验题目】进程通讯——消息队列与共享存储区
【实验目的】
(1) 掌握进程间通讯的编程方法;
(2) 加深对进程并发执行的理解;
(3) 学习利用消息队列和共享存储区实现进程通信的方法。
【实验内容】
设计一个多进程并发运行的程序,它由不同的进程完成下列工作:
(1)接收键盘输入进程
负责接收用户的键盘输入,并以适当的方式将由键盘获得的数据交给其它进程处理。
(2)显示进程
负责全部数据显示任务,包括键盘输入数据的显示和提示信息的显示。
(3)分发数据进程
将键盘输入的数据分为3类,即字母、数字和其它,并分别将字母写入文件letter.txt中,数字写入文件number.txt中,除字母和数字外其它数据丢弃。
【实验要求】
1、 程序能以适当的方式提示用户输入数据;
2、 提示用户有数据被丢弃;
3、 全部的显示任务必须由显示进程完成;
4、 整个程序能够连续处理多组输入数据,直到用户输入“quit”字符串,整个程序结
束;
5、 进一步要求:同时采用共享存储区和消息2种方法实现进程之间的通信,并比较
…… …… 余下全文
武 汉 工 程 大 学
计算机科学与工程学院
《操作系统》实验报告[Ⅰ]
一、实验目的
创建进程,实现消息通信和共享内存通信。了解进程的创建、退出和获取进程信息。掌握通过内存印象文件和管道技术实现进程通信。
二、实验内容
本例用三种方法实现进程通信,仅用于示例目的,没有进行功能优化。
1、 在进程A中输入一些字符,点“利用SendMessage发送消息”按钮可将消息发到进程B。
2、 在进程A中输入一些字符,点“写数据到内存映像文件”按钮,然后在进程B中点“从内存映像文件读数据” 按钮可收到消息。
3、 先在进程B中点“创建管道并接收数据” 按钮,然后在进程A中输入一些字符,点“写数据到管道文件”按钮可将消息发到进程B。(重复第3步每次可发一条消息)
三、实验思想
这次试验基本思想是通过创建进程,实现进程间通信。主要通过将数据写到内存印象文件中和创建管道来实现进程通信。
用MFC创建一个父窗体程序A和一个子窗体程序B。在主窗体程序中添加一个创建子窗体的进程B按钮和一个结束这个子窗体的按钮。然后添加3个按钮,分别叫做“利用SendMessage发送消息”、“写数据到内存印象文件”、“写数据到管道文件”,通过这3种方式来实现进程A和进程B之间的通信。
…… …… 余下全文
实验五 进程间通信
UNIX/LINUX系统的进程间通信机构(IPC)允许在任意进程间大批量地交换数据。本实验的目的是了解和熟悉LINUX支持的信号机制、管道机制、消息队列通信机制及共享存储区机制。
5.1信号机制实验(一)
【实验目的】
1.了解什么是信号。
2.熟悉LINUX系统中进程之间软中断通信的基本原理。
【实验原理】
利用signal来实现发送信号和接受信号的原理
【实验内容】
1.编写一段程序,使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按ctrl+c键),当捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到父进程发来的信号后,分别输出下列信息后终止: Child process 1 is killed by parent!
Child process 2 is killed by parent!
父进程等待两个子进程终止后,输出以下信息后终止:
Parent process is killed!
<参考程序>
# include<stdio.h>
…… …… 余下全文