编译连接装载
文章平均质量分 67
evilcode
这个作者很懒,什么都没留下…
展开
-
一次内存紧缩
在linux系统下,一块内存被C的free函数或者C++的delete函数显式释放后,释放掉的内存不一定马上交还给系统。简单地说,系统通过动态分配给进程的内存分为两部分: mmap和brk. mmap在进程的虚拟地址空间中找出一块空闲区域分配给进程,释放后马上归还给系统; brk在进程数据段内找到一块空闲区域给系统,是通过push _edata栈顶指针实现。两种情况下都不会直接分配物理内存,只有在访问虚拟空间地址产生缺页中断的时候才会建立虚拟地址与内存地址间的映射。brk分配的内存在被释放后,如果堆栈高地址转载 2021-07-12 21:28:17 · 446 阅读 · 0 评论 -
Linux平台的ASLR机制
https://blog.csdn.net/Plus_RE/article/details/79199772转载 2021-07-12 21:19:44 · 339 阅读 · 0 评论 -
Linux虚拟地址空间布局
转自:https://www.cnblogs.com/clover-toeic/p/3754433.html 在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space),在32位模式下它是一个4GB的内存地址块。在Linux系统中, 内核进程和用户进程所占的虚拟内存比例是1:3,而Windows系统为2:2(通过设置Large-Address-Aware Executables标志也可为1:3)。这并不意味着内核使用那么多物理...转载 2021-07-12 21:09:26 · 218 阅读 · 0 评论