文章目录

  • 内存管理的功能
    • 内存分配方式
  • 地址变换
  • 存储保护
  • 内存共享
  • 存储扩充

内存管理的功能

内存分配方式

直接指定方式: 程序员在编写程序时,或编译器编译程序时,使用实际的内存地址。前提是已知存储器的可用容量,对于多道程序,通常将内存空间划分为若干固定的分区,并把不同的作业存放在不同的分区。
静态分配方式: 编译器在编译源程序时,采用从0开始的编址方式。再目标程序装入内存时,才为其分配内存空间。通过静态分配方式分配的内存空间在程序退出系统之前,会一直被程序占用,程序在运行过程中也无法申请新的内存。
动态分配方式: 作业在在内存空间中的也是在其装入内存时确定,但在运行过程中可以根据需求动态申请内存空间,也可以将不再需要的内存空间还给系统。

地址变换

地址空间: 一个程序可以访问的地址范围的称为地址空间,或者说是程序运行需要占用的地址单元集合称为地址空间。
逻辑地址: 编译在编译程序时,将地址空间中的地址单元是从0开始编址,我们将其成为逻辑地址,既相对地址。
地址变换: 程序运行时,系统为程序分配的内存空间中地址单元的物理地址与程序地址空间中的地址单元的逻辑地址是不同的,将逻辑地址转换为物理地址的过程成为地址变换,也成为地址重定位。

存储保护

为避免一个进程被另一个进程干涉。该进程以外的其他进程在未经授权时不允许访问该进程的内存单元。由于重定位的需求增加了存储保护的难度,因此,必须在进程运行时检查进程产生的所有存储器访问,确保该进程只访问分配给该进程的存储空间。

地址保护: 在未经授权的情况下,一个进程不能访问其他进程的数据区,处理器需要能够在执行时取消这样的指令。
权限保护: 对于不同的进程有不同的存取权限,一个只具有执行权限的进程无法进行写操作。

内存保护的需求需要由处理器来实现,这是因为操作系统无法预测一个程序运行时产生的所有存储器访问;即使可以预测,也无法屏蔽其中所有可能产生的存储器访问。

内存共享

多个进程在执行同一个程序时,可以共享访问该程序的同一个副本而不必为每个进程创建一个副本。在这个过程中需要内存管理系统对共享区域进行受控访问,保证最基本的保护。

存储扩充

存储扩充 是指利用程序的局部性实现内存空间的逻辑扩充而不是真正的主存扩充。为了实现存储扩充,系统需要实现下列功能:
请求调入功能: 基于程序的局部性,可以把程序的一部分先存入内存,使其运行,在运行过程中如果访问到未装入内存的数据,再向操作系统发出申请,将需要的数据从磁盘调入内存,继续运行。
置换功能: 若内存空间中已经没有足够的空间来装入需要的数据,系统可以将内存中不需要的程序和数据调出内存,存回磁盘,以此释放内存空间。

