操作系统升级方法及装置的制造方法_4

文档序号:8922428阅读:来源:国知局

[0119]图6是根据一示例性实施例示出的一种用于操作系统升级的装置600的框图。例如,装置600可以被提供为一服务器。参照图6,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述操作系统升级方法。
[0120]装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口 650被配置为将装置600连接到网络,和一个输入输出(I/O)接口658。装置600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM, MacOS XTM,UnixTM, LinuxTM,FreeBSDTM 或类似。
[0121]本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0122]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【主权项】
1.一种操作系统升级方法,其特征在于,所述方法,包括: 对操作系统进行升级; 在升级过程中,监听是否有所述操作系统的内核广播的异常信号,所述异常信号是所述内核检测到进程地址访问错误时生成的; 当监听到所述异常信号时,对所述异常信号进行处理。2.根据权利要求1所述的方法,其特征在于,所述对所述异常信号进行处理,包括: 打印所述异常信号所对应的异常记录,和/或, 确定所述异常信号所对应的恢复方式,根据所述恢复方式进行异常恢复。3.根据权利要求2所述的方法,其特征在于,所述打印所述异常信号所对应的异常记录,包括: 获取所述升级过程中各个线程的线程标识和每个线程在所述升级过程中所调用的各个函数的函数名; 将所述异常信号、各个线程标识和每个线程标识所对应的函数名打印成所述异常记录。4.根据权利要求3所述的方法,其特征在于,所述获取所述升级过程中各个线程的线程标识和每个线程在所述升级过程中所调用的各个函数的函数名,包括: 从所述内核中获取与所述异常信号对应的各个线程的线程标识; 读取每个线程所对应的堆栈信息,所述堆栈信息用于记录所述线程顺序调用的函数; 基于各个堆栈信息读取对应的线程在所述升级过程中所调用的各个函数的函数名。5.根据权利要求4所述的方法,其特征在于,所述基于各个堆栈信息读取对应的线程在所述升级过程中所调用的各个函数的函数名,包括: 从各个堆栈信息中读取对应的线程所调用的函数的地址值; 从可执行文件中读取每个地址值所对应的函数名,所述可执行文件用于存储不同的地址值与不同的函数名之间的对应关系。6.根据权利要求1所述的方法,其特征在于,所述监听是否有所述操作系统的内核广播的异常信号,包括: 监听所述内核生成并广播的信号; 当监听到所述信号时,检测所述信号是否是预先注册的异常信号中的一种; 当所述信号是预先注册的异常信号中的一种时,确定监听到所述异常信号。7.根据权利要求6所述的方法,其特征在于,所述预先注册的异常信号包括非法指令异常SIGILL、abort退出异常SIGABRT、硬件访问异常SIGBUS、浮点运算异常SIGFPE、内存访问异常SIGSEGV、协处理器栈异常SIGSTKFLT和管道异常SIGPIPE中的至少一种。8.根据权利要求1至7任一所述的方法,其特征在于,当所述操作系统是安卓Android系统时: Recovery服务对操作系统进行升级; 在升级过程中,所述Recovery服务监听是否有所述操作系统的内核广播的异常信号,所述异常信号是所述内核检测到进程地址访问错误时生成的; 当所述Recovery服务监听到所述异常信号时,对所述异常信号进行处理。9.一种操作系统升级装置,其特征在于,所述装置,包括: 系统升级模块,被配置为对操作系统进行升级; 信号监听模块,被配置为在升级过程中,监听是否有所述操作系统的内核广播的异常信号,所述异常信号是所述内核检测到进程地址访问错误时生成的; 信号处理模块,被配置为当所述信号监听模块监听到所述异常信号时,对所述异常信号进行处理。10.根据权利要求9所述的装置,其特征在于,所述信号处理模块,包括: 第一处理子模块,被配置为打印所述异常信号所对应的异常记录,和/或, 第二处理子模块,被配置为确定所述异常信号所对应的恢复方式,根据所述恢复方式进行异常恢复。11.根据权利要求10所述的装置,其特征在于,所述第一处理子模块,包括: 信息获取子模块,被配置为获取所述升级过程中各个线程的线程标识和每个线程在所述升级过程中所调用的各个函数的函数名; 记录打印子模块,被配置为将所述异常信号、所述信息获取子模块获取的各个线程标识和每个线程标识所对应的函数名打印成所述异常记录。12.根据权利要求11所述的装置,其特征在于,所述信息获取子模块,包括: 线程标识获取子模块,被配置为从所述内核中获取与所述异常信号对应的各个线程的线程标识; 堆栈信息获取子模块,被配置为读取每个线程所对应的堆栈信息,所述堆栈信息用于记录所述线程顺序调用的函数; 函数名获取子模块,被配置为基于所述堆栈信息获取子模块获取的各个堆栈信息读取对应的线程在所述升级过程中所调用的各个函数的函数名。13.根据权利要求12所述的装置,其特征在于,所述函数名获取子模块,包括: 地址值读取子模块,被配置为从各个堆栈信息中读取对应的线程所调用的函数的地址值; 函数名读取子模块,被配置为从可执行文件中读取每个地址值所对应的函数名,所述可执行文件用于存储不同的地址值与不同的函数名之间的对应关系。14.根据权利要求9所述的装置,其特征在于,所述信号监听模块,包括: 信号监听子模块,被配置为监听所述内核生成并广播的信号; 信号检测子模块,被配置为当所述信号监听子模块监听到所述信号时,检测所述信号是否是预先注册的异常信号中的一种; 信号确定子模块,被配置为当所述信号检测子模块检测出所述信号是预先注册的异常信号中的一种时,确定监听到所述异常信号。15.根据权利要求14所述的装置,其特征在于,所述预先注册的异常信号包括非法指令异常SIGILL、abort退出异常SIGABRT、硬件访问异常SIGBUS、浮点运算异常SIGFPE、内存访问异常SIGSEGV、协处理器栈异常SIGSTKFLT和管道异常SIGPIPE中的至少一种。16.一种操作系统升级装置,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 对操作系统进行升级; 在升级过程中,监听是否有所述操作系统的内核广播的异常信号,所述异常信号是所述内核检测到进程地址访问错误时生成的; 当监听到所述异常信号时,对所述异常信号进行处理。
【专利摘要】本公开关于一种操作系统升级方法及装置,属于计算机技术领域。所述方法包括:对操作系统进行升级;在升级过程中,监听是否有操作系统的内核广播的异常信号,异常信号是内核检测到进程地址访问错误时生成的;当监听到异常信号时,对异常信号进行处理。本公开可解决Recovery服务在升级操作系统的过程中产生异常,无法处理异常的问题,可达到能够对升级过程中产生的异常进行处理,从而提高升级的成功率的效果。
【IPC分类】G06F9/445
【公开号】CN104899059
【申请号】CN201510260666
【发明人】李明浩, 王广健, 朱瑞贤
【申请人】小米科技有限责任公司
【公开日】2015年9月9日
【申请日】2015年5月20日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1