一种操作系统升级方法及电子设备与流程

文档序号:37353090发布日期:2024-03-18 18:35阅读:11来源:国知局
一种操作系统升级方法及电子设备与流程

本技术涉及终端设备领域,具体涉及一种操作系统升级方法及电子设备。


背景技术:

1、操作系统(operating system)是一种控制和管理电子设备的硬件和软件资源的软件系统,电子设备需要安装操作系统才可以被用户使用。示例的,电子设备为手机时,手机上需要安装手机对应的操作系统(例如:ios操作系统,安卓操作系统)才可以被用户使用。

2、电子设备的操作系统需要配置对应的制式(vendor_country,vc)。操作系统在不同制式下的系统分区存在差异。例如,演示样机的制式为demo_cn,该制式的系统分区中version子分区用于存放大量的操作演示样片,占用较大内存,而商用机的制式为all_cn,该制式的系统分区中version子分区中无需存放操作演示样片,无需较大内存。因此,在电子设备下市后,为了使演示样机也面向用户销售,需要将演示样机的制式更改为商用机的制式。

3、这样,电子设备需要对操作系统进行远程升级,实现演示机制式到商用机制式的更改,然而,目前的更改制式过程中,涉及到的分区搬移过程存在限制性强,可靠性低的问题。


技术实现思路

1、本技术实施例提供一种操作系统升级方法及电子设备,能够解决目前更改制式过程中,涉及到的分区搬移过程存在限制性强、可靠性低的问题,提高分区搬移的可靠性和通用性。

2、第一方面,本技术实施例提供一种操作系统升级方法,应用于电子设备,方法包括:获取第一分区表;获取第二分区表;基于第一分区表,确定电子设备的内存中的动态分区中的多个第一子分区的起始物理地址;基于第二分区表,确定动态分区中的多个第二子分区的起始物理地址,多个第二子分区是对多个第一子分区的至少一部分进行搬移后得到的子分区;确定多个第一子分区中的第一目标子分区,第一目标子分区是多个第一子分区中与多个第二子分区中名称相同,但是起始物理地址不同的第一个子分区;将目标区域中的子分区搬移至内存中的用户数据分区,目标区域中的子分区是多个第一子分区中位于第一目标子分区至用户数据分区之间的子分区;将目标区域中的子分区覆盖写入动态分区中的目标偏移地址,将动态分区中的第一分区表修改为第二分区表。

3、本技术实施例提供的操作系统升级方法,能够通过对第一分区表和第二分区表进行解析和比对,得到多个第一子分区和多个第二子分区中名称相同,但是起始物理地址不同的第一目标子分区,从而由第一目标子分区开始进行搬移,使未更改的分区保持原状,仅对更改的分区进行搬移,实现了分区的按需搬移,在操作系统升级过程中,提高了分区搬移过程的可靠性和通用性。

4、在一种实现方式中,获取第一分区表包括:在第一制式下,依次加载内存中的基础分区、内存中的第一静态分区以及动态分区,加载动态分区之后,获取第一分区表;获取第二分区表包括:获取系统升级包,基于系统升级包,获取第二分区表。采用本实现方式,基于虚拟a/b升级方式启动后,获取到第一分区表和第二分区表,以便于对第一分区表和第二分区表进行解析。

5、在一种实现方式中,获取系统升级包之后,还包括:基于系统升级包完成系统升级后,第一次进入恢复模式,调用恢复进程将电子设备的操作系统由第一制式更改为第二制式;其中,当电子设备的操作系统由第一制式更改为第二制式时,将动态分区在第一制式下的多个第三子分区更新为第二制式下的多个第一子分区。采用本实现方式,第一次进入恢复模式后可以完成制式更改,将第三子分区更新为第一子分区,以便于进一步在第二次进入恢复模式时对第一子分区进行分区搬移。

6、在一种实现方式中,第一制式包括演示机制式,第二制式包括商用机制式。采用本实现方式,表明了第一制式和第二制式的具体实现形式。

7、在一种实现方式中,基于第一分区表,确定电子设备的内存中的动态分区中的多个第一子分区的起始物理地址,包括:第二次进入恢复模式,确定每个第一子分区的连续物理块对应的第一数量,基于第一数量确定每个第一子分区的连续物理块对应的起始物理地址。采用本实现方式,可以得到第一子分区的连续物理块对应的起始物理地址,以便于与第二子分区的连续物理块对应的起始物理地址进行比对,进而进行分区搬移。

