在嵌入式系统中操作系统的管理方法及装置的制作方法

文档序号:6586526阅读:143来源:国知局
专利名称:在嵌入式系统中操作系统的管理方法及装置的制作方法
技术领域
本发明涉及移动通信领域,尤其涉及一种在嵌入式系统中操作系统的管理方法及
装置。
背景技术
在嵌入式系统中通常需要借助多个CPU(Central Processing Unit,中央处理器) 来实现运行多个操作系统。如大部分智能手机平台采用双CPU的方案来运行双操作系 统。其中一个CPU运行智能机操作系统,用于实现与用户之间的交互;另外一个CPU运行 MODEM (MOdulator/DEModulator,调制器/解调器)操作系统,用于给用户提供MODEM特性 功能,如无线协议栈功能。 在嵌入式系统中采用双CPU运行双操作系统时,该嵌入式系统的成本一般较高。
现有技术中通过采用在单CPU上运行双操作系统来降低系统的成本和复杂度,如减少一套
CPU、 FLASH、 SDRAM ;降低双核总线接口复杂度;降低软件复杂度。 现有技术通常采用以下方案在嵌入式系统中实现单CPU运行多操作系统 —、采用虚拟CPU技术。虚拟化技术是通过在单CPU上实现多个虚拟机,操作系统
运行在虚拟机上。对于操作系统而言,每个虚拟机就是一个逻辑的CPU,从而可以在单CPU
上运行多系统。 然而,采用虚拟化技术需要在物理CPU上增加一层虚拟机并对其进行解析,因此 会造成比较大的CPU性能损失。 二、通过将操作系统移植到同一个微内核上,可以实现在单CPU上运行多操作系 统,移植后的操作系统提供和原操作系统相同的接口功能。 采用该方案,需要将操作系统在新的微内核上重新移植一遍,通常工作量是比较 巨大的,而且由于第三方发布操作系统的升级版本时,都只能提供在原操作系统上的版本, 因此每次移植后的操作系统需要升级时都要通过将升级版本的操作系统重新进行一遍移 植,导致该嵌入式系统的后期维护工作的复杂度较高,移植工作需要持续进行,工作量的花 费不能控制。

