3.2 内存管理

作为计算机资源的管理者,操作系统在内存管理方面有着很多的工作

3.2.1 内存空间的分配和回收

内存空间的分配和回收主要解决的问题是内存空间那些区域需要被分配以及如何分配,还有进程结束后的空间是如何释放以及怎么释放的问题(后期会有介绍)

3.2.2 内存空间的拓展

之前在讲操作系统的虚拟性的时候提到过,由于内存资源价格昂贵所以人们会使用一些技术将内存在逻辑上进行拓展

3.2.3 地址转换

为了使编程更方便,程序员写程序时应该只需要关注指令、数据的逻辑地址。而逻辑地址到物理地址的转换(这个过程称为地址重定位)应该由操作系统负责,这样就保证了程序员写程序时不需要关注物理内存的实际情况。其中地址重定位我们就会联想到上节讲过的绝对装入、可重定位装入、动态重定位装入。

3.2.4 内存保护

内存保护主要是为了保证各个进程在各自的存储空间内运行不影响其他进程。内存保护可以采用两种方式:

  方法一:在CPU中设置一对上、下限寄存器,存放进程的上、下限地址。进程的指令要访问某个地址时,CPU检查是否越界。
方法二:采用重定位寄存器(又称基址寄存器)和界地址寄存器(又称限长寄存器)进行越界检查。重定位寄存器中存放的是进程的起始物理地址。界地址寄存器中存放的是进程的最大逻辑地址

操作系统(三十三)内存管理相关推荐

  1. 操作系统第三章-内存管理

    写在前面:本文参考王道论坛的 操作系统考研复习指导单科书 下面的流程图很重要. 加入快表的基本分页 加入快表的二级页表!! 虚拟存储器:请求分页的流程图. 文章目录 第三章 内存管理 3.1 内存管理 ...

  2. 操作系统:第三章 内存管理2 - 详解虚拟内存,页面置换算法,页面分配策略

    本文已收录至 Github(MD-Notes),若博客中有图片打不开,可以来我的 Github 仓库:https://github.com/HanquanHq/MD-Notes,涵盖了互联网大厂面试必 ...

  3. 操作系统(三)内存管理

    操作系统(三)内存管理 一.程序执行过程 装入的三种方式 链接的三种方式 二.内存管理的概念 内存空间的分配与回收 连续分配管理方式 单一连续分配 固定分区分配 动态分区分配 首次适应算法 最佳适应算 ...

  4. (王道408考研操作系统)第三章内存管理-第二节3:页面置换算法2

    上接: (王道408考研操作系统)第三章内存管理-第二节2:页面置换算法1 文章目录 一:时钟置换算法(CLOCK) (1)简单时钟置换算法 (2)改进型时钟置换算法 二:页面置换算法总结 一:时钟置 ...

  5. (王道408考研操作系统)第三章内存管理-第二节1:虚拟内存管理基本概念

    文章目录 一:传统存储管理方式的弊端 二:局部性原理与高速缓冲技术Cache (1)Cache基本原理 (2)局部性原理 三:虚拟内存的定义和特征 (1)定义 (2)特征 四:虚拟内存实现 内存管理需 ...

  6. 【JavaEE】简单了解操作系统、进程内存管理

    目录 前言: 一.操作系统: 操作系统的定位: 应用程序: 系统调用: 操作系统内核: 驱动程序: 硬件设备: 二.进程: 什么是进程? 进程的描述与组织: 描述: 组织: PCB中的 特征(属性) ...

  7. 从零手写操作系统之RVOS内存管理模块简单实现-02

    从零手写操作系统之RVOS内存管理模块简单实现-02 内存管理分类 内存映射表(Memory Map) Linker Script 链接脚本 语法 基于符号定义获取程序运行时内存分布 基于 Page ...

  8. C++大法:举世闻名之BOOST大法精华浅析(三)内存管理库(小白piao分享)

    文章目录 三.内存管理库 3.1 smart_ptr 3.1.1 RAII机制 3.1.2 智能指针 3.1.3 scoped_ptr 3.1.4 scoped_array 3.1.5 shared_ ...

  9. 利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法

    利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法. 内存作为计算机系统的组成部分,跟开发人员的日常开发活动有着密切的联系,我们平时遇到的Segment Fault.OutOfMemory ...

  10. 现代操作系统:第三章 内存管理

    操作系统的工作是将这个存储体系抽象成为一个有用的模型并将管理这个抽象模型 操作系统中管理分层存储体系的部分称为存储管理器.它的任务是有效的管理内存,即记录哪些内存是正在使用的,哪些内存是空闲的,在进程 ...

最新文章

  1. git 下载的文件与git上面的文件不相同的处理方法
  2. 区块链用AI和大数据改变行业现状
  3. HighNewTech:2019.08.09程序猿界大事件之【你好,我是鸿蒙OS】~【来了,老弟】—技术才是硬道理,开源方能建立新生态!
  4. 集成学习-Boosting集成学习算法XGBoost
  5. 3750交换机简要配置手册(中文)
  6. opencv获得图片的像素宽度_使用OpenCV实现摄像头测距
  7. Linux Shell编程之别名和常用快捷键
  8. php正则去掉width=,关于php使用正则去除宽高样式的方法
  9. 苹果支付招聘业务开发经理 需有加密货币支付工作经验
  10. mysql中的页与磁盘关系_数据库和磁盘阵列的关系
  11. linux ddd yum,Linux环境ddd安装与使用
  12. 如何搜c语言考题答案,C语言考题答案.doc
  13. 电工模拟接线软件 app_图文详解:户内配电箱的安装及接线方法 ,电气初学者必看!...
  14. 使用Unicode字符集出现的错误总结
  15. 永久免费的域名注册有吗?免费的域名注册在哪个平台?
  16. 营业增加值公式简要解析
  17. 高红梅:第三章 第三节 从探寻自我到生命共同体的身份认同
  18. silverlight mysql_Silverlight中衔接MySQL数据库实例详解
  19. centos7安装dcos
  20. mysql 查询随机10条数据 (转载)

热门文章

  1. bzoj1025题解
  2. APIO2010 特别行动队 斜率优化DP算法笔记
  3. mysql排行榜sql的实现
  4. 我的秋招之路之c++中static的用法
  5. UEFI主板GPT方式安装CentOS 6.4
  6. PCL【Win10+VS2015+PCL_1.8.0环境配置】
  7. MATLAB信号处理工具箱函数列表分类
  8. matlab中去掉矩阵重复行并且不改变原顺序
  9. 【Python】查找目标值在列表中的索引序号
  10. 【Python】if else 一行写完