操作系统王道考研 p32-34 内存的基本知识内存管理的概念覆盖与交换
Posted karshey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统王道考研 p32-34 内存的基本知识内存管理的概念覆盖与交换相关的知识,希望对你有一定的参考价值。
知识总览
内存管理:
- 内存空间的分配与回收
- 内存空间的扩充
- 地址转换
- 存储保护
以下是内存的基础知识
什么是内存?有何作用?
内存是用于存放数据的硬件。程序执行前需要存放到内存中才能被CPU处理。
给内存单元编制:内存地址从0开始,每个地址对应一个存储单元。
按字节编址VS按字编址:
一些数量单位:
进程的运行原理 ——指令
逻辑地址VS物理地址
逻辑地址又称相对地址,物理地址又称绝对地址。
从写程序到程序运行
三种装入方式
用三种不同的方法完成逻辑地址到物理地址的转换。
- 绝对装入
- 静态重定位
- 动态重定位
绝对装入
只适用于单道程序环境。
编译时产生绝对地址的目标代码。
静态重定位
装入的时候修改地址。
特点:在一个作业装入时,必须分配其要求的全部内存空间。(之后就可以把所有的绝对地址改完)
在运行期间不能移动,也不能再申请内存空间。(不然又要修改地址了)
动态重定位
要运行时再地址转换。
需要重定位寄存器。
允许程序在内存内发生移动。
链接的三种方式
以下是内存管理的概念
地址转换
内存保护
有两种方法。
方法1:在CPU中设置一对上、下限寄存器,存放进程的上下限地址。
方法2:用重定位寄存器(基址寄存器)和界地址寄存器(限长寄存器)进行越界检查。
前者存基址(进程的起始物理地址),后者存进程的最大逻辑地址。
以下是内存空间的扩充的方法:覆盖与交换
虚拟存储技术不在这里详细讲。
覆盖技术
覆盖技术,用来解决“程序大小超过物理内存总和”的问题。(简而言之,物理内存不够用的问题)
覆盖技术的思想:将程序分为多个段(多个模块),常用的段常驻内存,不常用的需要时调入内存。
内存分为一个“固定区”和若干个“覆盖区”。
常驻内存的段放在固定区,调入后不再调出(除非运行结束)。
不常用的放在覆盖区,需要时调入,不需要时调出。
一个例子:
让不可能同时被访问的程序段共享同一个覆盖区。
由程序员声明覆盖结构。
缺点:对用户不透明,增加用户编程负担。
交换技术
思想:内存空间紧张时,系统将内存中某些进程暂时换出外存,把外存中某些已具备运行条件的进程换入内存。(进程在内存与磁盘间动态调度)
暂时换出外存等待的进程状态为挂起态。
磁盘空间分为:文件区,对换区。
文件区放文件。对换区放被换出的进程数据。
对换区的I/O速度比文件区的快。
覆盖是在同一个进程或程序中的,交换是在不同进程(或作业)之间的。
总结
以上是关于操作系统王道考研 p32-34 内存的基本知识内存管理的概念覆盖与交换的主要内容,如果未能解决你的问题,请参考以下文章
操作系统王道考研 p37-38 基本分页存储管理的基本概念基本地址变换机构
(王道408考研操作系统)第三章内存管理-第二节1:虚拟内存管理基本概念
(王道408考研操作系统)第三章内存管理-第二节1:虚拟内存管理基本概念
(王道408考研操作系统)第三章内存管理-第一节2:内存管理的基本概念