• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 关于操作系统的分段和分页的疑问

关于操作系统的分段和分页的疑问

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了倒闸操作中发生疑问时,操作中发生疑问时,操作中发生疑问,操作中发生疑问怎么办,倒闸操作发生疑问等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:关于操作系统的分段和分页的疑问
描述:

我刚看了《understanding linux kernel》前三章,关于地址映射的分段和分页有个问题:
分段时GDT中有个limit字段,一个段最长只能设置0xfffff就是1M;但是分页时一个进程可以寻址4G的空间,这有矛盾吗?分页是在分段的基础上实现的,比如一个进程的数据段首先由一个GDT或LDT数据段指定,逻辑地址转化成线性地址后再由分页机制转化成物理地址,分段已经限制了它只有1M的空间?怎么再变成4G?


解决方案1:

没有矛盾。

首先更正一下,你说的不是GDT,而是GDT/LDT中的一个Descriptor(描述符)。Descryptor中有一个Granularity(粒度)字段,以下摘自百度百科-段描述符

如果G=0,则段长度Limit范围可从1B~1MB,单位是1B;如果G=1,则段长度Limit范围可从4KB~4GB,单位是4KB。

-- 以下请忽略 --

操作系统是以Page为最小单位进行内存管理的,x86体系下,Page可以设置成4KB和4MB两种大小,但是大多数情况下都是使用4KB的Page,每个段里面可以有最多1M个Page,所以这就是我们通常说的“32位系统可以管理的最大内存数量是4GB”,然而实际上这并不正确,如果采用4MB的Page,可以管理的内存就突破了4GB这个限制(比如Windows Server能管理的内存就不止4GB,不过它用的是另一个叫做PAE的技术)。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于操作系统的分段和分页的疑问

相关文章

  • 2017-06-05 外中断汇编51单片机
  • 2017-06-05 这个电流转电压怎么工作的?电容有什么作用?
  • 2017-06-05 自制xilinx下载线遇到问题。cannotfindcable,checkcablesetup
  • 2017-06-05 4412开发板上的开发环境
  • 2017-06-05 这是一USB20接口与PC机进行双向通信的PC机方面的客户端VC++程序,请各大虾解答~~~
  • 2017-06-05 请教如何实现比特级内存拷贝,位域及其他方法探讨
  • 2017-06-05 如何用rtp封装jpeg图片,传输到vlc实时播放?
  • 2017-06-05 关于盆栽浇灌控制开关的采用
  • 2017-06-17嵌入式系统的应用领域
  • 2017-06-05 AT91SAM9260内存地址映射问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何修改驱动sys版本信息
    • STM32F103VCCAN在20K波特率时接收丢帧1%,在250K时完全正常
    • 嵌入式软件开发流程及中断调试方法
    • COM口的释放问题!
    • 刚玩STM8遇到个关于时钟的怪问题
    • 已做好的串口通信,如何改成wifi通信
    • 请教关于vxworks的rtl8111e驱动程序
    • 高手请指点,我想将一个Linux下的打印机驱动程序移植到Windows下怎么做呢???
    • 访问一个ip过程是怎么样的?
    • 求助GPS模块电子围栏算法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有