1.简单说明一下虚拟内存?

在程序装入的时候,可以将程序中很快会用到的部分先装入内存,暂时用不到的部分放在外存,就可以让程序开始执行。

在程序执行过程中,如果需要用到的信息不在内存中,由操作系统负责将所需信息从外村调入内存,然后继续执行程序。

若内存空间不够,由操作系统负责将内存中暂存用不到的信息换出到外存。

在操作系统的管理下,会让用户感觉自己的内存空间很大,这就是虚拟内存。

虚拟内存是操作性虚拟性的一个体现,它只是在逻辑上对内存进行了填充。

虚拟内存的三个特性:

(1)多次性。无需在作业运行时一次性全部装入内存,允许多次被调用。

(2)对换性。在作业运行时,无需一直常驻内存,而是允许在作业运行时将作业换入换出。

(3)虚拟性。从逻辑上进行了内存填充。

2.地址映射:

操作系统会提供一种机制,将不同进程的虚拟地址和内存中的物理地址映射起来。

两种地址:我们程序所使用的地址空间是虚拟内存地址;

实际存在硬件里面的空间地址叫做物理内存地址。

操作系统是如何管理虚拟地址与物理地址之间的关系的?

(1)内存分段:

程序由若干个逻辑分段组成,如代码段,栈段等,每个段有不同的属性,因此可以采用内存分段。

分段机制下的虚拟地址由两部分组成:段号(其实还有其他,不用知道)和段内偏移量。因此虚拟地址是通过段表与物理地址进行映射的。

优点:段内都是连续的内存空间

缺点:内存碎片(需要连续的内存空间)+内存交换效率低(解决内存碎片问题,需要内存交换,如果需要交换的空间过大,效率低下)。

(2)内存分页:

分页将虚拟和物理内存空间切成很多固定大小的尺寸。这个尺寸我们称为页。

分页机制下的虚拟地址由两部分组成:页号和页内偏移量,虚拟地址是通过页表与物理地址进行映射的。

优点:解决了分段内存碎片和内存交换效率低的问题。

缺点:需要很大的空间来存储页表。

(3)多级分页:

多级分页为了解决单级分页带来的弊端。

主要是通过多个页表来实现虚拟地址和物理地址的映射。

缺点:需要多级查找,时间开销大。

(4)段页式内存管理:

将程序 先分段,再段内分页。

这种机制下虚拟地址由段号、段内页号和页内偏移量三部分组成,虚拟地址是通过段表和段页表与物理地址进行映射的。

操作系统虚拟内存和地址映射相关推荐

  1. 操作系统-虚拟内存、虚拟地址空间机制

    文章目录 操作系统-虚拟内存 先引入问题 问题1 问题2 设计原则-局部性原理 虚拟内存有哪些特征? 虚拟内存技术的实现 请求分页存储管理 页表机制 缺页中断机构 地址变换机构 小结 操作系统-虚拟内 ...

  2. 操作系统——虚拟内存

    文章目录 前言 一.虚拟内存的基本概念 二.请求分页管理方式 1.页表机制 2.缺页中断机构 3.地址变换 三.页面置换算法 1.最佳置换算法(OPT) 2.先进先出置换算法(FIFO) 3.最近最久 ...

  3. 操作系统 - 虚拟内存

    什么是虚拟内存?它有什么作用?它跟实际内存有什么区别和联系? 虚拟内存用硬盘空间做内存来弥补计算机RAM空间的缺乏.当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了.当物理内存用完 ...

  4. 操作系统实验七 地址映射与共享(哈工大李治军)

    实验七 地址映射与共享 实验目的 深入理解操作系统的段.页式内存管理,深入理解段表.页表.逻辑地址.线性地址.物理地址等概念: 实践段.页式内存管理的地址映射过程: 编程实现段.页式内存管理上的内存共 ...

  5. 操作系统 虚拟内存技术

    前言 本文介绍操作系统里的虚拟内存技术,它是目前最常用的内存扩充技术. 本文先介绍了虚拟内存的概念, 再介绍如何实现虚拟内存,只以请求分页管理方式为例来表示如何实现: 再比较各种页面置换算法,用以确定 ...

  6. 操作系统-虚拟内存技术

    操作系统-王道老师 第三章-虚拟内存 目录: 1.虚拟内存的基本概念     1.1 传统存储管理方式的特征和缺点     1.2 局部性原理     1.3 虚拟内存的定义和特征     1.4 如 ...

  7. 操作系统——虚拟内存技术

    概要 传统存储管理方式缺点 一次性和驻留性 局部性原理 时间局部性原理和空间局部性原理 虚拟内存技术概要 最近需要用的数据调入内存,不需要用的数据调出内存就可以实现虚拟内存技术,注意虚拟内存的最大容量 ...

  8. 操作系统虚拟内存管理

    这里写目录标题 虚拟内存简介 虚拟内存概念 虚拟内存的容量 虚拟内存的优点 虚拟内存的缺点 如何实现虚拟内存(请求分页.请求分段.请求段页式) 请求分页存储管理方式 页表机制 缺页中断机构 地址变换机 ...

  9. 计算机操作系统虚拟内存管理

    从逻辑上进行内存的扩充 具有请求调入和置换功能 传统存储管理方式的特征 上一节所讨论的各种内存管理策略都是为了同时将多个进程保存在内存中以便允许多道程序设计.它们都具有以下两个共同的特征: 1) 一次 ...

最新文章

  1. 雍培:电力遇上大数据,使我的科研如鱼得水 | 提升之路系列(九)
  2. 屏蔽storm ui的kill功能
  3. 在JSP客户端限制表单重复提交
  4. spring websocket源码分析续Handler的使用
  5. 北京曲剧《烟壶》也好看
  6. oracle insert两个关联表
  7. 云计算第二阶段shell脚本
  8. IT兄弟连 JavaWeb教程 JSP经典面试题
  9. Android BroadcastReceiver示例教程
  10. 中农考研计算机机考,开一个考研经验贴~2020中农考生,特别是农科大类考生看过来...
  11. 一个实用的小工具——键盘映射KeyTweak
  12. GIS常用数据平台网站
  13. C. Dominant Character
  14. Bootstrap3 按钮状态切换
  15. 大学生学习编程很难吗?怎么样才能学好编程?
  16. ANSYS工程结构数值分析
  17. Problem K. Road Network - ACPC2015(求树的直径 dp)
  18. 什么是ORM框架?常用的orm框架有哪些?能否不用ORM框架直接使用SQL语句创建WebAPI?
  19. 我的世界java版注册账号教程_我的世界java版官方购买教程
  20. HDU 4081 Qin Shi Huang‘s National Road System(枚举+倍增优化)

热门文章

  1. Vue 安装 less 报错 While resolving: hblvbigdata@0.1.0
  2. 032 2018CeMAT上海物流站展之我见
  3. 百亿业务流量-如何做好稳定性监控
  4. sublime 搭建html,教你快速使用sublime Text3编写HTML
  5. Canny算子Matlab实现
  6. linux开机dracut界面_安装CentOS7出现dracut:/#……time解决办法
  7. 如何复制网上文章内容到语雀
  8. C语言经典算法之二分查找详解
  9. 移动端Web适配单位rem的坑,oppo r9手机出现错位bug
  10. 【C语言】最大公约数