Newtank

个人站

欢迎来到我的个人站~


存储管理(一)

目录

存储管理的模式

物理地址与逻辑地址

逻辑地址

又称相对地址,是用户编程所用的地址空间。

逻辑地址从0开始,有一维地址(地址)和二维地址(段号:段内地址)的编址方式。

物理地址

又称绝对地址,是程序执行所使用的地址空间。处理器执行指令时按照物理地址进行。

主存储器复用

分区复用

主存划分为多个固定/可变尺寸的分区,一个程序/程序段占用一个分区

页架复用

主存划分为多个固定大小的页架,一个程序/程序段占用多个页架

存储管理的基本模式

单连续存储管理

一维逻辑地址空间的程序占用一个主存固定分区或可变分区

段式存储管理

段式二维逻辑地址空间的程序占用多个主存可变分区

页式存储管理

一维逻辑地址空间的程序占用多个主存页架区

段页式存储管理

段式二维逻辑地址空间的程序占用多个主存页架区

存储管理的功能

地址转换

地址转换

又称重定位,将逻辑地址转换为绝对地址

静态重定位

在程序装入时进行地址转换。由装入程序执行,早期小型OS使用

动态重定位

在CPU执行程序时进行地址转换。依赖硬件地址转换机构

分配与去配

分配

存储管理软件进行具体的主存分配操作,并记录主存的分配情况

去配

进程撤离或归还主存时,存储管理软件收回其主存,并调整主存分配表

存储保护

为避免内存中的多个进程互相干扰,必须对其进行保护。

  • 私有主存区:可读可写
  • 公共区的共享信息:根据授权
  • 非本进程信息:不可读写

CPU检查是否允许访问,不允许则产生地址保护异常。

虚拟存储器

基本思想

把进程全部信息放在辅存中,执行时先将一部分装入主存,以后根据执行行为随用随调入。

如果主存中空闲空间不够,存储管理根据执行行为将主存中暂时不用的部分调出到辅存。

实现思路

建立和自动管理两个地址空间。

  • 虚拟地址空间:容纳进程装入
  • 实际地址空间:承载进程执行

单连续分区存储管理

概念

每个进程占用一个物理上完全连续的区域。包括单用户连续存储管理、固定分区存储管理、可变分区存储管理。

单用户连续分区存储管理

主存区域划分为系统区和用户区。设置栅栏寄存器分割区域,进行存储保护。

一般采用静态重定位进行地址转换。

硬件实现代价低,适用于单用户单任务OS,如DOS。