【计算机基础】计算机操作系统总结笔记

  • 参考书籍:《计算机操作系统第4版》
  • 前面部分没记笔记总结,很久前看过,记不清楚了,因此重新再理解一遍;

第2章 进程的描述与控制

2.6 进程通信

进程通信是指进程之间的信息交换。前面章节中的信号量机制等只是低级的通信工具,因为OS只为进程之间提供了共享存储器。而关于进程之间通信所需要的共享数据结构的设置、数据的传送、进程的互斥和同步都需要程序员去实现,显然对于用户而言这是非常不方便的。
因此,在进程之间要传送大量数据的时候,应当利用OS提供的高级通信工具,该工具应该具有使用方便、高效地传送大量数据的特点。

2.6.1 进程通信的类型

目前,高级进程通信机制可归结为4大类:共享存储器系统、管道通信系统、消息传递系统以及客户机-服务器系统。

1. 共享存储器系统(Shared-Memory System)

在共享存储器系统中,相互通信的进程共享某些数据结构或者共享存储区,进程之间能够通过这些空间进行通信。
(1)基于共享数据结构的通信方式。(就是一个数据结构)
在这种通信方式中,要求进程公用某些数据结构,借以实现诸进程之间的信息交换;
如在生产者-消费者问题中的有界缓冲区。操作系统仅提供共享存储器,由程序员负责对公用数据结构的设置及对进程间同步的处理
这种通信方式仅适用于传递相对少量的数据,通信效率低下,属于低级通信。
(2)基于共享存储区的通信方式。
为了传输大量数据,在内存中划出了一块共享存储的区域,诸进程可通过对该共享区域的读或写交换信息,实现通信,数据的形式和位置甚至访问控制都是由进程负责,而不是OS。这种通信方式属于高级通信。需要通信的进程在通信前,先向系统申请获得共享存储区中的一个分区,并将其附加到自己的地址空间中,便可以对其中的数据进行正常读、写,读写完成或不再需要时,将其归还给共享存储区。

猜你喜欢

转载自blog.csdn.net/qq_43348528/article/details/106669317