一种基于ARMv8的操作系统调测系统
摘要文本
电子科技大学; 中移物联网有限公司取得“一种透气窗帘布”专利技术,本发明公开了一种基于ARMv8的操作系统调测系统,包括前端模块和代理模块,代理模块嵌入基于ARMv8的操作系统内核,包含调试子模块和追踪子模块,前端模块是操作系统调测系统中与用户交互的接口;调试子模块用于执行调试指令,实现操作系统内核源码级调试;追踪子模块用于执行追踪指令,实现内核代码执行过程中的追踪事件记录。本发明通过调试与追踪两大功能模块实现操作系统内核源码级调试以及系统软硬件事件的追踪,帮助用户快速排查错误,对系统性能进行测试和优化。
专利主权项内容
1.一种基于ARMv8的操作系统调测系统,其特征在于,包括前端模块和代理模块,代理模块嵌入基于ARMv8的操作系统内核,包含调试子模块和追踪子模块,其中:前端模块是操作系统调测系统与用户交互的接口,存在两个工作模式:调试模式和追踪模式;当前端模块工作在调试模式时,用户向前端模块输入调试指令,调试指令包括断点指令,观察点指令和单步执行指令;其中:断点指令用于为某条指令地址设置断点;观察点指令用于将观察点与某个内存地址绑定;单步执行指令用于强制使得操作系统程序执行特定数量的指令;前端模块将调试指令转发至调试子模块,在接收到调试子模块移交的操作系统控制权后,向用户提供控制界面供用户对操作系统进行控制;当前端模块工作在追踪模式时,用户向前端模块输入追踪指令,包括硬件追踪指令和软件追踪指令,硬件追踪指令中包含某个硬件行为的指定信息和追踪条件,软件追踪指令包括期望追踪点触发的回调函数;如果追踪指令为硬件追踪指令,则前端模块将追踪指令发送至追踪子模块,如果追踪指令为软件追踪指令,则将软件追踪指令转换为汇编指令后发送至追踪子模块;然后接收追踪子模块反馈的追踪事件结果,按照预定分析策略进行分析后向用户反馈分析结果;调试子模块用于执行调试指令,实现操作系统内核源码级调试;调试子模块包括指令解析组件,断点组件,观察点组件,单步执行组件和控制权切换组件,其中:指令解析组件用于接收调试指令并进行解析,如果为断点控制指令则发送给断点组件,如果为观察点控制指令则发送给观察点组件,如果为单步执行指令则发送给单步执行组件;断点组件用于在接收到断点控制指令后,将断点写入ARMv8中的硬件断点寄存器,然后对断点进行监控,如果发生断点异常则向控制权切换组件发送断点异常消息;观察点组件用于在接收到观察点控制指令后,将观察点写入ARMv8中的硬件观察点寄存器,然后对观察点进行监控,如果发生观察点异常则向控制权切换组件发送观察点异常消息;单步执行组件用于在接收单步执行指令后,将PSTATE.ss标志位插入操作系统中对应程序,强制使得该程序执行特定数量的指令,然后暂停执行流,控制权切换组件发送执行流暂停消息;控制权切换组件在接收到断点异常消息、观察点异常消息或执行流暂停消息后,将操作系统中对应位置上下文中的寄存器进行保存,然后将操作系统控制权通过前端模块移交给前端模块;追踪子模块用于执行追踪指令,实现内核代码执行过程中的追踪事件记录;当追踪指令为硬件追踪指令,追踪子模块调用ARMv8处理器提供的ETM组件和PMU组件实现硬件追踪;当追踪指令为软件追踪指令,追踪子模块令操作系统将每次函数调用前所插入跳转指令的跳转地址修改为软件追踪指令中的指令段地址,实现软件追踪;追踪子模块将追踪事件结果反馈至前端模块。
专利申请信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种基于ARMv8的操作系统调测系统 |
| 专利类型 | 发明申请 |
| 申请号 | CN202311748701.9 |
| 申请日 | 2023/12/18 |
| 公告号 | CN117707969A |
| 公开日 | 2024/3/15 |
| IPC主分类号 | G06F11/36 |
| 权利人 | 电子科技大学; 中移物联网有限公司 |
| 发明人 | 肖堃; 王璐; 李蒙; 罗蕾; 陈丽蓉 |
| 地址 | 四川省成都市高新区(西区)西源大道2006号; 重庆市南岸区玉马路8号 |