在一个多任务操作系统的每个进程在其自己的沙箱的存储器执行。沙盒是一个虚拟地址空间(virtual address space)。1 32位虚拟内存布局在32下部模式虚拟地址空间始终是一个4GB内存地址块。这些虚拟地址的页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每个...
分类:
其他好文 时间:
2015-07-17 18:39:49
阅读次数:
108
在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space),在32位模式下它是一个4GB的内存地址块。在Linux系统中, 内核进程和用户进程所占的虚拟内存比例是1:3,而Windows系统为2:2(通过设置Large-Add.....
分类:
系统相关 时间:
2015-06-15 12:56:34
阅读次数:
148
Memory Layout (Virtual address space of a C process)分类:C语言基础2012-12-06 23:162174人阅读评论(0)收藏举报found a good example to demostrate the memory layout and i...
分类:
其他好文 时间:
2015-04-23 09:24:12
阅读次数:
139
内核怎样保证各个进程寻址到同一个共享内存区域的内存页面
1、page cache及swap cache中页面的区分:一个被访问文件的物理页面都驻留在page cache或swap cache中,一个页面的所有信息由struct page来描述。struct page中有一个域为指针mapping ,它指向一个struct address_space类型结构。page cache或swap cac...
分类:
系统相关 时间:
2015-04-20 20:58:37
阅读次数:
644
【51CTO专稿】本文将详细介绍Android中的防缓冲区溢出技术的来龙去脉。
1、什么是ASLR?
ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。通常情况下,黑客会利用某个特定函数或库驻存...
分类:
移动开发 时间:
2015-03-12 17:24:57
阅读次数:
254
在这篇计算机底层知识拾遗(五)理解块IO层 中讲了块缓存buffer cache块缓存,这篇说说页缓存page cache以及相关的地址空间address_space的要点。
在Linux 2.4内核中块缓存buffer cache和页缓存page cache是并存的,表现的现象是同一份文件的数据,可能即出现在buffer cache中,又出现在页缓存中,这样就造成了物理内存的浪费。Linux ...
分类:
系统相关 时间:
2015-03-11 14:58:59
阅读次数:
263
首先介绍几个重要的数据结构。 1、pagetypedef struct page {
struct list_head list;
struct address_space *mapping;
unsigned long index;
struct page *next_hash;
atomic_t count;
unsigned long flags; /* atomic fl...
分类:
系统相关 时间:
2015-03-02 11:16:22
阅读次数:
249
《Linux多线程服务器端编程》第3章主要讲的是多线程服务器的适用场合与常用的编程模型。1.进程和线程 一个进程是"内存中正在运行的程序“。每个进程都有自己独立的地址空间(address space)。将"进程"比喻为"人",每个人都有自己的记忆(memory),人与人通过谈话(消息传递)来交...
分类:
编程语言 时间:
2015-02-08 12:43:36
阅读次数:
231
在linux 平台如何配置hugepages
名词解释:
memlock - max locked-in-memory address space (KB)
1. 配置 /etc/security/limits.conf
memlock 参数
memlock 略小于物理内存 大于SGA ,假设物理内存为64G 可以这么配置
vi
/etc/sec...
分类:
其他好文 时间:
2014-12-09 00:36:30
阅读次数:
238
ASLR:
Address space layout randomization:地址空间布局随机化,是参与保护缓冲区溢出问题的一个计算机安全技术。是为了防止攻击者在内存中能够可靠地对跳转到特定利用函数。ASLR包括随机排列程序的关键数据区域的位置,包括可执行的部分、堆、栈及共享库的位置。
历史:
在1997年,Memco软件公司实现了一个有限的堆栈随机化作为SeOS访问控制产品的一部...
分类:
其他好文 时间:
2014-12-08 00:55:02
阅读次数:
438