Linux操作系统基础知识之二:内存寻址
来源:互联网 发布:js获取偶数行 编辑:程序博客网 时间:2024/06/14 16:01
A:
1) 将主板上的物理内存条所提供的内存空间定义为物理内存空间,其中每个内存单元的实际地址就是物理地址;
2) 将应用程序员看到的内存空间定义为虚拟地址空间(或地址空间),其中的地址就叫做虚拟地址(或虚地址),一般用“段:偏移量”的形式来描述,如A815:CF2D;
3) 线性地址空间是指一段连续的、不分段的、范围为0~4GB的地址空间,一个线性地址就是线性地址空间的一个绝对地址。
Q2. 在保护模式下,MMU如何把一个虚地址转换为物理地址?
A:在保护模式下,内存管理单元(MMU)由一个或一组芯片组成,其功能是指虚拟地址映射为物理地址,即进行地址转换;MMU是一种硬件电路,它包含分段部件和分页部件两个部件,分别叫做分段机制和分页机制,分段机制是把一个虚拟地址转换为线性地址,分页机制是把一个线性地址转换为物理地址。
Q3. 为什么对32位线性地址空间要采用两级页表?
A:页表是把线性地址映射到物理地址的一种数据结构,4GB的线性空间可以被划分为1M个4KB大小的页,每个页表项占4字节,则1M个页表项的页表就需要占用4MB空间,而且还要求是连续的,于是采用两级页表来实现;两级页表就是对页表再进行分页,第一级称为页目录,其中存放关于页表的信息;4MB的页表再次分页,可以分为1K个4KB大小的页。
Q4. 页面高速缓存的作用是什么?Linux为什么主要采用分页机制来实现虚拟存储管理?它为什么采用三级分页模式而不是两级?
A:
1) 页面高速缓存自动保留处理器最近使用的32项页表项,因此可以覆盖128KB范围的内存;
2) Linux主要采用分页机制来实现虚拟存储器管理,原因为:
A. Linux的分段机制使得所有的进程都使用相同的段寄存器,这使得内存管理变得简单;
B. Linux的设计目标之一就是能够被移植到绝大多数流行的处理平台上,但许多RISC处理器支持的分段功能非常有限;为了保证可移植性,Linux采用三级分页模式,因为许多处理器都采用64位结构;Linux定义了三种类型的页表:页目录(PGD)、中间目录(PMD)和页表(PT)。
- Linux操作系统基础知识之二:内存寻址
- Linux操作系统基础知识之四:内存管理
- Linux内核剖析 之 内存寻址(二)
- X64 操作系统内存寻址
- linux内存寻址解析 (二)
- Linux内存寻址之分段机制
- Linux 内存寻址之分段机制
- Linux 内存寻址之分页机制
- Linux内存寻址之二:逻辑地址到虚拟地址的转换
- 内存寻址二(分页)
- Linux 内核学习之内存寻址(二) Linux内存寻址
- linux 内存寻址总结
- linux 内存寻址总结
- linux--内存寻址
- linux内存寻址
- linux内存寻址
- linux内存寻址
- linux内存寻址总结
- android htc 手机 wlan 热点 无法共享 手机网络 解决办法
- ExtJS中表单验证使用自定义vtype示例
- Android getWidth和getMeasuredWidth的正解
- Send a BOOL value from JavaScript to Objective-C(UIWebview interact with app)
- ANDROID音频系统散记之二:resample-1
- Linux操作系统基础知识之二:内存寻址
- 《转》Mirroring、Striping、stripe Mirroring、spanning之间的详细介绍
- Linux Java连接MySQL数据库
- Delegate 详讲(三)
- stdin,stderr,stdout
- delphi md5加密函数
- eclipse编译java文件
- 新浪开放平台开发1--认证
- Hadoop运行原理详解