存储管理
11分区存储组织
不同存储管理的一些分配算法。
存储区域原来是一片大的空白区域,系统把用户需要的大小分配给相应的内存。
作业1与作业2之间的空白区域是原来的程序执行完成后释放出来的
存储区间是动态分配的,分配的过程中考虑 在哪一个空白区域切割,有相应的算法考虑。
分配的空间尽可能在与他接近的空间去切割,这样能够让系统保留很多大块的空白区。
最佳适应算法的缺陷,运行一段时间后,系统的碎块会越来越多,碎块很小不好利用。
最差适应算法:把空白区域从小到大排列,给作业分配空间先考虑从大块中切割出来。
循环首次适应算法:把空闲区域连成环状,顺次来分配。
12页式存储、段式存储、段页式存储
页式存储组织
运行时候的空间琐碎,可能加起来足够大,但是却不能运行没因为无法一次性装入程序,因此段页式存储。
采取的机制是需要运行哪些块,哪些页,就调用哪些。这时候就需要页表来记录映射关系(用户程序的多少页对应内存多少块),可以解决超越内存容量的问题。
假设内存2G,可以运行4G程序,需要哪个程序页就调哪个.可以使内存内用率提高。
缺点,增加系统开销。页表记录程序,需要查表。
逻辑地址和物理地址的转换(常考)
页号块号需要查表才知道。
通过逻辑地址求物理地址,首先知道逻辑地址中那一部分是页号,页类地址,把页类地址的页号直接写下来,就是物理地址的页类地址。然后通过页号查找块号,把页号和页类地址拼接就是物理地址。
求物理地址
第一步,把逻辑地址中的页号和页类地址分开。
通过页面大小参数分开,页面大小4K=2^12,说明页类地址是12位,转成十六进制是3位。则页类地址A29,页号是5,对应的物理块号(页帧号)需要查表得知。
访问页面4不在内