说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210600560.5 (22)申请日 2022.05.30 (71)申请人 荣耀终端 有限公司 地址 518040 广东省深圳市福田区香蜜湖 街道东海社区红荔西路8089号深业中 城6号楼A单元3401 (72)发明人 王涛  (74)专利代理 机构 深圳中一联合知识产权代理 有限公司 4 4414 专利代理师 路亚芳 (51)Int.Cl. G06F 9/50(2006.01) (54)发明名称 内核栈的分配方法、 电子设备、 芯片及存储 介质 (57)摘要 本申请提供了一种内核栈的分配方法、 电子 设备、 芯片及存储介质, 涉及计算机技术领域。 通 过该方案, 在修改fork创建线 程时, 使用vmalloc 接口申请内核栈, 并将vmap区域进行4倍栈大小 对齐处理, 并初始分配一个页面或部分栈顶页 面。 通过内核栈内存空间的对齐处理, 支持内核 栈溢出检测。 在不影响异常向量正常 处理流程和 内核栈溢出检测功能的情况下, 实现内核栈按需 动态分配, 节省内存。 权利要求书2页 说明书18页 附图7页 CN 115098244 A 2022.09.23 CN 115098244 A 1.一种内核栈的分配方法, 其特 征在于, 包括: 创建第一线程; 为所述第一线程申请内核栈, 所述内核栈包括初始分配页和可分配页, 所述初始分配 页和所述可分配页的总和为S个页面, S=2N, N为大于或等于2的整数; 对所述内核栈的内存空间进行2k×S个页面对齐处 理, 其中k 为大于或等于2的整数; 当所述第一线程在内核空间发生异常事件, 且所述内核栈溢出时, 从所述可分配页中 为所述第一线程分配页面。 2.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括: 当所述第一线程在内核空间发生异常事件, 且所述内核栈未溢出时, 将所述第一线程 的上下文数据压入所述内核栈中; 通过所述初始分配页处 理所述异常事 件。 3.根据权利要求1或2所述的方法, 其特征在于, 所述从所述可分配页中为所述第一线 程分配页面, 包括: 根据所述异常事 件的异常类型, 确定所述异常事 件对应的页面分发策略; 在所述异常事件为所述内核栈访问异常的情况下, 根据 所述异常事件对应的页面分发 策略, 从所述可分配页中为所述第一线程分配页面。 4.根据权利要求3所述的方法, 其特征在于, 所述从所述可分配页中为所述第 一线程分 配页面, 包括: 从所述可分配页中获取一个页面; 将所述一个页面与所述第一线程建立映射关系。 5.根据权利要求1至4中任一项所述的方法, 其特征在于, 应用于电子设备, 所述电子设 备包括所述内核栈, 并且 还包括第一栈; 在所述从所述可分配页中为所述第一线程分配页面之前, 所述方法还 包括: 将栈指针从所述内核栈切换到所述第一栈; 将所述第一线程的上 下文数据压入所述第一栈中。 6.根据权利要求5所述的方法, 其特征在于, 所述将所述第 一线程的上下文数据压入所 述第一栈中, 包括: 在所述第一栈未溢出的情况 下, 将所述第一线程的上 下文数据压入所述第一栈中。 7.根据权利要求6所述的方法, 其特征在于, 在所述从所述可分配页中为所述第 一线程 分配页面之后, 所述方法还 包括: 根据所述第一线程的上 下文数据, 从所述第一栈出栈并返回到所述内核栈。 8.根据权利要求5或6所述的方法, 其特 征在于, 所述方法还 包括: 在所述第一栈溢出的情况下, 将栈指针从所述第一栈切换到第二栈, 并将所述第一线 程的上下文数据压入所述第二栈中; 调用panic函数进行复位处 理。 9.根据权利要求1至8中任一项所述的方法, 其特 征在于, S取4, k取2; 所述方法还 包括: 当栈指针第14bit的数值 为1时, 判断所述内核栈溢出; 或者, 当所述栈指针第14bit的数值 为0时, 判断所述内核栈未溢出。权 利 要 求 书 1/2 页 2 CN 115098244 A 210.根据权利要求1至9中任一项所述的方法, 其特 征在于, S取4, k取2; 所述方法还 包括: 当栈指针第13bit的数值 为1时, 判断第一栈溢出; 或者, 当所述栈指针第13bit的数值 为0时, 判断所述第一栈未溢出。 11.根据权利要求1至10中任一项所述的方法, 其特征在于, 所述异常事件为同步异常 或者中断。 12.一种电子设备, 其特征在于, 包括处理器, 所述处理器与存储器耦合, 所述处理器用 于执行所述存储器中存储的计算机程序或指令, 以使得所述电子设备实现如权利要求1至 11中任一项所述的方法。 13.一种芯片, 其特征在于, 包括处理器, 所述处理器与存储器耦合, 所述处理器用于执 行所述存储器中存储的计算机程序或指令, 以使得所述芯片实现如权利要求1至11中任一 项所述的方法。 14.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存储有计算机程 序, 当所述计算机程序在电子 设备上运行时, 使得所述电子 设备执行如权利要求 1至11中任 一项所述的方法。权 利 要 求 书 2/2 页 3 CN 115098244 A 3

.PDF文档 专利 内核栈的分配方法、电子设备、芯片及存储介质

文档预览
中文文档 28 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共28页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 内核栈的分配方法、电子设备、芯片及存储介质 第 1 页 专利 内核栈的分配方法、电子设备、芯片及存储介质 第 2 页 专利 内核栈的分配方法、电子设备、芯片及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:30:37上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。