操作系统王道考研 p32-34 内存的基本知识内存管理的概念覆盖与交换

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统王道考研 p32-34 内存的基本知识内存管理的概念覆盖与交换相关的知识,希望对你有一定的参考价值。

内存的基本知识
内存管理的概念
覆盖与交换

知识总览

内存管理:

  • 内存空间的分配与回收
  • 内存空间的扩充
  • 地址转换
  • 存储保护

以下是内存的基础知识

什么是内存?有何作用?

内存是用于存放数据的硬件。程序执行前需要存放到内存中才能被CPU处理。

给内存单元编制:内存地址从0开始,每个地址对应一个存储单元。

按字节编址VS按字编址:

一些数量单位:

进程的运行原理 ——指令

逻辑地址VS物理地址

逻辑地址又称相对地址,物理地址又称绝对地址。

从写程序到程序运行

三种装入方式

用三种不同的方法完成逻辑地址到物理地址的转换。

  1. 绝对装入
  2. 静态重定位
  3. 动态重定位

绝对装入

只适用于单道程序环境。
编译产生绝对地址的目标代码。

静态重定位

装入的时候修改地址。
特点:在一个作业装入时,必须分配其要求的全部内存空间。(之后就可以把所有的绝对地址改完)
在运行期间不能移动,也不能再申请内存空间。(不然又要修改地址了)

动态重定位

运行时再地址转换。
需要重定位寄存器
允许程序在内存内发生移动。

链接的三种方式

以下是内存管理的概念

地址转换

内存保护

有两种方法。
方法1:在CPU中设置一对上、下限寄存器,存放进程的上下限地址。


方法2:用重定位寄存器(基址寄存器)和界地址寄存器(限长寄存器)进行越界检查。
前者存基址(进程的起始物理地址),后者存进程的最大逻辑地址。

以下是内存空间的扩充的方法:覆盖与交换

虚拟存储技术不在这里详细讲。

覆盖技术

覆盖技术,用来解决“程序大小超过物理内存总和”的问题。(简而言之,物理内存不够用的问题)
覆盖技术的思想:将程序分为多个段(多个模块),常用的段常驻内存,不常用的需要时调入内存。
内存分为一个“固定区”和若干个“覆盖区”。
常驻内存的段放在固定区,调入后不再调出(除非运行结束)。
不常用的放在覆盖区,需要时调入,不需要时调出。

一个例子:
让不可能同时被访问的程序段共享同一个覆盖区。
程序员声明覆盖结构。
缺点:对用户不透明,增加用户编程负担。

交换技术

思想:内存空间紧张时,系统将内存中某些进程暂时换出外存,把外存中某些已具备运行条件的进程换入内存。(进程在内存与磁盘间动态调度)
暂时换出外存等待的进程状态为挂起态。

磁盘空间分为:文件区,对换区。
文件区放文件。对换区放被换出的进程数据。
对换区的I/O速度比文件区的快。


覆盖是在同一个进程或程序中的,交换是在不同进程(或作业)之间的。

总结



以上是关于操作系统王道考研 p32-34 内存的基本知识内存管理的概念覆盖与交换的主要内容,如果未能解决你的问题,请参考以下文章

操作系统王道考研 p37-38 基本分页存储管理的基本概念基本地址变换机构

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

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

(王道408考研操作系统)第三章内存管理-第一节2:内存管理的基本概念

操作系统王道考研 p50-51 文件的物理结构(文件分配方式)

(王道408考研操作系统)第三章内存管理-第一节1:内存基础知识程序编译运行原理