储存器分为三层: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访问数据所耗费的时间明显减少。
分段储存管理方式:
信息共享-信息保护-动态增长-动态链接
基本原理:
分段地址具有如下结构:
段号+段内地址
分页和分段的区别:
页是信息的物理单位,页的大小固定且由系统决定,页在用户程序地址空间是一维的。