操作系统升级方法及装置制造方法及图纸

技术编号:12030853 阅读:108 留言:0更新日期:2015-09-10 17:34
本公开关于一种操作系统升级方法及装置,属于计算机技术领域。所述方法包括:对操作系统进行升级;在升级过程中,监听是否有操作系统的内核广播的异常信号,异常信号是内核检测到进程地址访问错误时生成的;当监听到异常信号时,对异常信号进行处理。本公开可解决Recovery服务在升级操作系统的过程中产生异常,无法处理异常的问题,可达到能够对升级过程中产生的异常进行处理,从而提高升级的成功率的效果。

【技术实现步骤摘要】

本公开涉及计算机
,特别涉及一种操作系统升级方法及装置
技术介绍
在操作系统发布后,开发人员可以根据新增功能或操作系统在使用过程中的漏洞编写代码,用户可以使用这些代码来升级操作系统,从而逐渐完善操作系统。以升级Android(安卓)系统为例,用户可以从开源网站中下载第三方库,第三方库包括本次升级所需的代码;启动Android系统中的Recovery服务,Recovery服务通过执行第三方库中的代码来升级操作系统。
技术实现思路
为了解决相关技术问题,本公开提供了一种操作系统升级方法及装置。根据本公开实施例的第一方面,提供一种操作系统升级方法,包括:对操作系统进行升级;在升级过程中,监听是否有所述操作系统的内核广播的异常信号,所述异常信号是所述内核检测到进程地址访问错误时生成的;当监听到所述异常信号时,对所述异常信号进行处理。根据本公开实施例的第二方面,提供一种操作系统升级装置,包括:系统升级模块,被配置为对操作系统进行升级;信号监听模块,被配置为在升级过程中,监听是否有所述操作系统的内核广播的异常信号,所述异常信号是所述内核检测到进程地址访问错误时生成的;信号处理模块,被配置为当所述信号监听模块监听到所述异常信号时,对所述异常信号进行处理。根据本公开实施例的第三方面,用于升级服务中,提供一种操作系统升级装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:对操作系统进行升级;在升级过程中,监听是否有所述操作系统的内核广播的异常信号,所述异常信号是所述内核检测到进程地址访问错误时生成的;当监听到所述异常信号时,对所述异常信号进行处理。本公开的实施例提供的技术方案可以包括以下有益效果:通过在升级过程中,监听是否有操作系统的内核广播的异常信号,异常信号是内核检测到进程地址访问错误时生成的;当监听到异常信号时,对异常信号进行处理,可以对升级过程中产生的异常进行处理,解决了 Recovery服务在升级操作系统的过程中产生异常,无法处理异常的问题,达到了提高升级的成功率的效果。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。【附图说明】此处的附图被并入说明书中并构成本公开说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是根据一示例性实施例示出的一种操作系统升级方法的流程图。图2是根据另一示例性实施例示出的一种操作系统升级方法的流程图。图3是根据一示例性实施例示出的一种操作系统升级装置的框图。图4是根据一示例性实施例示出的一种操作系统升级装置的框图。图5是根据一示例性实施例示出的一种用于操作系统升级的装置的框图。图6是根据一示例性实施例示出的一种用于操作系统升级的装置的框图。【具体实施方式】这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种操作系统升级方法的流程图,该操作系统升级方法应用于具有操作系统的电子设备中,如图1所示,该操作系统升级方法包括以下步骤。在步骤101中,对操作系统进行升级。在步骤102中,在升级过程中,监听是否有操作系统的内核广播的异常信号,异常信号是内核检测到进程地址访问错误时生成的。在步骤103中,当监听到异常信号时,对该异常信号进行处理。综上所述,本公开提供的操作系统升级方法,通过在升级过程中,监听是否有操作系统的内核广播的异常信号,异常信号是内核检测到进程地址访问错误时生成的;当监听到异常信号时,对异常信号进行处理,可以对升级过程中产生的异常进行处理,解决了Recovery服务在升级操作系统的过程中产生异常,无法处理异常的问题,达到了提高升级的成功率的效果。图2是根据另一示例性实施例示出的一种操作系统升级方法的流程图,该操作系统升级方法应用于具有操作系统的电子设备中,如图2所示,该操作系统升级方法包括如下步骤。在步骤201中,对操作系统进行升级。电子设备可以从开源网站中下载第三方库,该第三方库包括本次升级操作系统所需的代码;启动电子设备中的升级服务,升级服务创建多个线程,通过各个线程来调用代码中的函数,以实现对操作系统的升级。其中,当操作系统是Android系统时,升级服务可以是Recovery服务。在步骤202中,在升级过程中,监听内核生成并广播的信号。当第三方库的编码不完善时,会导致进程地址访问错误,此时线程无法调用函数,导致升级过程存在异常。当操作系统是Android系统时,Android系统使用的是Iinux内核,Iinux内核在监测到存在异常时会生成并广播对应的信号,升级服务监听该信号。此时的信号可能是由于进程地址访问错误产生的信号,也可能是由于其他异常所产生的信号。本实施例将由于进程地址访问错误而产生的信号称为异常信号,此时,异常信号是内核检测到进程地址访问错误时生成的。在步骤203中,当监听到信号时,检测该信号是否是预先注册的异常信号中的一种。由于升级服务并不确定拦截到的信号是否是由于进程地址访问错误产生的异常信号,因此,升级服务还需要对拦截到的信号是否是异常信号进行检测。在一种可能的实现方式中,可以预先注册各种异常信号,升级服务检测该信号是否是预先注册的异常信号中的一种。当该信号是异常信号中的一种时,执行步骤204 ;当该信号不是异常信号中的一种时,丢弃该信号。本实施例中预先注册的异常信号包括SIGILL、SIGABRT、SIGBUS、SIGFPE、SIGSEGV、SIGSTKFLT和SIGPIPE中的至少一种。其中,SIGILL用于指示非法指令异常、SIGABRT用于指示abort退出异常、SIGBUS用于指示硬件访问异常、SIGFPE用于指示浮点运算异常、SIGSEGV用于指示内存访问异常、SIGSTKFLT用于指示协处理器栈异常、SIGPIPE用于指示管道异常。上述异常信号是Android系统已经存在的信号,此处不作赘述。在步骤204中,当信号是预先注册的异常信号中的一种时,确定监听到异常信号。在拦截到异常信号后,升级服务还可以对异常信号进行处理。其中,对异常信号进行处理,包括:I)打印异常信号所对应的异常记录,和/或,2)确定异常信号所对应的恢复方式,根据恢复方式进行异常恢复。在第一种实现方式中,升级服务可以获取异常信号所对应的异常记录,并通过打印的方式将该异常记录提供给用户,用户可以根据该异常记录确定出第三方库中出错的代码,对上述代码进当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种操作系统升级方法,其特征在于,所述方法,包括:对操作系统进行升级;在升级过程中,监听是否有所述操作系统的内核广播的异常信号,所述异常信号是所述内核检测到进程地址访问错误时生成的;当监听到所述异常信号时,对所述异常信号进行处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:李明浩王广健朱瑞贤
申请(专利权)人:小米科技有限责任公司
类型:发明
国别省市:北京;11

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

1