1.进程的换入与换出:
由于内核执行某些操作而发现内存不足时,便调用(或唤醒)对换进程,主要任务便是实现进程的换入换出。
1>进程的换出指:
对换进程在实现进程换出时,将内存中的某些进程调出至对换区以便腾出内存空间。
步骤:
①选择被换出的进程。选择优先级最低的处于阻塞或睡眠状态的进程,考虑进程在内存中的驻留时间,若系统无阻塞进程,而现在内存空间仍不足时,选择优先级最低的就绪进程换出。
②进程换出过程。选择换出进程后,在换出时,只能换出非共享的程序和数据段。换出时,应先申请对换空间,若成功,则启动磁盘,将该进程的程序和数据传送到磁盘的对换区上。若过程无错,便可回收该进程的进程控制块(PCB)和内存分配表等,数据结构做相应的修改。若还有可换出的进程,则继续执行换出进程,直至内存中再无阻塞进程为止。
2>进程的换入:
对换进程将定时执行换入操作,首先查看PCB集合中的所有进程的状态,从中找出“就绪”状态但已换出的进程。
当有许多此类进程时,选择其中已换出到磁盘上时间最久(必须大于规定时间)的进程作为换入进程,为它申请内存。若成功,可直接将进程从外存调入内存;若失败,则需先将内存中某些进程换出,有足够内存空间后,再将其调入。成功后,若仍有可换入进程,继续执行换入换出过程,将其余处于“就绪且换出”状态进程陆续换入,直至外存无“就绪且换出”状态进程为止,或已无足够内存来换入进程,此时对换进程停止换入。
2.分页式存储管理方式:将用户程序分为若干固定大小区域,称为“页”或“页面”,将内存空间分为若干个物理块,页和物理块大小相等,任一页放入任一物理块,实现离散分配。
3.分段式存储管理方式:将用户程序分为若干固定大小不同的段,每段定义一组相对完整的信息,存储器分配时也以段为单位,段可以不相邻,实现离散分配。
4.段页式存储管理方式:将分页和分段式方式结合,同时具有两者的有点。
这里简单说明一下段页式系统的地址变换机构过程(能理解一个,其他几个也能理解):
系统给程序分配的逻辑地址,先通过段号S,结合段表寄存器的段表长度判断是否地址越界,越界直接终止,不越界通过段表寄存器去段表寻址,寻找所需要的段号,找到段号所对应的段表后再结合逻辑地址中的页号,寻找到该段中页面所对应页号所存储的物理块,再结合逻辑地址中的页内地址组成物理地址。(如上图)