5.1概述

1.存储层次结构

寄存器 快速缓存(cache) 内存 外存

内存:CPU可直接访问 存取速度快 断电信息丢失

外存:CPU不可直接访问 存取速度相对于内存要慢得多,但可用来长期保存用户信息

装入PCB 形成进程 装入内存才能运行 进行内存空间分配

2.存储地址

逻辑地址 物理地址 地址映射

逻辑地址首地址为0

地址映射:逻辑地址转换为可直接寻址的物理地址 CPU执行命令时按物理地址进行

存储分配的方式
  1. 直接分配:程序编程编译时,直接使用实际的存储地址
  2. 静态分配:程序装入内存时才确定在内存的位置,运行期间不能移动,不能申请内存空间
  3. 动态分配:程序装入内存时才确定在内存的位置,运行期间可申请内存空间,可在内存移动,一个程序已占有的存储区不再需要时,可以归还给系统。
3.重定位

在执行文件装入时需要解决可执行文件地址(包含指令和数据的地址)和内存地址的对应

重定位/地址映射:建立虚实地址的对应关系

实现方式:

1. 绝对装入:编程或编译时确定地址映射关系

直接按物理内存地址编程,在系统中不能做任何移动,否则出错

2. 静态地址重定位:程序执行前,由装入程序(加载程序)负责完成地址映射

需要占用连续的内存空间 装入内存不能移动 不易实现共享

3. 动态地址重定位:处理机执行程序指令时,由动态地址变换机构(硬件)自动完成地址映射

重定位寄存器:由操作系统用特权指令来设置,比较灵活

可非连续分配,有利于程序段分配

内存信息的共享和保护

在多道程序设计的环境下,内存中的系统程序、用户程序和数据段可供不同的用户进程共享以提高内存利用率

存储保护类型

界限保护

上下界保护法

物理地址=逻辑地址+装入内存的首地址

基址限长保护法

-上下界寄存器保护法用转换后的物理地址进行判别

-基址限长寄存器保护法直接用程序的逻辑地址

•上下界寄存器保护法浪费的CPU时间相对要多些

访问方式保护 通过保护键匹配来判断存储访问方式是否合法

图示例

5K对写有限制 LOAD为读 没有限制,STORE 5200 开关字-保护键均为2 匹配 可写

2k-4k对读和写都有限制,2500读 开关字为1 保护键为2 不匹配 无权限

4.虚拟存储器
虚拟存储器的物质基础:

-两级存储结构:内存和外存储器

-地址变换机构:实现逻辑地址和物理地址的转换

虚拟存储器的特征:

1.虚拟性 能从逻辑上扩充内存容量

2.离散分配 内存空间非连续分配

3.部分分配 一个作业可被分成多次调入内存运行

4.多次对换:允许在作业的运行过程中换进换出

5.内外存数据传输的控制
–由应用程序控制 覆盖Overlay

–将程序的必要部分(常用功能)的代码和数据常驻内存

可选部分(不常用功能)在其他程序模块中实现,平时存放在外存中,在需要时才装入到内存

–不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖(即不同时用的模块可共用一个分区)

–由OS控制

1. 交换Swapping(整个进程空间)

•将暂时不能执行的程序送到外存中,从而获得空闲内存空间来装入新程序。

程序暂时不能执行的可能原因:处于阻塞状态,低优先级(确保高优先级程序执行);

交换单位为整个进程的地址空间

–常用于多道程序系统或小型分时系统中,与分区存储管理配合使用。

换出:暂停内存中进程的执行,将其整个地址空间保存到外存的交换区中

换入:将外存中由阻塞变为就绪的进程的地址空间读入到内存中,并将该进程送到就绪队列

2. 虚拟存储Virtual store(部分进程空间)

-请求调入On demand 所要访问的程序段或数据段不在内存,则操作系统自动地从外存将有关的程序段和数据段调入内存。

-预调入On prefetch 预测要访问到的数据段和程序段,并在被访问前选择时机调入内存

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