发布时间:2014-09-05 16:49:54作者:知识屋
Q1. 什么是物理地址?什么是虚地址?什么是线性地址?
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)
摘自:zhouzxi的专栏
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能