某计算机系统的内存大小为128k,采用可变分区分配方式进行内存分配,当前系统的内存分块情况如下图所示,现有作业4申请内存9k,几种不同的存储分配算法在分配中,会产生什么样的结果呢?
页表
当运行一个程序的时候,假设为4k,可是把4k的程序放到2G的内存空间里面运行明显不太现实,因此产生了页表。把源程序根据相同内存划分为一个个小页,把2G的内存页划分为对应的块,建立页表
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销;可能产生抖动现象
物理地址和逻辑地址转化
逻辑地址:页号+页内地址(一般根据页面大小得到)
物理地址:物理块号+页内地址
段表
把源程序根据不同内存划分为一个个小段,把2G的内存划分为对应的块,建立段表
优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大段页式存储
先分段,再分页
优点:空间浪费小、存储共享容易、存储保护容易、能动态连接
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降