- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 Linux6.1.79 地址空间描述符(struct address_space)
该结构表示一个文件的页缓存,建立文件偏移量到物理内存页(page cache)之间的映射关系,用于管理文件已映射到内存(或已缓存到内存)的物理页。注:当文件的一部分已经被读入内存,而另一部分还没有被读入时,页面会被标记为。读取大文件时,系统可能不会一次性将整个文件加载到内存中。文件是否已经部分更新到内存页中。
2025-10-05 18:30:05
779
原创 Linux6.1.79-内存回收扫描控制描述符(scan_control)
scan_control结构体用于描述控制内存回收(memory reclamation)过程中的各种参数和信息。主要在页面回收(page reclaim)机制中使用。计算扫描页数时,作为右移参数。要扫描的内存区域(zone)的索引。休眠模式下是否开启内存回收。
2025-10-04 00:00:07
397
原创 Linux6.1.79-sysfs文件系统
摘要: sysfs是基于内存的文件系统,用于将设备层级结构映射到用户空间,便于调试驱动。它通过kernfs模块实现,分为目录、文件和链接三类。核心数据结构包括kernfs_node(维护文件层级)、kobject(设备模型基础)、kset(管理kobject集合)及attribute(属性文件)。用户空间无法直接创建sysfs文件,需通过内核模块调用专用函数(如kobject_create_and_add、sysfs_create_file等)实现。文件操作由kernfs_file_ops处理,与设备驱动模
2025-08-31 17:49:08
539
原创 Linux6.1.79 匿名内存区描述符(struct anon_vma)
成员类型 成员名 功能说明(内核选项) struct anon_vma * root 该匿名内存区树的根节点 struct rw_semaphore rwsem 读写信号量:W,修改;R,遍历链表 atomic_t refcount 匿名内存区引用计数,最后一个使用者负责释放 unsigned long num_children 子节点数量 unsigned long num_active_vmas 指向该匿名内存区
2024-08-04 19:02:55
234
原创 Linux6.1.79 虚拟内存区描述符(VMA,struct vm_area_struct)
define VM_MAYWRITE 0x00000020 若设置,表示该内存区域上可以设置VM_WRITE标志位。#define VM_MAYSHARE 0x00000080 若设置,表示该内存区域上可以设置VM_SHARE标志位。#define VM_MAYREAD 0x00000010 若设置,表示该内存区域上可以设置VM_READ标志位。
2024-08-04 18:48:14
951
原创 Linux6.1.79 内存描述符(struct mm_struct)
获取进程用户空间中未被映射的内存区域新式布局下,兼容性内存映射(mmap)的起始地址(CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES,64位应用调用32位mmap系统调用,或者32位应用调用64位mmap系统调用)经典布局下,兼容性内存映射(mmap)的起始地址(保护启动相关信息的自旋锁:架构相关的内存管理上下文。以arm64架构为例:引入ASID版本号,避免每次进程切换都需要清空页表缓存,只需要在硬件ASID回绕时把处理器的页表缓存清空。
2024-07-20 18:35:14
1508
原创 Linux虚拟内存管理
这些操作包括在已映射的地址段内查找特定的地址,或者追加一个代表新映射的虚拟地址区间(VMA)。大多数操作系统都实现了缓冲区缓存(buffer cache),该缓存是一个管理内存块链表的框架,其内存块用于缓存持久性存储磁盘块。当一个新VMA被映射到现有的VMA之前或之后,并且和现有的VMA带有相同的访问属性,数据也是来自文件备份内存区域时,合并为一个VMA是更理想的。虚拟地址空间都是通过匿名内存映射分配的。虚拟地址子系统把进程的所有表示匿名内存区域放到一个链表里,并通过一个aon_vma类型的描述符来表示。
2024-07-07 16:28:28
497
原创 Linux6.9发布-内存子系统更新
当系统有多个NUMA(非一致性内存访问)节点,且 带宽匮乏(bandwidth hungry);那么使用加权交叉策略可能是一个明智的选择。然而,如果这些NUMA节点由不同类型的内存组成,比如 通过插座连接的内存条(socket-attached DRAM)和CXL/PCIe连接的内存条(CXL/PCIe attached DRAM), 基于轮转的交叉策略无法利用不同的带宽特性较优地分发数据。相反,以遵循每个NUMA节点的带宽权重而不是均匀的分配策略(allocation policy),交错会更高效。
2024-07-07 15:52:52
950
1
sfdp(Serial Flash Discoverable Parameters)
2019-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