1、存储器的层次结构
1.1多级存储器结构
计算机存储层次可分为寄存器,高速缓存,主存,磁盘缓存,固定磁盘,可移动存储介质等。
寄存器、高速缓存、主存和磁盘缓存属于操作系统存储管理的范畴,掉电后信息消失。
磁盘和可移动存储介质属于设备管理的范畴,存储的信息长期有效。
1.2 主存储器和寄存器
1.2.1 主存储器又称为内存,cpu从主存储器中读取指令和数据,放入到寄存器中。由于cpu执行指令速度高于
访问存储器的速度,故在cpu和主存储器之间引入寄存器和高速缓存。
1.2.2 寄存器访问速度最快,可与cpu协调工作。
1.3 高速缓存和磁盘缓存
高速缓存:位于寄存器和主存储器之间,容量大于寄存器,可将要访问的指令和数据提前放入到高速缓存中,减少对
主存的访问次数,加快访问速度。
磁盘缓存:利用主存中的 存储空间,来 暂 存 从 磁盘中读出(或写入)的信息),减少对磁盘的访问次数。
2 、程序的装入和链接
一个用户源程序变成内存中的可执行程序,需要三步:编译——链接——装入内存
3、连续内存分配
定义:为一个用户程序分配连续的内存空间
分为单一连续分配,固定分区分配,动态分区分配,动态重定位分区分配
单一连续分配:用于单用户、单任务的操作系统中
固定分区分配:将内存用户空 间划分为若干个固定大小的区域,在每个分区
中只装入一道作业,这样,把用户空间划分 为几个分区,便
允许有几道作业并发运行。
对换
定义:指把内存中暂时不能 运行的进程或者暂时不用的程序和数据调出
到外存上,以便腾出足够的内存空间,再把已 具备运行条件的进
程或进程所需要的程序和数据调入内存。
对换空间的管理:把外存分为文件区和对换区,文件区存放文件,对换区存放从内存中换出的进程。
对换区的存储空间分配采取连续分配的方式。
进程的换出:系统首先选择处于阻塞状态且优 先级最低的进程作为换出进程,
然后启动磁盘,将该进程的程序和数据传送到磁盘的对换 区上。
进程的换入:找出“就绪”状态但已换出 的进程,将其中换出时间最久(换出到磁盘上)的进程作为换入进程,将之换入。
4、基本分页存储管理
由于连续分配会产生内存碎片,造成浪费,可采用离散分配的方式。
离散分配:把一个进程分散装入许多不相邻的分区中。
分页存储管理:离散分配的基本单位是页。
页号:将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,
并为各页加以编号,从 0 开始,如第 0 页、第 1 页等
物理块:把内存空间分成与页面 相同大小的若干个存储块,称为物理块
页表:通过查找该表,即可找到每页在内存中的物理块号
分页地址中的地址结构包含页号和业内地址。
5、基本分段存储管理
分段存储管理:用户把自己的作业按照逻辑关系划分为若干个段,每个段都是从 0 开始编址, 并有自己的名字和长度。
逻辑地址是由段名(段号)和段内偏移量(段内 地址)决定的。
段表:记录了一个段在内存中的起始地址和段的长度。
6、虚拟存储器
作业要求的内存空间超出了内存总容量,解决办法一种是从物理上增加内存容量,
另一种是从逻辑上增加内存容量,即虚拟存储器。
定义:应用程序在运行之前,没有必要全部装入内存,仅须将那些当前要 运行的
少数页面或段先装入内存便可运行,其余部分暂留在盘上。程序在运行时,如
果它 所要访问的页(段)已调入内存,便可继续执行下去;但如果程序所要访问
的页(段)尚未调入 内存(称为缺页或缺段),此 时程序应利用 OS 所提供的请求
调页(段)功能,将它们调入内存, 以使进程能继续执行下去。如果此时内存已满,
无法再装入新的页(段),则还须再利用页(段)的置换功能,将内存中暂时不用的
页(段)调至盘上,腾出足够的内存空间后,再将要访问的 页(段)调入内存,使程序
继续执行下去。
虚拟存储器的特征:多次性,虚拟性,对换性
6.1 请求分页存储管理方式
在基本分页的基础上增加了页面请求和页面置换的功能。
页面置换算法
1)最佳置换算法:把以后不再访问的页面置换出去
2)先进先出页面置换算法:把内存中存留时间最久的页面置换出去
3) 最近最久未使用置换算法:把内存中最近最久未使用的页面淘汰出去,算法赋予每个页面一个访问字段,记录
页面自从上次访问以来经过的时间t,淘汰t最长的页面。
4)clock算法:页面被访问时,访问位置1,否则置0。循环检测各个页面的访问位,如果为1就不淘汰,为0就淘汰。