嵌入式Linux进程间通信(一)——进程进程是程序的实例化,是运行中的程序。程序在编译时用链接器,运行时用加载器。进程运行在虚拟地址空间,操作系统中每个进程在独立的地址空间中运行,每个进程的而逻辑地址空间均为4GB(32位系统),0-1G位OS,1G-4G为应用。每个进程都有一..
分类:
系统相关 时间:
2016-07-06 18:42:36
阅读次数:
174
内存地址 当使用80x86微处理器时,必须区分以下三种不同的地址: 1)逻辑地址(logical address),每一个逻辑地址都由一个段(segment)和偏移量(offset或者displacement)组成,偏移量指明了从段开始的地方到实际地址之间的距离。 2)线性地址(linear add ...
分类:
系统相关 时间:
2016-06-26 00:35:16
阅读次数:
216
1. HDMI CEC算是一个相当庞大的系统,想了解还要从HDMI接口信号啊、物理地址啊、逻辑地址啊等等HDMI基础的东西说起。 2. 不过可以简单的这么理解,在HDMI CEC最小系统里,所有通过HDMI连接在一起的设备(包括电视、DVD、机顶盒等等) 在物理连接上,各自的CEC的是全部连接在一起 ...
分类:
其他好文 时间:
2016-06-04 10:29:02
阅读次数:
771
逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分 ...
分类:
其他好文 时间:
2016-05-26 23:21:21
阅读次数:
237
背景: 编写了一个MapReduce程序,发现该程序内存占用非常多,需要有一种方法来分析内存详细的占用情况。 可以使用linux上的pmap –d 来看进程逻辑地址空间使用情况,但是会有很多anno区域,显然这不能够满足同学们的好奇心。 在这篇文章Eclipse远程调试HDP源代码中,提到使用JMX... ...
分类:
编程语言 时间:
2016-05-26 09:56:53
阅读次数:
167
STL都是在内存的堆区分配的,但是其析构也是STL帮我们做好的,不用手动去delete。 1.vector 逻辑地址连续的一片内存空间,当空间不足,重新申请新的地址空间,将原有的数据复制过去,而新的地址空间的大小C++没有规定,依赖于编译器的实现。在VC++中是原来的1.5倍,而g++中则是原来的2 ...
分类:
编程语言 时间:
2016-05-25 22:00:52
阅读次数:
151
物理地址空间:硬件支持的地址空间。 逻辑地址空间:在CPU运行的进程看到的地址。 一、连续内存分配: 1.匹配策略: 最先匹配策略:空闲分区列表按地址顺序排序,遇到第一个大于所需空间的空闲分区就分配。 最佳匹配策略: 空闲分区列表按从小到大排序,遇到第一个大于所需空间的空闲分区就分配(即大于所需空间 ...
分类:
其他好文 时间:
2016-05-22 19:57:42
阅读次数:
168
操作系统进行段式寻址时,将seg:offset形式的逻辑地址转换成线性地址。例如 SelectorCode32是段选择子,它指向GDT/LDT表中的一个表项,GDT/LDT中的每个表项中有所指向的代码或数据的段地址 在上面的代码中,初始化了GDT表和选择子。选择子的值是表项的偏移量。GDT中的表项指 ...
分类:
其他好文 时间:
2016-05-22 00:34:30
阅读次数:
165
网络模型 OSI 开放系统互联(open system Interconnection)TCP/IP参考模型 网络通讯要素 IP地址: 1.网络设备的标示 2.不易记忆,可以用主机名 3.本地回环地址:127.0.0.1 主机名:XZF 端口号(定位程序) 1.用于标示进程的逻辑地址,不同进程的标示 ...
分类:
其他好文 时间:
2016-05-16 20:02:04
阅读次数:
225
linux 内存管理基于分段、分页把逻辑地址转换为物理地址,同时有些RAM永久的分配给了内核使用用来存放内核代码以及静态数据。其余的RAM为动态内存。linux中采用了很多有效的管理方法,包括页表管理、高端内存(临时映射区、固定映射区、永久映射区、非连续内存区)管理、为减小外部碎片的伙伴系统、为减小内部碎片的slab机制、伙伴系统未建立之前的页面分配制度以及紧急内存管理等等。。
...
分类:
其他好文 时间:
2016-05-07 10:35:11
阅读次数:
268