一、页式存储组织
页式存储:
将程序与内存均划分为同样大小的块,以页为单位将程序调入内存
逻辑地址 = 页号 + 页内地址
物理地址 = 页帧号 + 页内地址
一般考察的内容就是通过将页号和页帧号进行互换修改,从而进行逻辑地址和物理地址的转换。
题目会说明每一个页的大小,从而得出用了多少 位 来存储页内地址,剩下的位数就是页号或者页帧号,再通过 页表 对两者的 对应关系 进行查询,从而完成两者的转换。
页式存储的优缺点:
优点: 利用率高,碎片小,分配及管理简单
缺点: 增加了系统开销,可能产生抖动现象(比如一些想紧密结合在一起的程序,因为页的大小限制,被迫进行了分开。比如函数之间的相互调用,需要频繁的进行不同页的读取与输出)
二、段式存储组织
段式存储:
按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样
段表需要记录 段号、段长(每一段的长度)、基址(每一段开始的内存地址)
段式存储的优缺点:
优点: 多道程序共享內存,各段程序修改互不影响
缺点: 内存利用率低,内存碎片浪费大
考试中考察的就是 合法与非法段地址的判断,因为每一个段都有它对应段长,因此所存储的内容不能超过段的长度,一旦超过就是非法段地址。
三、段页式存储组织
段页式存储:
段式与页式的综合体。先分段,再分页,1 个程序有 若干个段,每个段中可以有 若干页,每个页的大小相同,但每个段的大小不同
段页式存储的优缺点:
优点: 空间浪费小、存储共享容易、存储保护容易、能动态连接
缺点: 由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。
不过软考考试中,很少考察段页式存储。
四、页面置换算法
-
最优(Optimal,OPT)算法:
比较理想化,需要系统去判断哪些页以后永远不会被使用,哪一些页会经常被使用,但是往往这种判断是无法判断出来的,或者是很难进行判断。 -
随机( RAND )算法:
随便干掉哪一页 -
先进先出(FFO)算法:
有可能产生“ 抖动 ”。例如,432143543215序列,用个页面,比4个缺页要少。比如一些常用的但是又是先进入的页,会被频繁的移除和读取。 -
最近最少使用(LRU)算法:
不会“ 抖动 ”,LRU的理论依据是 “局部性原理”
a. 时间局部性:刚被访问的内容,立即又被访问
b. 空间局部性:刚被访问的内容,临近的空间很快被访问。
五、磁盘管理
存取时间 = 寻道时间 + 等待时间
寻道时间: 是指磁头移动到磁道所需的时间;
等待时间: 为等待读写的扇区转到磁头下方所用的时间。
六、磁盘调度算法
1、先来先服务(FCFS)
哪个作业先来,就先对哪个作业进行服务
2、最短寻道时间优先(SSTF)
磁头会去寻找离磁头最近的磁道任务进行处理,而不是按照作业来的顺序进行处理
3、扫描算法(SCAN)
又叫做电梯算法。磁头不停的进行扫描,遇见一个问题就行直接进行处理,而不会进行等待或者二次排序再处理。这种算法对于磁盘的外围和里层是有比较差的效果,因为被扫描到的概率相对于其他地方更小。
4、循环扫描(CSCAN)算法
区别于扫描算法,循环扫描算法从磁盘外围到磁盘中心的扫描过程中,遇见任务会进行处理。
而从磁盘中心到磁盘外围的运行过程中,只会进行扫描,而不会处理任何在扫描过程中遇见的任务。
七、读取磁盘数据时间计算
读取磁盘数据的时间应包以下三个部分
(1)找磁道的时间
(2)找块(扇区)的时间,即旋转延迟时间
(3)传输时间
例题:
某磁盘磁头从一个磁道移至另一个磁道需要 10 ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为 10 个磁道,毎块的旋转延迟时间及传输时间分别为100 ms 和 2 ms,则读取一个 100 块的文件需_ms 时间
A.10200 B.11000 C.11200 D20200
分析:
因为是要读取一个 100 块的文件,因此所需要的时间一定是 100 的整数倍。从而所需要的时间是:((10 *
10)+ 100 + 2 )*
100 = 20200 ms,因此答案选 D