发明名称 与调度性能直接相关的内存管理核的硬件化的方法
摘要 本发明公开了一种与调度性能直接相关的进程内存管理核的硬件化的方法。是通过将操作系统中与调度性能直接相关的进程内存管理,包括进程页表创建,删除,切换,虚拟地址映射,虚拟地址到物理地址的转换的功能交付给硬件来完成,降低了调度时进程切换时的开销,提高了进程切换时效率。本发明可以利用在操作系统的其他部件中。本发明实现了在硬件化的进程内存管理,降低了进程切换时的开销,提高了进程切换时效率,将原本由软件代码来实现的功能交付给硬件单元来完成,消除了操作系统的某一部分功能被恶意篡改的可能性,保证了处理的完全正确性和可靠性。
申请公布号 CN101539869A 申请公布日期 2009.09.23
申请号 CN200910097644.6 申请日期 2009.04.13
申请人 浙江大学 发明人 陈天洲;缪良华;张楠;陈剑;汪达舟
分类号 G06F9/48(2006.01)I 主分类号 G06F9/48(2006.01)I
代理机构 杭州求是专利事务所有限公司 代理人 林怀禹
主权项 1、一种与调度性能直接相关的内存管理核的硬件化的方法,其特征在于,包括以下步骤:(1)进程页表的创建:输入:PID;输出:suc寄存器,操作成功返回1,失败返回0;读入要创建页表的进程的PID,在PID与页表基地址转换表中找到PID所对应的表项,并将进程页表的基地址,即PID*1024写入该表项中,采用一级页表映射,每个页表的大小为4K Bytes,因此该页表映射最多达8M Bytes的内存空间;(2)进程虚拟地址到物理地址的映射:输入:PID,要映射的虚拟地址,要映射的物理地址;输出:suc寄存器,操作成功返回1,失败返回0;根据输入的PID,计算出该进程的页表基地址,利用输入的虚拟地址的高10位作为索引,找到页表中该虚拟地址对应的项,检查表项中的合法位是否置位,如果已经置位则操作失败,将suc赋值为0;否则将物理地址的高10位填入该表项中并将表项中的合法位置位;该合法位标识了该虚拟页已经被映射使用;(3)进程虚拟地址到物理地址的取消映射:输入:PID,要取消映射的虚拟地址;输出:suc寄存器,操作成功返回1,失败返回0;根据输入的PID,计算出该进程的页表基地址,利用输入的虚拟地址的高10位作为索引,找到页表中该虚拟地址对应的项,将表项中的合法位置0,表示该虚拟页已经被释放;(4)进程页表的切换:输入:即将运行PID;输出:suc寄存器,操作成功返回1,失败返回0;首先将切换前正在运行的进程PID存储到用来记录上一个运行进程PID号寄存器last_pid中,然后将输入的进程PID号赋给标志当前运行进程PID的寄存器curr_pid;由于在进行虚拟地址到物理地址的转换时,页表的选择是根据curr_pid来进行计算,因此修改了curr_pid的值实现进程页表切换;(5)进程页表的删除:输入:PID;输出:无;读入要创建页表的进程的PID,在进程号与页表基地址转换表中找到进程号所对应的表项,并将该表项清空,表明该进程的页表映射已经完全失效,同时要将实际页表中所有项的合法位清空,实现进程页表的删除;(6)进程虚拟地址到物理地址的转换:输入:虚拟地址VA;输出:物理地址PA,suc寄存器,操作成功返回1,失败返回0;将输入虚拟地址的前10位作为索引,首先在TLB中进行查找,如果查找到则直接返回物理地址;否则以curr_pid计算出当前进程页表的基地址,在该页表中选择出对应的表项;然后检查该表项的合法位,如果该位为零则表明无此虚拟地址,程序访问错误,置suc为0;否则将表项中存储的物理地址高10位读出到PA寄存器中和TLB的对应项中;TLB的替换采用先进先出的替换方法。
地址 310027浙江省杭州市西湖区浙大路38号