内存分页机制 Linux的分页机制用来实现以页(Page)为单位的虚拟内存系统,而具体的寻址方法则是逻辑地址经过分页机制的处理转换为物理地址。 控制寄存器 CR0 Bit Name Full Name Description 0 PE Protected Mode Enable If 1, system is in protected mode, …
mm_struct 分析 上一节了解了linux(x86)的分页机制,其中有提PGD只要是来源于mm_struct,为了解进程内存相关信息,详细了解一下内存描述符的结构体--mm_struct。 mm_struct定义在include/linux/mm_types.h中,其中抽象出来的进程地址空间,如下图所示: linux的进程作为task_str…
mm和active_mm 用户态进程 tsk->mm = tsk->active_mm ---->指向内存地址; 内核态进程 tsk->mm = NULL tsk->active_mm = pre_tsk->active_mm; 具体可以参考这个链接: active_mm https://zhuanlan.zhi…
DMA Remapping 简介 Remapping硬件将来自于 集成在root-complex中 或 挂载在PCIE bus上的 设备的memory request分成两类: Requests-without-PASID:这是来自于endpoint devices的普通memory requests。它们一般指明了访问类型(read/write/…
object tree irqbalance是在一个周期内统计各个cpu的中断情况,重新对终端在分配,实现cpu均衡,其中有个比较重要的概念是 "object tree" object tree是通过系统的拓扑结构建立的分层结构.主要是NUMA node/package/cache/cpu将系统由上而下划分为四层:node-&g…
iommu简介 对于Intel的硬件辅助虚拟化方案而言核心的两大技术分别是VT-x和VT-d。 其中VT-x中主要引入了non-root模式(VMCS)以及EPT页表等技术,主要关注于vCPU的虚拟化和内存虚拟化。 而VT-d的引入则是重点关注设备直通(passthrough)方面(即IO虚拟化),我们知道DMA是可以让设备直接绕过cpu直接存取内…