实验目的:
掌握进程创建、进程载入的函数的使用,掌握进程间通信编程。 实验原理:
进程是一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活动状态的计算机程序。进程作为构成系统的基本细胞,不仅是系统内部独立运行的实体,而且是独立竞争资源的基本实体。了解进程的本质,对于理解、描述操作系统有着极为重要的意义。了解进程的活动、状态,也有利于编制复杂程序。
进程间通信(IPC,Interprocess communication)是一组编程接口,让程序员能够协调不同的程序进程,使之能在一个操作系统里同时运行。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间必须互相通话。IPC接口就提供了这种可能性。每个IPC方法均有它自己的优点和局限性。 实验内容:
1、 编写程序完成以下任务:进程一负责从键盘接收输入并通过有名管道发送给进程二,进程二负责判断输入的是字母还是数字(不论是普通数字还是字符型数字),如果是数字则通过共享内存发送给进程三,进程三将该数字放入文件中,并输出所有数字的和;如果是文字则通过共享内存发送给进程四,并在指定文件中查找该字串的位置,返回查找到的所有位置,或者是提示未找到,存入文件末。
a) 字母字符和数字字符可以连续输入,需要编写程序进行分离。 b) 进程之间通过信号量进行共享内存的同步与互斥。
c) 各进程相互独立,通过不同终端打开,不使用父子进程实现。 d) 需要查找的文件按行保存,并且字串查找的时候不用考虑跨行,可以首先确定字串所在的行,然后在确定具体位置。
e) 给出每个进程的实现思路及流程图。
实验结果与讨论:
1、谈谈你今天上实验课的收获,存在的问题或疑问。如果有实验内容以外的发现也可谈谈。
注意:写实验报告时,实验步骤不一定要全抄,可选重要的。但实验目的、实验内容以及实验步骤中提出的问题及答案一定要写。
因篇幅问题不能全部显示,请点此查看更多更全内容