![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存管理
bysun2013
专注于Linux,研究学习Linux内核编程
展开
-
Linux内存地址
Linux的分段Linux uses segmentation in a very limited way. In fact, segmentation and paging are somewhat redundant, because both can be used to separate the physical address spaces of processes: segment原创 2013-11-08 17:17:27 · 1298 阅读 · 0 评论 -
Linux内存页面分配
在Linux中,对物理内存的管理是怎么实现的呢?对页面的分配和回收是如何实现的呢?Linux中对物理内存的管理是通过zone来管理的,以X86为例,16MB以下的物理内存为DMA zone;896MB以下的区域为normal zone;然后896MB以上的区域统称为HighMemory zone;然后在分配内存的时候,可以指定区域来实现在某个特定的zone分配页面;那么zone又是原创 2013-11-21 21:47:33 · 1482 阅读 · 0 评论 -
对Linux内存管理的整体理解
内存的分配归根到底是伙伴系统的分配;伙伴系统之上就是zone,它对内存的预留空间的设置和管理;__alloc_pages()是内核中对内存页面分配的最核心函数,它尽最大能力的分配所需要的内存页;slab是为了频繁利用的结构体而设置的cache,其基于页的分配;最后,连续虚拟内存的分配(vm_struct),基本操作就是先分配不连续的页面page,然后将这些page与页表项关联;这些原创 2013-11-26 21:19:31 · 813 阅读 · 0 评论 -
Linux内核的Wiriteback写回机制
The kernel page cache contains in-memory copies of data blocks belonging to files kept in persistent storage. Pages which are written to by a processor, but not yet written to disk, are accumulated原创 2014-06-07 23:06:32 · 1515 阅读 · 0 评论 -
Linux 3.8 Writeback机制源码分析
writeback机制源码分析writeback相关数据结构与writeback相关的数据结构主要有:1,backing_dev_info,该数据结构描述了backing_dev的所有信息,通常块设备的request queue中会包含backing_dev对象。2,bdi_writeback,该数据结构封装了writeback的内核线程以及需要操作的inode原创 2014-06-07 21:56:11 · 4472 阅读 · 0 评论 -
Linux内核开机保留大块内存的方法总结
在开机保留内存的方式一共有三种方法:1. reserve_bootmem(addr,size,flag)2. alloc_bootmem(size)原创 2014-03-02 10:22:25 · 2137 阅读 · 0 评论