目录
分区存储管理
所谓分区存储组织,就是整存,将某进程运行所需的内存整体一起分配给该进程,然后再执行。有三种分区方式:
(1)固定分区:静态分区方法,将主存分为若干个固定的分区,将要运行的作业装配进去,由于分区固定大小和作业需要的大小不同,会产生内部碎片。
(2)可变分区:动态分区方法,主存空间的分区是在作业转入时划分,正好划分为作业需要的大小,这样就不存在内部碎片,但容易将整片主存空间切割成许多块,会产生外部碎片。
(3)可重定位分区:可以解决碎片问题,移动所有已经分配好的区域,使其成为一个连续的区域,这样其他外部细小的分区碎片可以合并为大的分区,满足作业要求。只在外部作业请求空间得不到满足时进行。
页式存储管理
页式存储管理原理
如果采用分区存储,都是整存,会出现一个问题,即当进程运行所需的内存大于系统内存时,
就无法将整个进程一起调入内存,因此无法运行,若要解决此问题,就要采用段页式存储组织,页式存储是基于可变分区而提出的。
页式存储组织是将进程空间分为一个个页,假设每个页大小为4K,同样的将系统的物理空间也分为一个个4K大小的物理块,这样,每次将需要运行的逻辑页装入物理块中,运行完再装入其他需要运行的页,这样就可以分批次运行完进程,而无需将整块逻辑空间全部装入物理内存中,解决了空间极大的进程运行问题。
如图1-6-2所示,逻辑页分为页号和页内地址,页内地址就是物理偏移地址,而页号与物理块号并非按序对应的,需要查询页表才能得知页号对应的物理块号,再用物理块号加上偏移地址才得出了真正运行时的物理地址。
优点:利用率高,碎片小,分配及管理简单。
缺点:增加了系统开销,可能产生抖动现象。
地址表示和转换
地址组成:页地址+页内偏移地址(页地址在高位,页内偏移地址在低位)。
物理地址:物理块号+页内偏移地址。
逻辑地址:页号+页内偏移地址。
物理地址和逻辑地址的页内偏移地址是一样的,只需要求出页号和物理块号之间的对应关系,首先需要求出页号的位数,得出页号,再去页表里查询其对应的物理块号,使用此物理块号和页内偏移地址组合,就能得到物理地址。
例:某计算机系统页面大小为4K,进程的页面变换见下表,逻辑地址为十六进制1D16H。该地址经过变换后,其物理地址应为十六进制( )。
解析:页面大小为4K,则页内偏移地址为12位,才能表示4K大小空间;由此,可知逻辑地址1D16H的低12位D16H为偏移地址,高4位1为逻辑页号,在页表中对应物理块号3,因此物理地址为3D16H。
页面置换算法
有时候,进程空间分为100个页面,而系统内存只有10个物理块,无法全部满足分配,就需要将马上要执行的页面先分配进去,而后根据算法进行淘汰,使100个页面能够按执行顺序调入物理块中执行完。
缺页表示需要执行的页不在内存物理块中,需要从外部调入内存,会增加执行时间,因此,缺页数越多,系统效率越低。页面置换算法如下:
(1)最佳页面替换算法(Optimal Replacement,OPT),理论上的算法无法实现,是在进程执行完后进行的最佳效率计算,用来让其他算法比较差距。原理是选择未来最长时间内不被访问的页面置换,这样可以保证未来执行的都是马上要访问的。
(2)先进先出算法(First In First Out,FIFO),先调入内存的页先被置换淘汰,会产生抖动现象,即分配的页数越多,缺页率可能越多(即效率越低)。
(3)最近最少使用(Least Recently Used,LRU),在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰,根据局部性原理,这种方式效率高,且不会产生抖动现象,使用大量计数器,但是没有LFU多。
(4)淘汰原则。优先淘汰最近未访问的,而后淘汰最近未被修改的页面。
快表
快表是一块小容量的相联存储器,由快速存储器组成,按内容访问,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
快表是将页表存于cache中;慢表是将页表存于内存上。慢表需要访问两次内存才能取出页,而快表是访问一次cache和一次内存,因此更快。
段式存储管理
段式存储管理原理
将进程空间分为一个个段,每段也有段号和段内地址,与页式存储不同的是,每段物理大小不同,分段是根据逻辑整体分段的,因此,段表也与页表的内容不同,页表中直接是逻辑页号对应物理块号,如图1-6-3所示,段表有段长和基址两个属性,才能确定一个逻辑段在物理段中的位置。
优点:多道程序共享内存,各段程序修改互不影响。
缺点:内存利用率低,内存碎片浪费大。
综上,分页是根据物理空间划分,每页大小相同;分段是根据逻辑空间划分,每段是一个完整的功能,便于共享,但是大小不同。
地址表示
段式存储管理地址表示:(段号,段内偏移)。其中段内偏移不能超过该段号对应的段长,否则越界错误,而此地址对应的真正内存地址应该是:段号对应的基地址+段内偏移。
段页式存储管理
对进程空间先分段,后分页,具体原理图如图1-6-4所示。
段页式存储管理优、缺点如下。
优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增
加,使得执行速度大大下降。