8、在一种实现方式中,基于第一分区表,确定电子设备的内存中的动态分区中的多个第一子分区的起始物理地址,包括:第二次进入恢复模式,调用恢复进程遍历第一分区表中的多个第一子分区,确定每个第一子分区的连续物理块对应的第一数量;基于第一数量反向索引至第一分区表中的第一数据结构,从第一数据结构中确定每个第一子分区的连续物理块对应的起始物理地址。采用本实现方式,可以通过恢复进程得到第一子分区的连续物理块对应的起始物理地址,以便于与第二子分区的连续物理块对应的起始物理地址进行比对,进而进行分区搬移。

9、在一种实现方式中,基于第二分区表,确定动态分区中的多个第二子分区的起始物理地址,包括:第二次进入恢复模式,确定每个第二子分区的连续物理块对应的第二数量,基于第二数量确定每个第二子分区的连续物理块对应的起始物理地址。采用本实现方式,可以得到第二子分区的连续物理块对应的起始物理地址,以便于与第一子分区的连续物理块对应的起始物理地址进行比对,进而进行分区搬移。

10、在一种实现方式中,基于第二分区表,确定动态分区中的多个第二子分区的起始物理地址,包括:第二次进入恢复模式,调用恢复进程遍历第二分区表中的多个第二子分区,确定每个第二子分区的连续物理块对应的第二数量;基于第二数量反向索引至第二分区表中的第二数据结构,从第二数据结构中确定每个第二子分区的连续物理块对应的起始物理地址。采用本实现方式,可以通过恢复进程得到第二子分区的连续物理块对应的起始物理地址,以便于与第一子分区的连续物理块对应的起始物理地址进行比对,进而进行分区搬移。

11、在一种实现方式中,第二次进入恢复模式,调用恢复进程遍历第一分区表中的多个第一子分区,确定每个第一子分区的连续物理块对应的第一数量,包括:基于第一分区表对应的第一lp元数据结构中的第一lp元数据分区表结构,遍历第一分区表中的多个第一子分区,确定每个第一子分区的索引结构;基于每个第一子分区的索引结构中的第一连续物理块数量结构,确定第一分区表中的每个第一子分区的连续物理块对应的第一数量。采用本实现方式,示出了获取第一数量的具体方式,以便于得到第一子分区的连续物理块对应的起始物理地址,与第二子分区的连续物理块对应的起始物理地址进行比对,进而进行分区搬移。

12、在一种实现方式中,第二次进入恢复模式,调用恢复进程遍历第二分区表中的多个第二子分区,确定每个第二子分区的连续物理块对应的第二数量,包括:基于第二分区表对应的第二lp元数据结构中的第二lp元数据分区表结构,遍历第二分区表中的多个第二子分区,确定每个第二子分区的索引结构;基于每个第二子分区的索引结构中的第二连续物理块数量结构,确定第二分区表中的每个第二子分区的连续物理块对应的第二数量。采用本实现方式,示出了获取第二数量的具体方式,以便于得到第二子分区的连续物理块对应的起始物理地址,与第一子分区的连续物理块对应的起始物理地址进行比对,进而进行分区搬移。

13、在一种实现方式中,第一数据结构是第一分区表中的第一lp元数据连续物理块结构;基于第一数量反向索引至第一分区表中的第一数据结构,从第一数据结构中得到每个第一子分区的连续物理块对应的起始物理地址,包括:基于第一数量反向索引至第一分区表中的第一lp元数据连续物理块结构;基于第一lp元数据连续物理块结构中的第一目标数据结构,确定每个第一子分区的连续物理块对应的起始物理地址。采用本实现方式,示出了获取第一子分区的连续物理块对应的起始物理地址的具体方式,以便于与第二子分区的连续物理块对应的起始物理地址进行比对,进而进行分区搬移。

14、在一种实现方式中,第二数据结构是第二分区表中的第二lp元数据连续物理块结构;基于第二数量反向索引至第二分区表中的第二数据结构,从第二数据结构中得到每个第二子分区的连续物理块对应的起始物理地址,包括:基于第二数量反向索引至第二分区表中的第二lp元数据连续物理块结构;基于第二lp元数据连续物理块结构中的第二目标数据结构,确定每个第二子分区的连续物理块对应的起始物理地址。采用本实现方式,示出了获取第二子分区的连续物理块对应的起始物理地址的具体方式,以便于与第一子分区的连续物理块对应的起始物理地址进行比对,进而进行分区搬移。

