页表

操作系统--内存管理

内存管理:   1. 单一分区分配:     用于单用户、单任务的操作系统,主存被分为两部分:驻留操作系统(内存低端)、用户进程(内存高端)   2. 多分区分配:     满足多道程序的最简单的存储管理方案,将内存划分成若干个连续区域,称为分区;每个分区只能存储一个程序,并且程序也只能在它所驻留的分区中运行     分区方法分为固定分区和动态分区,分区分...

Linux内存管理原理

本文以32位机器为准,串讲一些内存管理的知识点。 1. 虚拟地址、物理地址、逻辑地址、线性地址 虚拟地址又叫线性地址。linux没有采用分段机制,所以逻辑地址和虚拟地址(线性地址)(在用户态,内核态逻辑地址专指下文说的线性偏移前的地址)是一个概念。物理地址自不必提。内核的虚拟地址和物理地址,大部分只差一个线性偏移量。用户空间的虚拟地址和物理地址则采用了多级...

内存管理:03高端内存简介

一:通俗解释         内核空间和用户空间的地址都是虚拟地址,都要经过 MMU 的翻译,变成物理地址。用户空间的虚拟地址,通过查询页表来翻译,而内核空间虚拟地址是所有进程共享的,而且从效率角度看,如果同样走页表翻译的流程,速度太慢;于是,内核在初始化时,就创建内核空间的映射(因为所有进程共享,有一份就够了),并且,采用的是线性映射,而不是走页表翻译这...

什么是内存(二):虚拟内存

通过上一篇文章的扯淡,我们应该已经明白了存储器的层次结构,技术细节很复杂,但是思想却不难理解,因为就是很简单的缓存思想。那么本文我们开始讨论关于内存的另一个话题.虚拟内存。其实思想也是很容易理解的。 我不知道有多少人听过虚拟内存这个概念,但是虚拟内存是计算机系统最重要的概念之一,并且它成功的主要原因就是它一直在沉默的,自动的工作,换句话说,我们这些做应用的...

DPDK 网络加速在 NFV 中的应用

目录 文章目录 目录 前文列表 传统内核协议栈的数据转发性能瓶颈是什么? DPDK DPDK 基本技术 DPDK 架构 DPDK 核心组件 应用 NUMA 亲和性技术减少跨 NUMA 内存访问 应用 CPU 绑核技术减少上下文切换损耗 应用大页内存技术减少 TLB miss 应用 PMD 轮询技术减少网卡外设的硬件中断 应用 UIO 和内存池技术减...

Linux-3.14.12内存管理笔记【建立内核页表(3)

前面已经分析了内核页表的准备工作以及内核低端内存页表的建立,接着回到init_mem_mapping()中,低端内存页表建立后紧随着还有一个函数early_ioremap_page_table_range_init(): 【file:/arch/x86/mm/init.c】 /* * Build a proper pagetable for the ke...

Linux-3.14.12内存管理笔记【建立内核页表(1)】

前面已经分析过了Intel的内存映射和linux的基本使用情况,已知head_32.S仅是建立临时页表,内核还是要建立内核页表,做到全面映射的。下面就基于RAM大于896MB,而小于4GB ,切CONFIG_HIGHMEM配置了高端内存的环境情况进行分析。 建立内核页表前奏,了解两个很关键的变量: max_pfn:最大物理内存页面帧号; max_low_...

操作系统开发:启用内存分页机制

该系列文章是在学习《操作系统真相还原》时通过阅读后简化并适当描述整理的学习笔记,首先,致敬作者郑刚博士,在读本书时能深刻的感觉到作者写书时一丝不苟的态度,书很厚写的,讲解细致幽默,很能让人愿意继续读下去,同时也不得不佩服作者计算机底层功力的深厚。 本文章只是学习笔记,并非原创作品,你可以任意转载,请保留原作者(郑刚)版权信息。 目前我们已进入保护模式,但依...

《操作系统》课程笔记(Ch08-内存管理策略)

背景知识 基地址寄存器含有最小的合法物理内存地址,界限地址寄存器指定了范围的大小,两者共同定义了逻辑地址空间,即进程可以合法访问的地址范围。 CPU生成的地址是逻辑地址,内存单元看到的地址是物理地址。从虚拟地址(逻辑地址)到物理地址的映射是内存管理单元MMU完成的,基地址寄存器(在这称为重定位寄存器)内容加上逻辑地址即为物理地址。 用户只生成逻辑地址,逻...

Linux内存管理(转)

一、内核空间 1.1 页 页(page)是内核的内存管理基本单位。 ==> linux/mm_types.h 1 struct page { 2 page_flags_t flags; 页标志符 3 atomic_t _count; 页引用计数 4 atomic_t _mapcount;...