![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存
文章平均质量分 92
仙人掌开叉
技术宅
展开
-
进程虚拟内存
进程虚拟内存一、前言本篇从用户进程的角度来一窥LINUX内存的真面目,搞懂了用户进程的内存分配和使用方式,内核进程的也就自然明了了。下面我将从以下几个方面来分析用户进程的内存使用:虚拟内存空间与页表、内存映射、内存申请与释放、内存拷贝等。二、虚拟内存空间与页表2.1 虚拟内存空间众所周知,进程在访问内存时使用的是虚拟地址(也就是所谓的线性地址),使用的内存存在于虚拟内存空间。那么什么是虚拟内存空间呢?通俗的讲,虚拟内存空间就是在物理内存上层做了一层隔离,进程在访问内存时好像自己能够使用整个内存空间原创 2021-06-20 17:31:07 · 1061 阅读 · 1 评论 -
内存映射与共享内存
内存映射与共享内存一、 内存区域管理从前面的分析我们已经大概清楚了,内核在进行虚拟内存管理的时候,是以内存“区域”这个概念来进行的,下面我们就来详细解读一下内核是如何管理区域的呢,包括区域的组织、创建、查找等。1.1 数据结构内核使用struct vm_area_struct结构体来描述内存区域,每一个独立的内存区域都有一个对应的实例。内核中进程的虚拟地址空间是使用struct mm_struct结构体来描述的,所以内存区域的管理也是靠这个结构体的,其中相关的字段包括:struct mm_stru原创 2021-06-20 17:28:39 · 726 阅读 · 0 评论