一种内存变更处理方法,及操作系统技术方案

技术编号:12883015 阅读:50 留言:0更新日期:2016-02-17 15:29
本发明专利技术实施例公开了一种内存变更处理方法,及操作系统,用于多内核多操作系统进行内存变更处理。本发明专利技术实施例方法包括:第一操作系统获取内存资源变更的指示消息,所述指示消息用于指示第二操作系统的内存资源发生变更;所述第一操作系统根据所述指示消息构建高级配置和电源管理接口ACPI数据表,所述第一操作系统向所述第二操作系统发送处理器之间中断IPI指令,使得所述第二操作系统根据所述IPI指令,通过IPI事件模拟生成系统控制中断SCI下半部事件,并使得所述第二操作系统通过读取所述ACPI数据表运行所述SCI下半部事件。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种内存变更处理方法,及操作系统
技术介绍
多内核多操作系统为在多核系统下,在一个或多个内核上分别启动操作系统,这些操作系统共同组成多内核多操作系统。如,Rainforest系统。在一套多内核多操作系统(OS, Operating System)中,包括有两种操作系统;分别用于资源管理的管理操作系统(如,Rainforest系统中的Heavy OS),以及基于所述管理操作系统分配的系统资源创建的轻量级操作系统(如,Rainforest系统中的Light OS);其中,所述管理操作系统具有资源分配、回收、虚拟化及协调等功能的通用操作系统,它是硬件上第一个启动的操作系统实例。所述管理操作系统可以对多个轻量级操作系统的实例进行管理,并且直接对物理资源进行管理;而轻量级操作系统则没有物理资源的管理功能。在实际应用中,轻量级操作系统对资源的访问有热插拔的需求。在现有技术中,Linux系统的内存热插拔的实现分成两个阶段:I)Physical Memory Hot-plug phase (物理层面的内存热插拔阶段);2) Logical Memory Hot-plug phase (逻辑层面的内存热插拔阶段)。物理层面的内存热插拔必须依赖硬件和固件提供必要的支持,以提供物理内存热插拔的环境。如果在操作系统连接新的内存时,需要由固件(firmware)提供通知机制。由于现有的Hot-Plug技术需要依赖于操作系统以外的硬件平台(如,热拔插控制器,各种平台下的各种名字空间都不尽相同)支持,不能由一台硬件设备独立完成。【专利技术内容】本专利技术实施例提供了一种内存变更处理方法,及操作系统,用于多内核多操作系统进行内存变更处理。本专利技术实施例第一方面提供的内存变更处理方法,包括:第一操作系统获取内存资源变更的指示消息,所述指示消息用于指示第二操作系统的内存资源发生变更;所述第一操作系统为具有物理资源管理能力的系统,所述第二操作系统为基于所述第一操作系统分配的系统资源创建的系统;所述第一操作系统根据所述指示消息构建高级配置和电源管理接口 ACPI数据表,所述ACPI数据表为所述第一操作系统在所述第一操作系统与所述第二操作系统的共享内存中,更新维护的所述第二操作系统进行内存变更所使用的数据表;所述第一操作系统向所述第二操作系统发送处理器之间中断IPI指令,使得所述第二操作系统根据所述IPI指令,通过IPI事件模拟生成系统控制中断SCI下半部事件,并使得所述第二操作系统通过读取所述ACPI数据表运行所述SCI下半部事件,以完成因内存变更而产生的中断任务。在第一方面的第一种可能实现的方法中,所述第一操作系统根据所述指示消息构建ACPI数据表,包括:所述第一操作系统构建数据结构,并将与所述第二操作系统的内存资源变更相关的硬件信息填充到指定的物理地址,所述数据结构包括多个ACPI数据表之间的数据关联关系,所述ACPI数据表包括:根系统描述表RSDT,固定ACPI描述表FADT以及可区分系统描述表DSDT。本专利技术实施例第二方面提供的内存变更处理方法,包括:第二操作系统接收第一操作系统发送的IPI指令,所述第一操作系统为具有物理资源管理能力的系统,所述第二操作系统为基于所述第一操作系统分配的系统资源创建的系统;所述IPI指令为所述第一操作系统根据所述第二操作系统发生内存变更而生成的中断指示;所述第二操作系统根据所述IPI指令生成系统控制中断SCI下半部事件,所述SCI下半部事件是通过IPI事件模拟的;所述第二操作系统通过读取ACPI数据表运行所述SCI下半部事件,以完成因内存变更而产生的中断任务,所述ACPI数据表为所述第一操作系统在所述第一操作系统与所述第二操作系统的共享内存中,更新维护的所述第二操作系统进行内存变更所使用的数据表。在第二方面的第一种可能实现的方法中,所述第二操作系统根据所述IPI指令生成SCI下半部事件,包括:所述第二操作系统根据所述IPI指令在可区分系统描述表DSDT写入内存变更控制方法,使得所述第一操作系统通过ACPI数据表之间的数据关联关系,运行所述内存变更控制方法,所述DSDT为所述ACPI数据表中所述第二操作系统可以进行信息读写的数据表;所述内存变更控制方法包括:读取所述DSDT中需要分配的物理内存信息,向所述第二操作系统的驱动层发出通告消息,所述通告消息用于指示当前需要进行内存变更操作操作,所述驱动层的操作系统能源管理OSPM接口读取所述物理内存信息,并执行内存变更的相关代码。结合第二方面的第一种可能实现的方法,在第二种可能实现的方法中,所述第二操作系统通过读取所述ACPI数据表运行所述SCI下半部事件,包括:所述第二操作系统接收所述第一操作系统发送的通告消息,所述通告消息用于指示当前需要进行内存变更操作操作;所述第二操作系统根据所述通告消息调用所述OSPM接口读取DSDT中的物理内存信息,并执行内存变更的相关代码。本专利技术实施例第三方面提供的操作系统,作为第一操作系统,与第二操作系统机型交互,包括:指示获取单元,用于获取内存资源变更的指示消息,所述指示消息用于指示第二操作系统的内存资源发生变更;所述第一操作系统为具有物理资源管理能力的系统,所述第二操作系统为基于所述第一操作系统分配的系统资源创建的系统;数据表构建单元,用于根据所述指示消息构建高级配置和电源管理接口 ACPI数据表,所述ACPI数据表为所述第一操作系统在所述第一操作系统与所述第二操作系统的共享内存中,更新维护的所述第二操作系统进行内存变更所使用的数据表;指令发送单元,用于向所述第二操作系统发送处理器之间中断IPI指令,使得所述第二操作系统根据所述IPI指令,通过IPI事件模拟生成系统控制中断SCI下半部事件,并使得所述第二操作系统通过读取所述ACPI数据表运行所述SCI下半部事件,以完成因内存变更而产生的中断任务。在第三方面的第一种可能实现的方法中,所述数据表构建单元具体用于:构建数据结构,并将与所述第二操作系统的内存资源变更相关的硬件信息填充到指定的物理地址,所述数据结构包括多个ACPI数据表之间的数据关联关系,所述ACPI数据表包括:根系统描述表RSDT,固定ACPI描述表FADT以及可区分系统描述表DSDT。本专利技术实施例第四方面提供的操作系统,包括:作为第二操作系统,与第一操作系统机型交互,包括:指令接收单元,用于接收第一操作系统发送的IPI指令,所述第一操作系统为具有物理资源管理能力的系统,所述第二操作系统为基于所述第一操作系统分配的系统资源创建的系统;所述IPI指令为所述第一操作系统根据所述第二操作系统发生内存变更而生成的中断指示;中段模拟单元,用于根据所述IPI指令生成系统控制中断SCI下半部事件,所述SCI下半部事件是通过IPI事件模拟的;中段执行单元,用于通过读取ACPI数据表运行所述SCI下半部事件,以完成因内存变更而产生的中断任务,所述ACPI数据表为所述第一操作系统在所述第一操作系统与所述第二操作系统的共享内存中,更新维护的所述第二操作系统进行内存变更所使用的数据表。在第四方面的第一种可能实现的方法中,所述中段模拟单元具体用于:根据所述IPI指令在可区分系统描述表DSDT本文档来自技高网...

【技术保护点】
一种内存变更处理方法,其特征在于,包括:第一操作系统获取内存资源变更的指示消息,所述指示消息用于指示第二操作系统的内存资源发生变更;所述第一操作系统为具有物理资源管理能力的系统,所述第二操作系统为基于所述第一操作系统分配的系统资源创建的系统;所述第一操作系统根据所述指示消息构建高级配置和电源管理接口ACPI数据表,所述ACPI数据表为所述第一操作系统在所述第一操作系统与所述第二操作系统的共享内存中,更新维护的所述第二操作系统进行内存变更所使用的数据表;所述第一操作系统向所述第二操作系统发送处理器之间中断IPI指令,使得所述第二操作系统根据所述IPI指令,通过IPI事件模拟生成系统控制中断SCI下半部事件,并使得所述第二操作系统通过读取所述ACPI数据表运行所述SCI下半部事件,以完成因内存变更而产生的中断任务。

【技术特征摘要】

【专利技术属性】
技术研发人员:邬小龙高云伟陆钢谢壁伟
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1