[发明专利]一种基于异构处理器的Fork内存支撑方法在审
申请号: | 202110381659.6 | 申请日: | 2021-04-09 |
公开(公告)号: | CN114218125A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 黄高阳;王星焱;邹通;林海南;郑岩 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/50 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214038 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 处理器 fork 内存 支撑 方法 | ||
1. 一种基于异构处理器的Fork内存支撑方法,其特征在于,定义2个新管理数据结构Struct child_pte和struct Fork_page_info,在struct page结构中新增一个指针buddy_page,具体如下:
Struct child_pte{
struct mm_struct* mm;
pmd_t* pmd;
pte_t* pte;
};
struct Fork_page_info{
unsigned long vaddr;
struct child_pte cp[CHILD_NUM];
};
Struct child_pte数据项说明:
mm:子进程的mm_struct;
pmd:该页表项对应的pmd项;
pte:页面对应的页表项;
struct Fork_page_info数据项说明:
vaddr:页面对应的虚地址;
cp:页面Fork所属的子进程相关的管理结构数组;
struct page {
…
Struct Fork_page_info* buddy_page;
…
};
包括以下步骤:
S1、父进程调用Fork进入操作系统内核;
S2、内核创建新的子进程,并为子进程分配新的内存管理结构mm_struct以及新的页表;
S3、内核遍历父进程的vma,并根据vma的属性决定子进程是否要拷贝父进程对应的这块虚拟内存区(vma),如果需要拷贝,转S4,否则继续S3遍历下一个vma;
S4、为子进程创建vma,并将父进程需要被拷贝的vma的内容拷贝到新的vma中;
S5、遍历父进程页表中,该vma对应的页表项,如果页表项存在,就将该页表项拷贝到子进程对应的页表中,同时将父/子进程两个页表项都置为只读属性,并获取该页表项对应的物理页面的管理结构struct page,利用子进程的mm_struct、pmd及pte信息,初始化数据结构child_pte,并将该数据结构child_pte拷贝到页面对应的Fork_page_info中空闲的一个数组元素;
S6、返回S3;
当父进程写被Fork页面、进入内核的缺页处理时,不走核心标准的缺页处理,对页面的缺页处理旁路,具体如下:
S11、检查产生缺页的原因是否为写权限导致的,如果是,进入S12,否则进入核心标准的缺页处理流程;
S12、获取页表项对应的物理页面管理结构struct page,并取出其中的Fork_page_info信息;
S13、对Fork_page_info信息中的子进程相关数组struct child_pte cp进行遍历,如果该页面存在相关的子进程信息,就申请一个新的物理页面new_page,并将该Fork的物理页面内容拷贝到新的物理页面中去,然后转S14,否则转S17;
S14、取出相关的子进程信息,检查进程的页表项中的页面是否仍然为Fork页面,如果是,转S15,否则转S13继续遍历;
S15、将new_page对应的物理地址更新到该子进程的页表项中,并刷新该子进程对应的tlb;
S16、修改Fork页面对应的物理页面管理结构struct page相关计数器,转S13继续遍历;
S17、修改主进程对应的页表项的权限,增加可写的权限,完成缺页处理,返回用户。
2. 根据权利要求1所述的一种基于异构处理器的Fork内存支撑方法,其特征在于:S14中所述子进程信息主要为struct child_pte的内容。
3.根据权利要求1所述的一种基于异构处理器的Fork内存支撑方法,其特征在于:S16中所述计数器包括_count、_map_count。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110381659.6/1.html,转载请声明来源钻瓜专利网。