网络工程师-操作系统之存储管理(第三天)
存储管理
一、分区存储
(1)、分配办法
(2)、分配类型
(1)分区时刻
-
-
静态分区:系统初始化时分,即在系统运行之前将内存空间划分为若干区域;
-
动态分区:申请时分,即在系统运行过程中划分内存空间。
-
(2)分区大小
-
-
等长分区:2i ,将内存空间划分为若干个长度相同的区域。
-
异长分区:将内存空间划分为若干个长度不同的区域。
-
(3)通常作法
-
-
静态+等长(页式、段页式)
-
动态+异长(段式、界地址)
-
案例:
-
首次适应法:直接从内存中查找到第一块空闲分区直接分配,速度快。
-
最佳适应法:查找一块与申请内存的作业最接近的空闲分区分配,碎片少。
-
最差适应法:寻找空闲分区中最大的进行分配。
-
循环首次适应法:在首次适应法的基础上循环查找,找到合适的即可分配。
2、页式存储
(1)概述:将作业的逻辑地址,划分为若干个长度相等的区域,每个区域称为一页。
-
优点:利用率高,碎片小,分配及管理简单。
-
缺点:增加了系统开销,可能产生抖动现象。
例题1:
例题2:
例题3:
思路:1、逻辑地址十进制数8644转化为二进制,10 000111000100
2、4k=212,8644转化为二进制数的12位数前的数字,得到10
3、将10转化为十进制得到页号2,对应物理块号8,将物理块号转化8为二进制得1000
4、1000 000111000100
3、段式存储
(1)概述:按用户作业中的自然段来划分逻辑空间,不要求每一段相等,但是必须有完整意义。
-
优点:多道程序共享内存,各段程序修改互不影响。
-
缺点:内存利用率低,内存碎片浪费大。
4、段页式存储
(1)概述:在分段的基础上再进行分页,把段式存储管理和页式存储管理有效结合起来,一张段表分为若干个页。
-
优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。
-
缺点:由于管理软件的增加,复杂性和开销额随之增加,需要的硬件以及占用的内存也有所增加,使得执行速度大大下降。
5、页面置换算法
-
最优算法(Optiml,OPT):选择那些永久不使用,或者在最长时间内不再被访问的页面,将这些内存置换出来,目前正处于理论阶段。
-
随机算法(Rand):随机选择一个页面进行淘汰,置换出内存。
-
先进先出算法(FIFO):选择距离内存时间最长的进行淘汰,按分配的时间顺序组织起来,这种算法会频繁调用,可能产生抖动现象,严重降低内存利用率。
-
最近最少使用算法(LRO):选择最近最久没有被使用的作业进行淘汰,这种算法不会产生抖动。
案例1:
注:(√代表缺页次数,缺页次数越少,系统性能越高 )
例题:
6、磁盘管理
(1)、概述:
-
计算磁道数:(外半径 - 内半径)*道密度*记录面数(注意:硬盘的第一面和最后一面是保护用的,要减掉。如3个双面的磁盘的记录面数是3*2-2=4)
-
非格式化容量=位密度*π*最大圈直径*总磁道数(注意:位密度是每道不同的,但每道的容量是相同的。0道是最外面的磁道,其位密度最小。)
-
格式化容量=每道扇区数*扇区容量*总磁道数
-
平均数据传输速度=每道扇区数*扇区容量*盘片转数
-
存取时间=寻道时间+等待时间(注意:寻道时间是指磁头移动到磁盘所需的时间,等待时间为等待读写的扇区转到磁头下方所用的时间)
(2)、读取磁盘数据时间计算
- 读取磁盘数据的时间包括三部分:
-
找磁道的时间
-
找块(扇区)的时间,即旋转延迟时间
-
传输时间
-
例题:
(3)、磁盘调度算法
- 先来先服务(FCFS):采用先来先服务的顺序,实现起来简单,但实现时间长,降低了性能。
- 最短寻道时间优先(SSTF):根据当前磁道的位置来确定下一个请求,节省寻道的时间,可能导致有些请求长时间拖延或得不到服务,从而产生饥饿现象。
- 扫描算法(SCAN):又称电梯算法,整个磁头移动方向一致(从里到外,从外到里),在过程中服务,节省了时间。
- 循环扫描算法(CSCAN):磁头单项移动,避免一些请求长时间得不到服务。
例题: