[发明专利]基于虚拟化的宏内核操作系统载入模块权能隔离方法有效
申请号: | 201410284500.2 | 申请日: | 2014-06-23 |
公开(公告)号: | CN104036185B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 钱振江;刘永俊;汤力;姚宇峰;张雪伍 | 申请(专利权)人: | 常熟理工学院 |
主分类号: | G06F21/53 | 分类号: | G06F21/53 |
代理公司: | 南京苏高专利商标事务所(普通合伙)32204 | 代理人: | 张俊范 |
地址: | 215500 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于虚拟化的宏内核操作系统载入模块权能隔离方法,包括步骤在系统初始化时为虚拟内存的内核空间生成载入模块用页表和核心模块用页表;加载载入模块时,陷入虚拟机监控器,为两份页表设置属性后返回;载入模块申请动态内存时,陷入虚拟机监控器,更新两份页表属性后返回;当载入模块直接调用、跳转到核心模块的代码页时或者直接修改核心模块的数据页时,陷入虚拟机监控器,对两份页表进行切换,检查处理后返回。本发明方法借助虚拟机监控器的监控机制,使用页目录地址寄存器来标示系统的执行主体,实现对内核权能隔离。避免在内核态与用户态之间转换时频繁地干预,提高系统的整体性能。 | ||
搜索关键词: | 基于 虚拟 内核 操作系统 载入 模块 权能 隔离 方法 | ||
【主权项】:
一种基于虚拟化的宏内核操作系统载入模块权能隔离方法,其特征在于,包括以下步骤:S1、在系统初始化阶段,为处在虚拟内存3GiB~(4GiB‑1)的内核空间生成载入模块用页表和核心模块用页表,两份页表中线性地址到物理地址的映射相同;S2、加载载入模块时,执行载入模块初始化之前,操作系统陷入虚拟机监控器中,分别设置载入模块用页表和核心模块用页表属性,操作系统从虚拟机监控器返回;S3、载入模块申请动态内存时,操作系统陷入虚拟机监控器中,虚拟机监控器调用动态内存空间申请函数,为载入模块分配动态内存,与动态内存对应的载入模块用页表中载入模块数据页属性设置为可读可写,与动态内存对应的核心模块用页表中载入模块数据页属性设置为只读,操作系统从虚拟机监控器返回;S4、当载入模块直接调用、跳转到核心模块的代码页时,操作系统陷入虚拟机监控器中,虚拟机监控器通过转换页目录地址寄存器,从载入模块用页表切换到核心模块用页表;在通过监控器检查后,虚拟机监控器为载入模块调用核心模块的接口程序,操作系统从虚拟机监控器返回;当核心模块的接口程序执行完成并返回时,操作系统陷入虚拟机监控器中,虚拟机监控器通过转换页目录地址寄存器,从核心模块用页表切换到载入模块用页表,操作系统由虚拟机监控器返回到载入模块;S5、当载入模块直接修改核心模块的数据页时,操作系统陷入虚拟机监控器中,虚拟机监控器根据预定策略进行处理,处理结束后操作系统从虚拟机监控器返回;所述分别设置载入模块用页表和核心模块用页表属性,所述载入模块用页表中用户数据页和载入模块数据页属性设置为可读可写,用户代码页、核心模块数据页和载入模块代码页属性设置为只读,核心模块代码页属性设置为不映射;所述核心模块用页表中用户代码页、用户数据页和核心模块数据页属性设置为可读可写,核心模块代码页和载入模块数据页属性设置为只读,载入模块代码页属性设置为不映射。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常熟理工学院,未经常熟理工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410284500.2/,转载请声明来源钻瓜专利网。