1007 字
5 分钟
Loading
储存器管理

储存器分为三层:cpu寄存器,主存,辅存。也可以根据功能分为寄存器,高速缓存,主储存器,磁盘缓存,固定磁盘,可移动储存介质等。

储存介质的访问速度越快,价格越高。寄存器,高速缓存,主储存器和磁盘缓存均属于操作系统存储管理的管辖范畴,一旦断电信息就中断了。

主储存器=内存

寄存器访问速度最快,一般的字节长度为32位或64位。

高速缓存 备份主存储器的信息,减少处理及对主存储器的访问次数,提高执行速度。

程序的装入:

绝对装入方式:只能用于单道程序环境

可重定位装入方式:指定某一个地址为相对0号地址。

动态运行时的装入方式:

连续分配存储管理方式:单一连续分配,固定分区分配,动态分区分配,动态可重定位区分分配四种算法。

单一连续分配:只能适用于单道用户程序,一次把所有内存分配给程序独占。

固定分区分配:把内存分片,每个分区只装入一道作业,可以实现多道用户程序,缺乏灵活性。

动态分区分配:若要实现动态分区分配,需要配备对应的数据结构,用来描述空闲分区和已分配分区的情况。

首次适应算法:

循环首次适应算法:

最佳适应算法:

最坏适应算法:

对换:是把内存中用不上的程序和数据转移到外存上,腾出足够的内存空间,再把已准备好运行条件的程序和数据换入内存。

对换的类型:整体对换,分页对换。

分页储存的管理方法:

页面:把内存的物理地址分为若干块,由于进程最后一块一般装不满,称之为页面碎片。

地址结构:

A:逻辑地址空间中的地址

L:页面大小

P:页号

D:页内地址

计算: 页号=整除(地址/页面大小)

页内地址=[地址]取余 页面大小

例题:设页面大小为1kb,设A=2107B

计算得出 P = 2 d = 122

页表:分页系统允许把进程储存在内存的任意物理块中,因此必须要找到内存地址的物理块,系统就创建了页面映像表,称之为页表。

访问内存的有效时间:

从进程发出指定逻辑地址的访问请求,经过地址变换,在内存中找到对应的实际物理地址单元并取出数据,所需要花费的总时间,称之为有效访问时间EAT,假设访问一次内存的时间为t,有效访问时间分为 第一次访问内存时间(查找页表对应的页表项)+第二次访问内存时间(把页表地址拼接成实际物理地址)之和:

EAT = t+t = 2t

引入快表的分页储存管理方式中,通过快表查询,可以直接得到物理块号,减少了一次内存访问。但快表有容量限制,不能将一整个页表全部装入快表中,所以再快表中查询存在着命中率的问题,命中率就是成功查询到所需页面的表项的比率,在这种系统中,有效访问时间计算公式为:

EAT = aλ+(t+λ)(1-a)+t = 2t+λ-ta

引入快表,cpu访问数据所耗费的时间明显减少。

分段储存管理方式:

信息共享-信息保护-动态增长-动态链接

基本原理:

分段地址具有如下结构:

段号+段内地址

分页和分段的区别:

页是信息的物理单位,页的大小固定且由系统决定,页在用户程序地址空间是一维的。

储存器管理
https://vilstia.pages.dev/posts/学习笔记/操作系统/储存器管理/
作者
琴泠
发布于
2024-12-18
许可协议
CC BY-NC-SA 4.0