指针的类型
不同类型的指针,从内存需求的观点来说,没有什么不同!他们三个都需要足够的内存来繁殖一个机器地址,“指向不同类型之各指针”之间的差异,既不在其指针表示法不同,也不再其内容(代表一个地址)不同,而是在其所寻址出来的对象类型不同。也就是说,“指针类型”会导致编译器如何解释某个特定地址中的内存内容及其大小
1、 一个指向地址1000的整数地址,在32位机器上,将涵盖地址空间1000~10...
分类:
编程语言 时间:
2014-12-27 12:46:22
阅读次数:
163
什么是共享内存
顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用...
分类:
系统相关 时间:
2014-12-25 18:07:50
阅读次数:
305
Windows内存管理
一 地址空间
1 地址空间范围
一个程序的最大寻址范围。对于Win32操作系统最大的寻址范围为2^32(0 – 0xFFFFFFFF)。此寻址范围由CPU决定。从某种角度来说,CPU的寻址范围越大,编程难度会降低。...
错误一:“此时无足够的可用内存,无法满足操作的预期要求,可能是由于虚拟地址空间碎片造成的,请稍后重试” 安装VS2010补丁:http://xiazai.jb51.net/201007/tools/VS10-KB2251084-x86.rar
分类:
其他好文 时间:
2014-12-22 14:18:49
阅读次数:
195
物理地址:放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。如果是写,电路根据这个地址每位的值就将相应地址的物理内存中放入数据总线上的内容。物理内存是以字节(8位)为单位编址的。虚拟地址:每个进程有4GB的虚拟地址空间,每个进程...
分类:
其他好文 时间:
2014-12-20 16:43:02
阅读次数:
138
intel cpu提供Ring0-Ring3三种级别的运行模式,Ring0级别最高,Ring3最低。Linux使用了Ring3级别运行用户态,Ring0作为 内核态,Ring3状态不能访问Ring0的地址空间,包括代码和数据,一条工作在0级特权级的指令具有了CPU能提供的最高权力,而一条工作在3级特...
分类:
其他好文 时间:
2014-12-20 11:37:48
阅读次数:
177
arm exynos4412平台mmu配置以及的简单创建.
1.mmu的全称是Memory Management Unit(内存管理单元)
2.mmu所在位置.mmu再arm核心.他不是一个外设,他是arm核心的的一部分.
3.为什么要使用mmu,因为在多任务的操作系统当中,进程A,B,C都可能使一段地
D,为了保存他们访问的不是同一个物理地址,我们给每个进程4G的虚拟地址空间
然...
分类:
其他好文 时间:
2014-12-18 00:18:21
阅读次数:
222
Windows 下的进程间通讯及数据共享Windows 下有很多方法实现进程间通讯,比如用 socket,管道(Pipe),信箱(Mailslot),等等。但最基本最直接的还是使用内存共享。其他方法最终还是会绕道这里。可想而知,如果物理内存只有一份,让这份内存在不同的进程中,映射到各自的虚拟地址空间...
一、UML图
二、概念
代理模式:为其他对象提供一种代理以控制对这个对象的访问。
三、应用场景
(1)远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。
(2)虚拟代理,是根据需要创建开销很大的对象。通过他来存放实例化需要很长时间的真实对象。例如:图片加载的时候。
(3)安全代理,用来控制真是对象访问时的权限。
(4)智能指...
分类:
编程语言 时间:
2014-12-17 00:21:54
阅读次数:
268
我们都知道,在切换页表时会刷新 TLB,这样就可以使用新的地址空间,那什么是 TLB 刷新的懒惰模式呢?...
分类:
系统相关 时间:
2014-12-16 19:18:41
阅读次数:
641