河西无名式

月影星痕

linux 高端内存页框管理:永久内核映射、临时内核映射以及非连续内存分配

摘要:高端内存页框的内核映射分为三种情况:永久内核映射、临时内核映射和非连续内存映射。那么这三者有什么区别和联系呢?临时内核映射如何保证不会被阻塞呢?本文主要为你解答这些疑问,并详细探讨高端内存映射的前两种方式。 1.高端内存的区域划分 内核将高端内存划分为3部分:VMALLOC_ST...

2013-10-25 10:41:53

阅读数:4212

评论数:0

内存管理(一)页框管理概论

摘要:对内存管理涉及两个大的方面,一个是物理内存的管理,另一个是虚拟内存的管理,前者是“RAM管理”,后者是进程地址空间的管理,它们二者使用page fault联系起来。在RAM管理这一节,我们主要讲解页框管理和内存区管理,分别介绍对连续物理内存处理的两种不同技术。而“非连续内存区管理”分别介绍处...

2013-10-25 10:48:13

阅读数:2235

评论数:0

linux 源码arch目录下的处理器介绍与处理器架构总结 与 32/64位操作系统和CPU

摘要:在平时安装操作系统的过程中,我们经常碰到镜像文件i386,X86_64这样的关键字,二者有什么主要区别?研究linux源码的时候,同样的函数在arch目录下不同的文件中定义,有什么区别,这些处理器代表什么?等等。本文主要为你简介linux arch目录下的相关处理器,然后总结和对比一下现有的...

2013-10-24 23:40:16

阅读数:2778

评论数:0

进程页表与内核页表:页表的初始化

linux刚刚加电启动时,如何从实模式进入保护模式?启动分页机制的前提是什么?如何保证分页机制之前和之后通过实地址和虚拟地址都能访问到同一个物理地址呢?内核页表是如何进行初始化的?用户进程不能访问内核的数据是在初始化的哪个阶段决定的?这些内容,都牵扯到 linu的进程页表和内核页表,以及内核页表的...

2013-10-24 20:10:44

阅读数:4239

评论数:0

内存寻址(二):linux中的分段与分页机制

摘要:本文主要为你讲解linux中的分段和分页机制的实现原理,相关的宏定义和函数功能。 1.linux中的分段 除了用来模拟80286的模式以外,段式基地址总是0(也就是说linux并没有真实地实现分段机制),所以线性地址和虚拟地址总是一样的。运行在所有用户态的linux进程都使用一对相同的...

2013-10-22 22:35:59

阅读数:2468

评论数:0

内存寻址(一)硬件寻址的基本原理:硬件中的分段和分页机制,控制寄存器CR0与CR3

摘要:本文讲述8086怎样进行芯片级别的内存寻址,linux又是如何在这些硬件的基础上进行寻址的。本文主要讨论硬件和linux寻址的基本原理,后续将讨论分页机制的具体实现,内核如何给自己分配主存,怎样给进程分配线性地址。 一、寻址流程 逻辑地址经过分段单元形成线性地址,然后经过分页单元形成物理地址...

2013-10-18 15:11:26

阅读数:2772

评论数:0

内存管理:物理地址扩展(PAE)分页机制

摘要: Intel通过在处理器上把管脚数从32增加到36,以提高处理器的寻址能力,使其达到2^36=64GB,然而线性地址的位数仍然是32位,为此,需引入一种新的分页机制。从pentium pro处理器开始,intel引入一种PAE机制,另外一种叫做页大小扩展机制(PSE)在pentium III...

2013-10-18 14:31:31

阅读数:3499

评论数:1

ERR_PTR,PTR_ERR还有IS_ERR函数详解

内核中的函数常常返回指针,问题是如果出错,也希望能够通过返回的指针体现出来。 总体来说,如果内核返回一个指针,那么有三种情况:合法指针,NULL指针和非法指针。 1)合法指针:内核返回的指针一般是指向页面的边界(4K边界),即 ptr & 0xfff == 0 2)非法...

2013-07-11 10:24:20

阅读数:2337

评论数:0

linux 用户空间与内核空间——高端内存详解

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。 Linux内核地址映射模型 x86 CPU采用了段页式地址...

2013-07-11 09:52:26

阅读数:4929

评论数:2

保护模式编程之(一)——分段机制与GDT/LDT

概述:若想理解操作系统程序中的启动相关的部分,必须要理解保护模式下的编程,而分段机制是保护模式编程下的基础。另外,由于实模式与保护模式的不同,对保护模式下的分段机制更需要注意。同时,这一部分的基本数据结构是以后理解代码跳转的基础,必须要熟练。 1.段的定义         段是虚拟地址到线...

2013-05-24 10:51:31

阅读数:2942

评论数:0

实模式与保护模式解惑之(一)——二者的起源与区别

概述:实模式和保护模式是处理器发展的两个非常重要的阶段。这两个模式下的编程也有着显著的不同,弄明实模式与保护模式的区别是理解操作系统运行原理和编写操作系统的基础。本文主要讲解了实模式和保护模式的区别和保护模式的起源,侧重点在二者寻址方式上的差异。 1.保护模式的起源     最开始的程序寻址...

2013-05-21 11:42:18

阅读数:8533

评论数:3

提示
确定要删除当前文章?
取消 删除
关闭
关闭