发明内容
本发明的实施例提供一种在嵌入式系统中操作系统的管理方法及装置,以较少的 性能损失和较低的产品复杂度在单CPU上实现了运行多操作系统。
为达到上述目的,本发明的实施例采用如下技术方案 —种在嵌入式系统中操作系统的管理方法,该嵌入式系统中包括至少两个操作系
统,所述方法包括
接收中断指令; 保存当前运行的操作系统状态; 将所述当前运行的操作系统切换到所述中断指令对应的目标操作系统。
—种系统切换装置,包括 接收单元,用于接收中断指令; 保存单元,用于保存当前运行的操作系统状态; 切换单元,用于将所述当前运行的操作系统切换到所述中断指令对应的目标操作 系统。 由上述技术方案所描述的本发明实施例,在所述嵌入式系统中,当在单CPU上运 行多操作系统时,系统切换装置统一接收中断指令,根据中断指令的不同在需要进行操作 系统切换时,所述系统切换装置将当前运行的操作系统状态进行保存,然后切换到所述中 断指令对应的目标操作系统。所述切换后的目标操作系统直接运行在真正的物理CPU上, 不仅实现了在单CPU上多个操作系统之间的切换,也避免了现有技术中通过采用虚拟机模 拟CPU来实现在单CPU上运行多操作系统时带来的CPU性能损失。同时由于上述技术方 案中对所述多个操作系统的修改很小,使得维护所述多个操作系统的工作量大为减少,从 而也解决了现有技术中采用将操作系统移植到同一个微内核上而导致的所述嵌入式系统 的后期维护工作的复杂度较高的问题,实现了以较少的性能损失和较低的产品复杂度在单 CPU上运行多操作系统。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
图1为实施例1中在嵌入式系统中操作系统的管理方法流程图;
图2为实施例1中系统切换装置的结构框图; 图3为实施例2中在嵌入式系统中操作系统的管理方法流程图;
图4为实施例2中系统切换装置的结构框图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
实施例1 : 本发明的实施例提供一种在嵌入式系统中操作系统的管理方法,所述嵌入式系统 中包括至少两个操作系统,在单CPU上运行所述至少两个操作系统,如图1所示,该方法包 括如下步骤 101、系统切换装置接收中断指令。由于在单CPU上运行所述至少两个操作系统, 所述系统切换装置通过统一接管上述操作系统的全部或部分中断处理程序,由系统切换装 置调用操作系统的中断处理程序来处理所述中断指令,而不是由操作系统来直接调用中断 处理程序。当有中断指令来到时,通过系统切换装置统一接收中断指令,而不是通过当前运行的操作系统来接收,避免了当所述接收到的中断指令不能在当前运行的操作系统下执行 时而无法进行处理的问题。 102、所述系统切换装置在接收到所述中断指令之后,根据所述中断指令判断到需 要进行操作系统切换时,保存当前运行的操作系统状态。由于所述中断指令中包含对应的 目标操作系统标识,不同的中断指令对应不同的操作系统来处理,通过判断该标识可以是 确定所述中断指令是由哪个操作系统来具体执行。然后将当前运行的操作系统状态保存起 来,可以在需要恢复当前运行的操作系统时,方便快速地恢复到所述切换之前的操作系统。
103、所述系统切换装置将所述当前运行的操作系统切换到所述中断指令对应的 目标操作系统。不同的中断指令对应不同的操作系统来处理,当所述接收到的中断指令不 是对应当前运行的操作系统时,通过系统切换装置可以方便的切换到所述接收到的中断指 令对应的目标操作系统,保证所述接收到的中断指令由正确的操作系统来处理。经过系统 切换装置的切换,所述切换前的操作系统被保存起来,暂时处于挂起状态,而切换后的目标 操作系统将直接运行在单CPU上,解决了通过虚拟机模拟造成的CPU性能损失。此外,由于 上述方法对所述多个操作系统的修改很小,从而使得维护所述多个操作系统的工作量大为 减少,降低了所述嵌入式系统的后期维护工作的复杂度。 为了实现上述方法,本发明实施例还提供一种系统切换装置,如图2所示,该装置 包括接收单元21、保存单元22和切换单元23。 其中,所述接收单元21用于接收中断指令。不同的中断指令对应不同的操作系 统,当所述接收单元21接收到的中断指令不是对应于当前运行的操作系统时,保存单元22 用于保存当前运行的操作系统状态。所述保存单元22将当前运行的操作系统状态保存起 来,可以在需要恢复当前运行的操作系统时,方便快速地恢复到所述切换之前的操作系统。 然后,切换单元23用于将所述当前运行的操作系统切换到所述中断指令对应的目标操作 系统。通过所述切换单元23切换后的目标操作系统将直接运行在单CPU上。从而实现了 以较少的性能损失和较低的产品复杂度在单CPU上运行多操作系统。
实施例2 : 由实施例1可知,所述嵌入式系统中包括至少两个操作系统,本实施例假设应用 场景为智能手机平台上单CPU运行双操作系统,其中一个为运行应用程序的应用操作系 统,另一个为提供无线协议栈功能的MODEM操作系统。根据中断指令的来源不同,所述中断 指令可以为操作系统外部发送的第一指令或者为操作系统发送的第二指令,本实施例以所 述中断指令为操作系统外部发送的第一指令时为例详细介绍在嵌入式系统中操作系统的 管理方法,如图3所示,该方法包括如下步骤 301、当有操作指令来到时,由系统切换装置统一接收所述操作指令,并判断所述
操作指令是否为中断指令。由系统切换装置统一接收所述操作指令可以避免当所述接收到
的操作指令不能在当前运行的操作系统下执行时而无法进行处理的问题。 然后在判断到所述操作指令不是中断指令时,指示当前运行的操作系统直接执行
所述操作指令。如所述操作指令假设为用户的按键指令时,当前正在运行的应用操作系统
接收到用户的按键指令后,由于所述用户按键指令是由应用操作系统执行的,此时不需要
切换操作系统,直接由所述当前运行的应用操作系统执行所述用户按键指令即可。 302、当判断到所述操作指令为中断指令时,进一步判断所述中断指令是否为来自
6当前运行的操作系统外部的第一指令。所述第一指令可以为在应用操作系统下执行的用户
按键指令或者在MODEM操作系统下执行的下载指令、呼叫连接请求指令等。 303、当判断到所述中断指令来自所述当前运行的操作系统外部的第一指令时,
如,所述接收到的第一指令为执行下载任务的指令,假设所述当前运行的操作系统为应用
操作系统时,由于所述接收到的第一指令为执行下载任务的指令,该第一指令需要在MODEM
操作系统下执行,此时就需要进行操作系统的切换。在执行切换操作系统之前,所述系统切
换装置保存所述当前运行的操作系统状态。 将当前运行的操作系统状态保存起来,可以在需要恢复当前运行的操作系统时, 方便快速地恢复到所述切换之前的操作系统。 304、所述系统切换装置将所述当前运行的应用操作系统切换到执行所述第一指 令的MODEM操作系统。 305、切换到MODEM操作系统之后,所述系统切换装置指示所述切换后的MODEM操 作系统执行所述第一指令。所述MODEM操作系统通过调用中断处理程序执行下载的指令。
306、当上述切换后的MODEM操作系统执行完所述第一指令之后,接收第三指令, 所述第三指令用于从所述目标操作系统切换回所述当前运行的操作系统,此时系统切换装 置会根据所述第三指令及所述保存的当前运行操作系统状态,将所述目标操作系统切换回 所述当前运行的操作系统。 307、当判断到所述操作指令为中断指令时,但是判断到所述所述中断指令不是来 自所述当前运行的操作系统外部的第一指令时,进一步判断所述中断指令是否为来自当前 运行的操作系统的用于切换操作系统的第二指令。由于所述中断指令也可以为操作系统发 送的第二指令,如当前运行的操作系统想主动放弃CPU的控制权时,通过一个切换接口实 现操作系统之间的主动切换, 所述第二指令实现切换为第二指令对应的目标操作系统的功能。如当前运行的应 用操作系统想直接切换到MODEM操作系统。 当判断到所述中断指令为来自当前运行的操作系统的用于切换操作系统的第二 指令,保存当前运行的操作系统状态。 308、将所述当前运行的操作系统切换到第二指令指示的目标操作系统。 所述系统切换装置将所述当前运行的操作系统切换到所述中断指令对应的目标
操作系统。所述切换前的操作系统被保存起来,暂时处于挂起状态,而切换后的目标操作系
统将直接运行在单CPU上,解决了通过虚拟机模拟造成的CPU性能损失。此外,由于上述方
法对所述多个操作系统的修改很小,从而使得维护所述多个操作系统的工作量大为减少,
降低了所述嵌入式系统的后期维护工作的复杂度,实现了以较少的性能损失和较低的产品
复杂度在单CPU上运行多操作系统。 本发明实施例还提供一种系统切换装置,如图4所示,该装置包括接收单元41、
判断单元42、保存单元43、切换单元44、第一指示单元45和第二指示单元46。 其中所述接收单元41用于在有操作指令来到时,统一接收所述操作指令。由系统
切换装置统一接收所述操作指令,而不是通过当前运行的操作系统来接收,避免了当所述
接收到的操作指令不能在当前运行的操作系统下执行时而无法进行处理的问题。然后所述
判断单元42用于所述接收单元41接收到的操作指令是否为中断指令。在所述判断单元42判断到所述操作指令不是中断指令时,所述第二指示单元46用于指示当前运行的操作系 统直接执行所述操作指令。 在所述判断单元42判断到所述操作指令是中断指令时,所述判断单元42还用于 判断所述中断指令是否为来自当前运行的操作系统外部的第一指令。当所述中断指令为当 前运行的操作系统外部发送的第一指令时,保存单元43用于保存所述当前运行的操作系 统状态。以便于在在需要恢复当前运行的操作系统时,方便快速地恢复到所述切换之前的 操作系统。然后,切换单元44用于将所述当前运行的操作系统切换到执行所述第一指令的 目标操作系统。第一指示单元45用于指示所述切换后的目标操作系统执行所述第一指令。
当切换后的目标操作系统执行完所述第一指令时,所述接收单元41还用于接收 第三指令,所述第三指令用于从所述目标操作系统切换回所述当前运行的操作系统。然后 所述切换单元44还用于根据所述第三指令及所述保存的当前运行操作系统状态,将所述 目标操作系统切换回所述当前运行的操作系统。不仅实现了可当前操作系统切换为目标操 作系统,也实现了在需要回复切换前的操作系统时,快速地切换回上述当前运行的操作系 统。 由于所述操作指令也可以为当前操作系统发送的第二指令,如当前运行的操作 系统想主动放弃CPU的控制权时,通过一个切换接口实现操作系统之间的主动切换,那么 在所述判断单元42判断到所述操作指令是中断指令时,所述判断单元42还用于判断所述 中断指令是否为当前运行的操作系统发送的用于切换操作系统的第二指令。当所述中断指 令为当前运行的操作系统发送的用于切换操作系统的第二指令时,所述保存单元43还用 于保存当前运行的操作系统状态。然后,所述切换单元44还用于将所述当前运行的操作系 统切换到第二指令指示的目标操作系统。从而实现了在单CPU上运行多操作系统的目的。
本发明的实施例主要应用于移动通信领域,以较少的性能损失和较低的产品复杂 度在嵌入式系统中实现了单CPU运行多操作系统。 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借 助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳 的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计 算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。 以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
8
权利要求
一种在嵌入式系统中操作系统的管理方法,其特征在于,该嵌入式系统中包括至少两个操作系统,所述方法包括接收中断指令;保存当前运行的操作系统状态;将所述当前运行的操作系统切换到所述中断指令对应的目标操作系统。
2. 根据权利要求1所述的在嵌入式系统中操作系统的管理方法,其特征在于,该方法 还包括判断所述中断指令是否为来自当前运行的操作系统外部的第一指令。
3. 根据权利要求2所述的在嵌入式系统中操作系统的管理方法,其特征在于,该方法 还包括指示所述切换后的目标操作系统执行所述第一指令。
4. 根据权利要求1所述的在嵌入式系统中操作系统的管理方法,其特征在于,该方法 还包括判断所述中断指令是否为来自当前运行的操作系统的用于切换操作系统的第二指令。
5. 根据权利要求1所述的在嵌入式系统中操作系统的管理方法,其特征在于,该方法 还包括接收操作指令;判断所述操作指令是否为中断指令;当所述操作指令不是中断指令时,指示当前运行的操作系统直接执行所述操作指令。
6. 根据权利要求l-4任一项权利要求所述的在嵌入式系统中操作系统的管理方法,其 特征在于,该方法还包括接收第三指令,所述第三指令用于从所述目标操作系统切换回所述当前运行的操作系统;根据所述第三指令及所述保存的当前运行操作系统状态,将所述目标操作系统切换回 所述当前运行的操作系统。
7. —种系统切换装置,其特征在于,包括 接收单元,用于接收中断指令; 保存单元,用于保存当前运行的操作系统状态;切换单元,用于将所述当前运行的操作系统切换到所述中断指令对应的目标操作系统。
8. 根据权利要求7所述的系统切换装置,其特征在于,还包括判断单元,用于判断所述中断指令是否为来自当前运行的操作系统外部的第一指令。
9. 根据权利要求8所述的系统切换装置,其特征在于,还包括 第一指示单元,用于指示所述切换后的目标操作系统执行所述第一指令。
10. 根据权利要求7所述的系统切换装置,其特征在于,所述判断单元还用于判断所述中断指令是否为来自当前运行的操作系统的用于切换 操作系统的第二指令。
11. 根据权利要求7所述的系统切换装置,其特征在于,所述接收单元还用于接收操作 指令,所述判断单元还用于判断所述操作指令是否为中断指令;该装置还包括第二指示单元,用于当所述操作指令不是中断指令时,指示当前运行的 操作系统直接执行所述操作指令。
12.根据权利要求7-10所述的系统切换装置,其特征在于,所述接收单元还用于接收 第三指令,所述第三指令用于从所述目标操作系统切换回所述当前运行的操作系统;所述切换单元还用于根据所述第三指令及所述保存的当前运行操作系统状态,将所述 目标操作系统切换回所述当前运行的操作系统。
全文摘要
本发明公开一种在嵌入式系统中操作系统的管理方法及装置,涉及移动通信领域,解决了现有技术中单CPU上运行多操作系统时造成的性能损失较大和产品复杂度较高的问题。本发明实施例中所述嵌入式系统包括至少两个操作系统,所述方法包括接收中断指令;保存当前运行的操作系统状态;将所述当前运行的操作系统切换到所述中断指令对应的目标操作系统。该方法主要应用于移动通信领域。
文档编号G06F9/48GK101782861SQ20091026169
公开日2010年7月21日 申请日期2009年12月24日 优先权日2009年12月24日
发明者张建春 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1