Linux的分段和分页机制】的更多相关文章

1.分段机制 80386的两种工作模式  80386的工作模式包括实地址模式和虚地址模式(保护模式).Linux主要工作在保护模式下. 分段机制  在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB.  从逻辑地址到线性地址的转换由80386分段机制管理.段寄存器CS.DS.ES.SS.FS或GS标识一个段.这些段寄存器作为段选择器,用来选择该段的描述符. 分段逻辑地址到线性地址转换图  图9_7 分段逻辑地址到线性地址转换图 2. 分页机制 分页机制的作用  分页机制…
背景 : 在此文章里会从分页分段机制去解析Linux内存管理系统如何工作的,由于Linux内存管理过于复杂而本人能力有限.会尽量将自己总结归纳的部分写清晰. 从实模式到保护模式的寻址方式的不同 : 16位CPU的寻址方式 : 在 8086 CPU 中,提供了两类寄存器来进行寻址,分别为段寄存器(例如 CS,DS,SS)和段偏移寄存器(例如 SI,DI,SP).而这几种寄存器的长度都为16bit,寻址方式也很简单 : cs:ip = (cs << 4 + ip).也就是说 cs寄存器的值左移4位…
在上一篇文章Linux内存寻址之分段机制中,我们了解逻辑地址通过分段机制转换为线性地址的过程.下面,我们就来看看更加重要和复杂的分页机制. 分页机制在段机制之后进行,以完成线性—物理地址的转换过程.段机制把逻辑地址转换为线性地址,分页机制进一步把该线性地址再转换为物理地址. 硬件中的分页 分页机制由CR0中的PG位启用.如PG=1,启用分页机制,并使用本节要描述的机制,把线性地址转换为物理地址.如PG=0,禁用分页机制,直接把段机制产生的线性地址当作物理地址使用.分页机制管理的对象是固定大小的存…
http://blog.csdn.net/hguisu/article/details/6152921 Linux 内存管理 觉得这篇文章写分段和分页机制还是挺清晰的,在此转载一下. 前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识. 我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个技术是怎么发展而来的,在这个技术之前存在哪些技术,这些技术…
Linux分页机制之概述--Linux内存管理(六) 2016年09月01日 19:46:08 JeanCheng 阅读数:5491 标签: linuxkernel内存管理分页架构更多 个人分类: ┈┈[理解Linux内存管理] https://blog.csdn.net/gatieme/article/details/52402861 全系列 非常好 就是自己学习不会..      版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gati…
1.前言 本文所述关于内存管理的系列文章主要是对陈莉君老师所讲述的内存管理知识讲座的整理. 本讲座主要分三个主题展开对内存管理进行讲解:内存管理的硬件基础.虚拟地址空间的管理.物理地址空间的管理. 本文将主要以X86架构为例来介绍Linux内存管理的分页机制. 2.分页机制 页(Page) 将线性地址空间划分成若干大小相等的片,称为页 页框(Page Frame) 物理地址空间划分成与页大小相等的若干存储块,称为页框 图 线性地址空间与物理地址空间的映射 上图说明线性地址空间是连续的(如程序经过…
前言 本文涉及的硬件平台是X86,如果是其他平台的话,如ARM,是会使用到MMU,但是没有使用到分段机制: 最近在学习Linux内核,读到<深入理解Linux内核>的内存寻址一章.原本以为自己对分段分页机制已经理解了,结果发现其实是一知半解.于是,查找了很多资料,最终理顺了内存寻址的知识.现在把我的理解记录下来,希望对内核学习者有一定帮助,也希望大家指出错误之处. 分段到底是怎么回事 相信学过操作系统课程的人都知道分段分页,但是奇怪的是书上基本没提分段分页是怎么产生的,这就导致我们知其然不知其…
一 分段机制 1.什么是分段机制 分段机制就是把虚拟地址空间中的虚拟内存组织成一些长度可变的称为段的内存块单元. 2.什么是段 每个段由三个参数定义:段基地址.段限长和段属性. 段的基地址.段限长以及段的保护属性存储在一个称为段描述符的结构项中. 3.段的作用  段可以用来存放程序的代码.数据和堆栈,或者用来存放系统数据结构. 4.段的存储地址 系统中所有使用的段都包含在处理器线性地址空间中. 5.段选择符 逻辑地址包括一个段选择符或一个偏移量,段选择符是一个段的唯一标识,提供了段描述符表,段描…
1 linux的分页机制 1.1 四级分页机制 前面我们提到Linux内核仅使用了较少的分段机制,但是却对分页机制的依赖性很强,其使用一种适合32位和64位结构的通用分页模型,该模型使用四级分页机制,即 页全局目录(Page Global Directory) 页上级目录(Page Upper Directory) 页中间目录(Page Middle Directory) 页表(Page Table) 页全局目录包含若干页上级目录的地址: 页上级目录又依次包含若干页中间目录的地址: 而页中间目录…
1 页式管理 1.1 分段机制存在的问题 分段,是指将程序所需要的内存空间大小的虚拟空间,通过映射机制映射到某个物理地址空间(映射的操作由硬件完成).分段映射机制解决了之前操作系统存在的两个问题: 地址空间没有隔离 程序运行的地址不确定 不过分段方法存在一个严重的问题:内存的使用效率低. 分段的内存映射单位是整个程序:如果内存不足,被换入换出到磁盘的空间都是整个程序的所需空间,这会造成大量的磁盘访问操作,并且严重降低了运行速度. 事实上,很多时候程序运行所需要的数据只是很小的一部分,加入到内存的…