内存寻址一直都是不少同学Linux学习的难点,今天,就让我们来看看千锋互联的老师是怎么讲的吧!
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主要采用分页机制来实现虚拟存储器管理,原因为:
1)Linux的分段机制使得所有的进程都使用相同的段寄存器,这使得内存管理变得简单;
2)Linux的设计目标之一就是能够被移植到绝大多数流行的处理平台上,但许多RISC处理器支持的分段功能非常有限;为了保证可移植性,Linux采用三级分页模式,因为许多处理器都采用64位结构;Linux定义了三种类型的页表:页目录(PGD)、中间目录(PMD)和页表(PT)。
想要学习更多的Linux知识吗?快来千锋互联吧!
千锋互联校区
北京天丰利校区(总部):北京市海淀区宝盛北里西区28号
北京沙河校区:北京市昌平区沙阳路18号
广州校区地址:广州市天河区元岗路310号
(注:其他校区咨询老师)
千锋互联一直秉承“用良心做教育”的理念,全力打造互联网技术型研发人才服务优质平台。现在北京、深圳、上海、郑州、广州、大连、武汉、成都、西安、青岛、杭州、重庆、长沙开设分公司。拥有全国的专业教学以及就业保障团队,成为学员信赖的IT培训机构!>> https://kaoshi.china.com/xuexiao/bjqf/
以上就是小编简单的介绍,希望对你有所帮助,还有更多相关的讯息,欢迎咨询,惊喜多多,收获多多。
课程咨询
咨询老师:金老师
咨询电话:010-64707530
咨询微信:15110074071
相关推荐
课程 | 班型 | 费用 |
千锋互联UI设计培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联python培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联HTML5培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联软件测试培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联大数据培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联Linux云计算培训班 | 白天班/晚班/周末班 | 点击了解 |