linux进程间通信之共享内存学习记录
Posted horiboy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux进程间通信之共享内存学习记录相关的知识,希望对你有一定的参考价值。
进程
狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。
进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。
虚拟内存与物理内存
每开辟一个进程,操作系统就会生成一个存储空间(通常是4G)用于管理进程的资源。如果每个进程的资源是完全独立的,那么所有资源的存储空间需要你n*4G,我们的计算机根本无法满足。另外,计算机对于进程资源的调度是在物理内存里进行的,所以操作系统需要一定的管理策略才可以保证进程正常的执行。
详情可以看这篇介绍https://www.cnblogs.com/panchanggui/p/9288389.html
进程间通信(IPC)
在计算机的内存,进程之间很多时候并不是独立的,需要进行数据的传输,也就是通信。共享内存是所有通信中读取速度最快的一种方式。
这篇博客主要讲了共享内存的概念和代码例子https://www.cnblogs.com/HKUI/articles/9658591.html
这篇博客主要讲通过以下调试信息,分析进程中的共享内存占用情况https://blog.csdn.net/qq_39584315/article/details/80311070
引用博文:
https://www.cnblogs.com/panchanggui/p/9288389.html
https://www.cnblogs.com/HKUI/articles/9658591.html
https://blog.csdn.net/qq_39584315/article/details/80311070
以上是关于linux进程间通信之共享内存学习记录的主要内容,如果未能解决你的问题,请参考以下文章