15、在一种实现方式中,确定多个第一子分区中的第一目标子分区,包括:获取第一分区表中每个第一子分区的连续物理块对应的第一目标数据结构;获取第二分区表中每个第二子分区的连续物理块对应的第二目标数据结构;将每个第一子分区的连续物理块对应的第一目标数据结构和每个第二子分区的连续物理块对应的第二目标数据结构依次比对;将第一次获取到的多个第一子分区中与多个第二子分区的名称相同,但是第一目标数据结构与第二目标数据结构不同的子分区确定为第一目标子分区。采用本实现方式,示出了第一目标子分区的具体确定方式,这样,可以由第一目标子分区开始进行搬移,使未更改的分区保持原状,实现了分区的按需搬移,在操作系统升级过程中,提高了分区搬移过程的可靠性和通用性。

16、在一种实现方式中,将目标区域中的子分区搬移至内存中的用户数据分区,包括:基于目标区域中的子分区对应的第一目标数据结构,将目标区域中的子分区由第一目标子分区开始,依次搬移至用户数据分区的尾部。采用本实现方式,示出了分区搬移的具体方式,这样,可以由第一目标子分区开始进行搬移,使未更改的分区保持原状,实现了分区的按需搬移,在操作系统升级过程中,提高了分区搬移过程的可靠性和通用性。

17、在一种实现方式中,第二次进入恢复模式,调用恢复进程遍历第一分区表中的多个第一子分区,确定每个第一子分区的连续物理块对应的第一数量之后,还包括:基于第一数量反向索引至第一分区表中的第一数据结构,从第一数据结构中确定每个第一子分区的连续物理块对应的连续物理块大小。采用本实现方式,示出了第一子分区的连续物理块的连续物理块大小的具体获取方式,这样,能够根据连续物理块大小进一步获取目标偏移地址,实现分区搬移。

18、在一种实现方式中,基于第一数量反向索引至第一分区表中的第一数据结构,从第一数据结构中确定每个第一子分区的连续物理块对应的连续物理块大小,包括:基于第一数量反向索引至第一分区表中的第一lp元数据连续物理块结构;基于第一lp元数据连续物理块结构中的第一数量结构,确定每个第一子分区的连续物理块对应的连续物理块大小。采用本实现方式,示出了第一子分区的连续物理块的连续物理块大小的具体获取方式,这样,能够根据连续物理块大小进一步获取目标偏移地址,实现分区搬移。

19、在一种实现方式中,目标偏移地址的获取方式包括:获取第一制式下,动态分区的预设分区大小;获取目标区域的子分区的总分区大小;将预设分区大小与总分区大小的差值确定为目标偏移地址;其中,总分区大小是根据每个第一子分区的连续物理块大小之和确定的,其中,基于每个第一子分区的连续物理块对应的第一目标数据结构和对应的第一数量结构,确定每个第一子分区的连续物理块大小之和。采用本实现方式,示出了目标偏移地址的获取方式,这样,可以将发生更改的一部分子分区由用户数据分区的尾部搬移至动态分区中的目标偏移地址,完成分区搬移,实现了分区的按需搬移,在操作系统升级过程中,提高了分区搬移过程的可靠性和通用性。

20、在一种实现方式中,将目标区域中的子分区覆盖写入动态分区中的目标偏移地址之后,还包括:获取动态分区中的每个第二子分区对应的第三目标数据结构;根据第二分区表中每个第二子分区对应的第二目标数据结构校验第三目标数据结构;在每个第二子分区对应的第二目标数据结构与对应的第三目标数据结构相同的情况下,将动态分区中的第一分区表修改为第二分区表;在任一第二子分区对应的第二目标数据结构与对应的第三目标数据结构不同的情况下,显示报错信息。采用本实现方式,完成分区搬移之后,需要对搬移的分区进行校验,以确定分区搬移的准确性,提高了分区搬移的可靠性。

21、第二方面,本技术实施例提供一种电子设备,包括:处理器和存储器,存储器存储有程序指令,当程序指令被处理器执行时,使得电子设备执行如上述第一方面及任一实现方式中的操作系统升级方法。

22、第三方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在电子设备上运行时,使得电子设备执行如上述第一方面及任一实现方式中的操作系统升级方法。

23、第四方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如上述第一方面及任一实现方式中的操作系统升级方法。

24、可以理解地,上述各个方面所提供的电子设备、计算机可读存储介质以及计算机程序产品均应用于上文所提供的对应方法,因此,其所能达到的有益效果可参考上文所提供的对应方法中的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1