【操作系统-内存管理】相关推荐

  1. 操作系统内存管理-Linux版

    引言 操作系统内存管理:总的来说,操作系统内存管理包括物理内存管理和虚拟内存管理. 物理内存管理: 包括程序装入等概念.交换技术.连续分配管理方式和非连续分配管理方式(分页.分段.段页式). 虚拟内存 ...

  2. 操作系统内存管理——分区、页式、段式管理

    操作系统内存管理--分区.页式.段式管理 标签: 内存管理操作系统数据结构算法 2010-07-05 11:26 20805人阅读 评论(5) 收藏 举报 分类: 操作系统(4) 版权声明:本文为博主 ...

  3. 操作系统内存管理-原理

    任何新技术都是在一点一点的积累中成熟并呈现在世人的面前,就像猿人进程成人也不是一簇而就的,而是在漫长的岁月中一点一点的进化与完善.还比如现代的吸尘器,当前发明吸尘器的那个人只是用了一台风扇的电机和叶片 ...

  4. 计算机操作系统 - 内存管理

    计算机操作系统 - 内存管理 目录 计算机操作系统 - 内存管理 虚拟内存 分页系统地址映射 页面置换算法 1. 最佳 2. 最近最久未使用 3. 最近未使用 4. 先进先出 5. 第二次机会算法 6 ...

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

    一.内存管理 操作系统的内存管理主要负责内存的分配与回收(malloc 函数:申请内存,free 函数:释放内存),另外地址转换也就是将逻辑地址转换成相应的物理地址等功能也是操作系统内存管理做的事情. ...

  6. 4、操作系统内存管理——页面的换入换出

    注:参考哈工大李治军老师公开课. 对于用户而言,用户看到的是一个整体的内存入4G,而且用户可以随便访问4G内存空间的任意位置:但是对于真实的物理内存可能只有1G大小,当用户访问内存时,如果内存里面有需 ...

  7. 内存与操作系统内存管理

    内存与操作系统内存管理 文章目录 内存与操作系统内存管理 一.内存的基础知识 二.内存管理 2.1 内存空间扩充 2.2 内存空间的分配与回收** Java.大数据开发学习要点(持续更新中-) 一.内 ...

  8. 操作系统 内存管理单元MMU TLB

    前言 在了解操作系统 内存管理 分页/分段/段页式管理.操作系统 虚拟内存技术两篇文章后,接下来继续看看现代操作系统基本内存管理方式,本文详细介绍Linux操作系统下的内存管理单元MMU和TLB. d ...

  9. 操作系统 内存管理总结

    目录 内存管理介绍 什么是虚拟内存(Virtual Memory)? 逻辑(虚拟)地址和物理地址 CPU 寻址了解吗?为什么需要虚拟地址空间? 局部性原理 操作系统是如何管理虚拟地址与物理地址之间的关 ...

  10. 操作系统内存管理,你能回答这8个问题吗?

    # 干了这碗鸡汤 当我们是少数人时,我们要有勇气做自己:当我们是多数人时,我们要有胸襟容得下他人. -- 拉尔夫·W·索克曼 大家早上好,今天为大家总结整理了关于操作系统内存管理的知识点,更文不易,请 ...

最新文章

  1. 马上 2018 年了,该不该下定决心转型AI呢?
  2. 270个开源项目,总计24w星,帮你快速找代码
  3. cmd中添加中文字体
  4. mysql中的钱null,mysql 中null总结
  5. JavaScript规范和工具 JSlint
  6. boost::histogram::detail::accumulator_traits用法的测试程序
  7. 使用混合多云每个人都应避免的3个陷阱(第4部分)
  8. Confluence介绍与使用
  9. mantis修改mysql端口_(功能篇)回顾Bug管理系统Mantis优化改造经历(示例代码)
  10. 中国海洋大学计算机系保研,中国海洋大学保研率17.6%,考研率17.5%
  11. linux安全模块学习之LSM的介绍实现
  12. extmail mysql数据库 重启_linux下安装和配置extmail
  13. 编译原理-8-Bison 语法分析器的生成器
  14. 三、单因素方差分析例题(R语言)
  15. python化学公式配平_PYTHON趣用—配平化学方程式-阿里云开发者社区
  16. .NET(C#)下的移动彩信MM7协议研究之路(一:题记)
  17. 直播第三方美颜sdk是什么?
  18. 微信连WiFi(sign有误)
  19. ubuntu20.04安装向日葵
  20. 万字报告做空特斯拉:马斯克在操盘一场“庞氏骗局”|硅谷封面

热门文章

  1. R语言条件判断语句编程:使用if/else语句实现条件逻辑判断、使用all函数判断向量中的值是否全部都满足条件
  2. 苹果计算机手机号隐藏功能,苹果手机的隐藏功能,原来iphone还有这么多好功能你不知道...
  3. 浙江大学计算机科学与技术学院导师,浙江大学计算机科学与技术专业导师介绍:徐从富...
  4. 什么是B/A股(亿)?
  5. 教师资格证:《综合素质》科目,带你一步搞定
  6. Worksheet对象应用大全(1)-应用基础
  7. 企业微信通讯录回调密文解析及微信支付回调密文解析异常处理
  8. 考试系统考试界面代码
  9. 解决Ubuntu虚拟机下mnt/hgfs下没有共享文件夹的问题
  10. 智慧经营3.0进程中智慧经营和数字化经营谁更胜一筹?