进程通信读书报告

进程通信读书报告

问:Linux进程通信实验报告
  1. 答:一、实验目的:
    进一步认识并发(并行)执行的概念,区别顺序执行和并发(并行)执行。
    分析进程争用临启橘界资源的现象,学习解决进程排斥的方法。明竖
    二、实验环境:
    一台至少具有256MB内存的计算机,并安装Red Hat Linux 9的Linux操作系统。
    三、实验内容:
    1. 预备知识
    fork函数调用:创建一个新进程。
    getpid函数调用:获得一个进程的pid。
    lockf系统的调用:在进程同步控制中为进程加锁。
    2. 编写一段程序(程序名为fork1.c),使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字激旁大符“a”,子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。
    (1)进入Linux操作系统。
    (2)打开终端。进入vi编译器。
    (3)输入源程序代码。
    (4)按Esc键,进入命令模式后,输入“: wq文件名”就可以运行该程序了。
问:进程通信的优缺点
  1. 答:几种通信方法总结综上所述.进程之间的多种通信方法各自有各自的优点和缺点:如果用户传递的信息较少.或是需要通过信号来触发某些行为.前文提到的软中断信号机制不失为一种简捷有效的进程间通信方式.但若是进程间要求传递的信息量比较大或者进程间存在交换数据的要求,那就需要考虑别的通信方式了。无名管道简单方便.但局限于单向通信的工作方式.并且只能在创建它的进程及其子孙进程之间实现管道的共享:有名管道虽然可以提供给任意关系的进程使用.但是由于其长期存在于系统之中,使用不当容易出错,所以普通用户一般不建议使森核用。消息缓冲可以不再局限于父子进程.而允许任意进程通过共享消息队列来实现进程间通信.并由系统调用函数来实现消息发送和接收之间的同步.从而使得用户在使用消息缓冲进行通信时不再需要考虑同步问题.使用方便,但是信息的复制需要升团额外消耗CPU的时间.不适宜于信息量大或操作频繁的场合。共享内存针对消息缓冲的缺点改而利用内存缓冲区直接交换信息,无须复制,快捷、信息量大是其优点。但是共此笑掘享内存的通信方式是通过将共享的内存缓冲区直接附加到进程的虚拟地址空间中来实现的。因此,这些进程之间的读写操作的同步问题操作系统无法实现。必须由各进程利用其他同步工具解决。另外,由于内存实体存在于计算机系统中.所以只能由处于同一个计算机系统中的诸进程共享。不方便 通信。不同的进程通信方式有不同的优点和缺点.因此.对于不同的应用问题,要根据问题本身的情况来选择进程间的通信方式。
    一般来说,进程间的通信根据通信内容可以划分为两种:即控制信息的传送与大批数据传送。有时也把进程间控制信息的交换称为低级通信,而把进程间大批量数据的交换称为高级通信。
问:进程通信的原因
  1. 答:为了提高计算机系统的肢裂樱效率.增强计算机系统内各种硬件的并行操作能力.操作系统要求程序结构必须适应并发处理的需要.为此引入了进程的概历丛念。进程是操作系统的核心,所有基于多道程序源搭设计的操作系统都建立在进程的概念之上。目前的计算机系统均提供了多任务并行环境.无论是应用程序还是系统程序.都需要针对每一个任务创建相应的进程。进程是设计和分析操作系统的有力工具。然而不同的进程之间.即使是具有家族联系的父子进程.都具有各自不同的进程映像。由于不同的进程运行在各自不同的内存空间中.一方对于变量的修改另一方是无法感知的.因此.进程之间的信息传递不可能通过变量或其它数据结构直接进行,只能通过进程间通信来完成。
    并发进程之间的相互通信是实现多进程间协作和同步的常用工具.具有很强的实用性,进程通信是操作系统内核层极为重要的部分。
进程通信读书报告
下载Doc文档

猜你喜欢