文件系统预提取的方法与电子装置以及启动方法

文档序号:6502723阅读:115来源:国知局
文件系统预提取的方法与电子装置以及启动方法【专利摘要】一种文件系统预提取的方法与电子装置以及启动方法,该文件系统预提取的方法包含以下步骤:当非易失性存储装置中的第一静态备份表并非空的时,将第一静态备份表中的所有数据复制到易失性存储装置中的第二静态备份表;检查第一静态备份表是否包含非易失性存储装置的静态分区中用于启动多个操作系统中一个的所有所需数据;当第一静态备份表不包含所有所需数据时,将静态分区中剩余的所需数据的一部分复制到第一静态备份表以及第二静态备份表;当操作系统的启动状态同步尚未完成时,返回到检查步骤。【专利说明】文件系统预提取的方法与电子装置以及启动方法【
技术领域
】[0001]本发明涉及一种文件系统预提取方法与电子装置以及启动方法,且特别涉及一种在启动多个操作系统(operatingsystem;0S)期间的文件系统预提取方法、执行所述方法的电子装置以及对应启动方法。【
背景技术
】[0002]现今的移动装置例如智能手机、平板电脑(tabletcomputer)、个人数字助理(personaldigitalassistant;PDA)、游乐器(gameconsole)等可能包含多个处理器。多个处理器可执行多个操作系统。举例来说,主处理器可执行提供应用程序以及图形用户界面以服务用户的主操作系统,而辅助处理器可执行嵌入式操作系统以控制外围装置,例如移动装置的无线通信模块。[0003]在典型多处理器移动装置中,处理器可根据不同时钟频率来操作,且操作系统可具有不同复杂程度。因此,每个处理器用来启动(bootup)对应操作系统的时间不同。当多处理器移动装置的电源接通时,每个处理器开始启动其操作系统。处理器必须执行启动状态同步以建立处理器之间的通信机制,且使操作系统的启动状态同步,来确保多处理器多系统移动装置的正确启动。[0004]在启动状态同步之后,在主处理器上运行的主操作系统将启动主操作系统所需的数据从较慢的非易失性(non-volatile)存储装置(例如,快闪存储器)复制到较快的易失性(volatile)存储装置(例如,动态随机存取存储器(dynamicrandom-accessmemory;DRAM))。主操作系统在其启动程序期间存取存储在易失性存储装置中的上述数据。[0005]启动主操作系统的瓶颈通常在从非易失性存储装置到易失性存储装置的上述数据复制时发生。举例来说,数据复制可占据移动装置的总启动时间的40%。【
发明内容】[0006]因此,本发明涉及文件系统预提取的方法与电子装置以及启动方法。本发明可通过交错等待启动状态同步与从非易失性存储装置到易失性存储装置的数据复制的时间来缩短具有多个处理器以及多个操作系统的电子装置的启动时间。[0007]本发明的文件系统预提取方法适用于包含易失性存储装置、非易失性存储装置以及多个处理器与多个操作系统的电子装置。所述方法包含以下步骤:当非易失性存储装置中的第一静态备份表并非空的时,将第一静态备份表中的所有数据复制到易失性存储装置中的第二静态备份表;检查第一静态备份表是否包含非易失性存储装置的静态分区中用于启动操作系统其中一个的所有所需数据;当第一静态备份表不包含静态分区中的所有所需数据时,将静态分区中剩余的所需数据的一部分复制到第一静态备份表以及第二静态备份表;当多个操作系统的启动状态同步尚未完成时,返回到检查第一静态备份表是否包含静态分区中所有的所需数据的步骤。[0008]本发明可实施文件系统预提取的电子装置包含易失性存储装置、非易失性存储装置以及多个处理器。所述多个处理器可执行多个操作系统。上述多个处理器中的一个为主处理器且其它处理器为辅助处理器。主处理器耦接到易失性存储装置、非易失性存储装置以及辅助处理器。主处理器执行文件系统预提取方法。[0009]本发明还提供一种用于包含至少两个处理器的电子装置的启动方法。所述至少两个处理器执行至少两个操作系统(OS)。所述启动方法包含以下步骤:对所述电子装置通电;平行地执行对应于至少两个处理器的系统启动程序;判断至少两个处理器中的第一处理器是否完成系统启动程序;当至少两个处理器中的第二处理器仍在启动时,将数据文件的至少第一部分从第一存储单元载入到第二存储单元;判断第二处理器是否完成系统启动程序;当第二处理器完成系统启动程序时,由第一处理器执行对应于数据文件的操作系统启动程序。[0010]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。【专利附图】【附图说明】[0011]图1绘示本发明实施例的可实施文件系统预提取的电子装置的示意图。[0012]图2绘示本发明实施例的文件系统预提取的存储器配置的示意图。[0013]图3绘示本发明另一实施例的可实施文件系统预提取的电子装置的示意图。[0014]图4绘示本发明实施例的文件系统预提取方法的流程图。[0015]【符号说明】[0016]110:主处理器[0017]120:辅助处理器[0018]240:易失性存储器[0019]250:非易失性存储器[0020]300:电子装置[0021]310:主处理器[0022]315:主操作系统[0023]320:辅助处理器[0024]325:操作系统[0025]340:非易失性存储器[0026]342:静态备份表[0027]346:静态分区[0028]348:动态分区[0029]350:易失性存储器[0030]352:静态备份表[0031]354:动态预提取表[0032]405~455:方法步骤【具体实施方式】[0033]首先请参看图1,其描绘本发明实施例的文件系统预提取的图式。在启动电子装置时,主处理器Iio以及辅助处理器120分别载入操作系统I以及操作系统2。在完成载入操作系统后,处理器接着建立自己的文件系统。文件系统存储在非易失性存储装置中,且将被复制到具有较快存取速度的易失性存储装置中以改善性能。然而,主处理器110以及辅助处理器120的启动进程可能不同步。如图1中可观察到,辅助处理器120花较长时间来载入操作系统2。因此,主处理器110可在辅助处理器120完成操作系统2的载入之前,将电子装置的文件系统的映像(其可包含用以配置电子装置的必要信息)从非易失性存储装置预提取到易失性存储装置。在本发明的实施例中,主处理器110可一次将一个固定大小的文件系统(例如,一次N个字节)预提取到易失性存储装置内的预定义存储器空间,N的大小可为预定义的或动态地改变的,且预定义存储器空间经分配以仅用于预提取。当辅助处理器120完成操作系统2的载入,且向主处理器110发送状态同步信号时,文件系统的预提取可终止。[0034]在主处理器110与辅助处理器120之间的启动过程同步之后,主处理器110可继续进行一般的文件系统建立。由于文件系统的某部分已被预提取,因此主处理器110可继续在易失性存储装置中执行命中/未命中测试,且将文件系统的尚未预提取(未命中)的其它部分从非易失性存储装置存取到易失性存储装置中。当电子装置断电时,文件系统的映像在正常程序中所提取的部分将从易失性存储装置抹除,因此需要在下一启动程序中再次从非易失性存储装置存取。应注意,文件系统的映像的预提取部分将不会从易失性存储装置抹除,且在电子装置的下一启动时,主处理器110可继续将文件系统的其它部分从非易失性存储装置预提取到易失性存储装置。因此,在每次电子装置通过启动过程通电之后,建立文件系统所需的时间将减少。[0035]图2绘示本发明实施例的预提取存储器的示意图。非易失性存储装置250可存储OSl启动数据、文件系统的映像、用户数据以及OSl启动数据的一部分的副本。易失性存储装置240配置有用于存储预提取数据的预定义存储器空间,预提取数据包括文件系统的映像以及OSl启动数据的部分。可记录易失性存储装置240中已填充了预提取数据的地址范围,且在下一预提取操作时,主处理器110可继续将预提取数据存储到预定义存储器空间的下一位置。[0036]图3绘示本发明实施例的可实施文件系统预提取的电子装置300的示意图。电子装置300可为移动装置,例如智能手机、个人数字助理(PDA)、平板电脑、游乐器或媒体播放器等。或者,电子装置300可为包含执行多个操作系统的多个处理器的任何电子装置。[0037]电子装置300包含易失性存储装置350、非易失性存储装置340、主处理器310以及辅助处理器320。易失性存储装置350的存取速度比非易失性存储装置340的存取速度快。易失性存储装置350可为随机存取存储器(random-accessmemory;RAM)。非易失性存储装置340可为硬盘、存储卡(memorystick)、存储卡、快闪存储器或嵌入式多媒体卡(embeddedmultimediacard;eMMC)。[0038]主处理器310执行电子装置300的主操作系统315。主操作系统315提供可供用户存取的应用程序以及图形用户界面。辅助处理器320执行另一操作系统325以用于执行特定功能。操作系统325可控制电子装置300的一部分硬件。主处理器310耦接至易失性存储装置350、非易失性存储装置340以及辅助处理器320。[0039]非易失性存储装置340包含静态分区(partition)346以及动态分区348。静态分区346以及动态分区348包含主操作系统315的文件系统。静态分区346存储操作系统315的数据,例如,操作系统315的应用程序、装置驱动程序以及软件程序库(softwarelibrary)。静态分区346中的数据不可改变(只读),这意味每次主操作系统315启动时,静态分区346中的数据始终相同。另一方面,动态分区348存储电子装置300的用户数据,例如用户建立的文件或用户下载的数据。动态分区348中的数据可改变,这意味用户可修改所述数据。因此,每次主操作系统315启动时,动态分区348中的数据可不同。[0040]非易失性存储装置340包含静态备份表342,而易失性存储装置350包含另一静态备份表352。静态备份表342以及352皆用以存储静态分区346中用于启动主操作系统315的所有所需数据。易失性存储装置350包含动态预提取表354,动态预提取表354用以存储在动态分区348中用于启动主操作系统315的所有所需数据。[0041]在本发明的一些其它实施例中,电子装置300可包含两个以上处理器。在这种一般状况下,处理器的其中一个为主处理器且其它处理器为辅助处理器。主处理器以及辅助处理器的每一个皆可执行操作系统。主处理器耦接到电子装置300的易失性存储装置、非易失性存储装置以及辅助处理器中的每一个。[0042]主操作系统315需要用于其启动程序的一些数据,例如应用程序、装置驱动程序以及软件库。所需数据的一部分存储在静态分区346中且另一部分存储在动态分区348中,这些所需数据必须从非易失性存储装置340复制到易失性存储装置350,以供主操作系统315对其进行存取。由于主处理器310的速度比辅助处理器320的速度快,因此主处理器310有一些时间来将用于启动主操作系统315的所需数据从分区346以及348预提取到表342,352以及354中,同时等待辅助处理器320完成操作系统315以及325的启动状态同步。所需数据的预提取可由图4所示的文件系统预提取方法来执行。[0043]图4绘示本发明实施例的文件系统预提取方法的流程图。文件系统预提取方法可由包含非易失性存储装置、易失性存储装置、多个处理器以及多个操作系统的电子装置的主处理器(例如,电子装置300的主处理器310)执行。在电子装置300的电源接通后,主处理器310完成其自身的初始化,且接着开始启动主操作系统315。此时主处理器310执行文件系统预提取方法。[0044]下文叙述文件系统预提取方法的流程。在步骤405,检查非易失性存储装置340中的静态备份表342是否为空的。当静态备份表342为空的时,流程进行到步骤420。当静态备份表342并非空的时,流程进行到步骤410。在步骤410处,将静态备份表342中的所有数据复制到易失性存储装置350中的静态备份表352,存储在静态备份表352中的数据将用于主操作系统315的启动程序。[0045]接下来,在步骤415处,检查静态备份表342是否包含静态分区346中用于启动主操作系统315所有的所需数据。当静态备份表342已包含静态分区346中所有的所需数据时,流程进行到步骤425。当静态备份表342不包含静态分区346中所有的所需数据时,流程进行到步骤420以将静态分区346中剩余的所需数据的一部分复制到静态备份表342及352两者。同步地执行所需数据从静态分区346到静态备份表342以及352中每一个的预提取。当将一段所需数据从静态分区346复制到静态备份表342时,同一段所需数据也同时被复制到静态备份表352。[0046]接下来,在步骤435处,检查电子装置300中的所有操作系统的启动状态同步是否完成。当电子装置300的电源接通时,电子装置300的所有处理器必须执行启动状态同步以建立所有处理器之间的通信机制,且使所有操作系统的启动状态同步以确保电子装置300的正确启动。当启动状态同步完成时,流程进行到步骤440。当启动状态同步尚未完成时,流程返回到步骤415以重复由步骤415、420以及435形成的静态预提取循环。[0047]复制到静态备份表352的所需数据将用于主操作系统315的后续启动程序。复制到静态备份表342的所需数据可在下一次执行文件系统预提取方法时,在步骤410处被复制到静态备份表352。存储在静态分区346中的所需数据可被分段且广泛地分散。在步骤420处,主处理器310以连续且未分段的方式将静态分区346中的所需数据存储到静态备份表342以及352中。由于静态备份表342中的数据未分段,因此将所需数据从静态备份表342复制到静态备份表352比将所需数据从静态分区346复制到静态备份表352快,这会帮助缩短电子装置300的启动时间。此外,由于静态备份表342存储在非易失性存储装置340中,因此在电子装置300的电源切断后,静态备份表342中的数据不易失。下一次电子装置300的电源接通时,已存储在静态备份表342中的数据不需要再次被复制。这也会帮助缩短电子装置300的启动时间。[0048]当静态备份表342包含静态分区346中用于启动主操作系统315所有的所需数据时,流程从步骤415进行到步骤425。在步骤425处,检查易失性存储装置350中的动态预提取表354是否包含动态分区348中用于启动主操作系统315所有的所需数据。当动态预提取表354已包含动态分区348中所有的所需数据时,流程进行到步骤435。当动态预提取表354不包含动态分区348中所有的所需数据时,流程进行到步骤430以将动态分区348中剩余的所需数据的一部分复制到动态预提取表354。[0049]接下来,在步骤435处,检查处理器是否完成启动状态同步。当启动状态同步完成时,流程进行到步骤440。当启动状态同步尚未完成时,流程返回到步骤425以重复由步骤425,430以及435形成的动态提取循环。复制到动态预提取表354的所需数据将用于主操作系统315的后续启动程序。由于动态预提取表354存储在易失性存储装置350中,因此动态预提取表354中的数据在每次电子装置300的电源接通时从零开始复制。[0050]当动态预提取表354包含动态分区348中用于启动主操作系统315所有的所需数据时,流程从步骤425进行到步骤435。在步骤435处,检查处理器是否完成启动状态同步。当启动状态同步尚未完成时,重复步骤435直到启动状态同步完成为止。[0051]接下来,在步骤440处,检查用于启动主操作系统315的所需数据是否可在静态备份表352或动态预提取表354中获得。当所需数据可在静态备份表352或动态预提取表354中获得时,流程进行到步骤445以从静态备份表352或动态预提取表354读取用于启动主操作系统315的所需数据。否则,流程进行到步骤450以从静态分区346或动态分区348读取用于启动主操作系统315的所需数据。接下来,在步骤455处,检查主操作系统315的启动程序是否需要更多数据。当启动程序需要更多数据时,流程返回到步骤440。当启动程序不需要更多数据时,文件系统预提取方法的流程在此处结束。[0052]在具有多个处理器以及多个操作系统的电子装置的启动程序中,将所需数据从非易失性存储装置复制到易失性存储装置会产生瓶颈。本发明提供的方法与电子装置可在等待启动状态同步时,预提取所需数据以缩短电子装置的启动时间。在本发明的一些实施例中,本发明提供的方法与电子装置可减少将所需数据从非易失性存储装置复制到易失性存储装置的时间的5%到60%。[0053]虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附权利要求书界定范围为准。【权利要求】1.一种文件系统预提取的方法,适用于包括易失性存储装置、非易失性存储装置以及多个处理器与多个操作系统的电子装置,所述方法包括:当所述非易失性存储装置中的第一静态备份表并非空的时,将所述第一静态备份表中所有的数据复制到所述易失性存储装置中的第二静态备份表;检查所述第一静态备份表是否包括所述非易失性存储装置的静态分区中用于启动所述操作系统中一个的所有的所需数据;当所述第一静态备份表不包括所述静态分区中所有的所述所需数据时,将所述静态分区中剩余的所述所需数据的一部分复制到所述第一静态备份表以及所述第二静态备份表;以及当所述多个操作系统的启动状态同步尚未完成时,返回到所述检查所述第一静态备份表是否包括所述静态分区中所有的所述所需数据的步骤。2.如权利要求1所述的方法,其中所述静态分区的所述所需数据以连续且未分段的方式存储在所述第一静态备份表以及所述第二静态备份表中。3.如权利要求1所述的方法,还包括:检查所述易失性存储装置中的动态预提取表是否包括所述非易失性存储装置的动态分区中用于启动所述操作系统中的所述一个的所有的所需数据;当所述动态预提取表不包括所述动态分区中所有的所述所需数据时,将所述动态分区中剩余的所述所需数据的一部分复制到所述动态预提取表;以及当所述启动状态同步尚未完成时,返回到所述检查所述动态预提取表是否包括所述动态分区中所有的所述所需数据的步骤。4.如权利要求3所述的方法,其中所述静态分区中的所述数据不可改变,且所述动态分区中的所述数据可改变。5.如权利要求1所述的方法,其中在所述启动状态同步完成之后,所述方法还包括:当用于启动所述操作系统中的所述一个的所述所需数据可在所述第二静态备份表或所述动态预提取表中获得时,从所述第二静态备份表或所述动态预提取表读取所述所需数据,否则从所述静态分区或所述动态分区读取所述所需数据。6.一种文件系统预提取的电子装置,包括:易失性存储装置;非易失性存储装置,以及多个处理器,执行多个操作系统,其中所述多个处理器中的一个为主处理器,且所述多个处理器中的其它处理器为辅助处理器,所述主处理器耦接到所述易失性存储装置、所述非易失性存储装置以及所述辅助处理器;当所述非易失性存储装置中的第一静态备份表并非空的时,所述主处理器将所述第一静态备份表中所有的数据复制到所述易失性存储装置中的第二静态备份表;所述主处理器检查所述第一静态备份表是否包括所述非易失性存储装置的静态分区中用于启动所述操作系统中的一个所有的所需数据;当所述第一静态备份表不包括所述静态分区中所有的所述所需数据时,所述主处理器将所述静态分区中剩余的所述所需数据的一部分复制到所述第一静态备份表以及所述第二静态备份表;当所述多个操作系统的启动状态同步尚未完成时,所述主处理器返回到所述检查所述第一静态备份表是否包括所述静态分区中的所有所述所需数据的步骤。7.如权利要求6所述的电子装置,其中所述主处理器将所述静态分区中的所述所需数据以连续且未分段的方式存储在所述第一静态备份表以及所述第二静态备份表中。8.如权利要求6所述的电子装置,其中所述主处理器检查所述易失性存储装置中的动态预提取表是否包括所述非易失性存储装置的动态分区中用于启动所述操作系统中的所述一个的所有的所需数据;当所述动态预提取表不包括所述动态分区中所有的所述所需数据时,所述主处理器将所述动态分区中剩余的所述所需数据的一部分复制到所述动态预提取表;当所述启动状态同步尚未完成时,所述主处理器返回到所述检查所述动态预提取表是否包括所述动态分区中所有的所述所需数据的步骤。9.如权利要求8所述的电子装置,其中所述静态分区中的所述数据不可改变,且所述动态分区中的所述数据可改变。10.如权利要求6所述的电子装置,其中在所述启动状态同步完成之后,当用于启动所述操作系统中的所述一个的所述所需数据可在所述第二静态备份表或所述动态预提取表中获得时,所述主处理器从所述第二静态备份表或所述动态预提取表读取所述所需数据,否则所述主处理器从所述静态分区或所述动态分区读取所述所需数据。11.一种适用于包括至少两个处理器的电子装置的启动方法,所述至少两个处理器执行至少两个操作系统,所述启动方法包括:对所述电子装置通电;平行地执行对应于所述至少两个处理器的系统启动程序;判断所述至少两个处理器中的第一处理器是否完成所述系统启动程序;当所述至少两个处理器中的第二处理器仍在启动,将数据文件的至少第一部分从第一存储单元载入到第二存储单元;判断所述第二处理器是否完成所述系统启动程序;以及当所述第二处理器完成所述系统启动程序,由所述第一处理器执行对应于所述数据文件的操作系统启动程序。12.如权利要求11所述的启动方法,还包括:当所述电子装置断电时,在所述第二存储单元中保留所述数据文件的所述第一部分;以及当所述电子装置下一次通电时,将所述数据文件的至少第二部分从所述第一存储单元载入到所述第二存储单元。13.如权利要求11所述的启动方法,其中所述文件数据的所述第一部分的所述载入包括:将静态数据的一部分载入到所述第二存储单元的第一地址中;以及将动态数据的一部分载入到所述第二存储单元的第二地址中;其中所述文件数据为所述电子装置的文件系统,且所述第一存储单元为非易失性存储器,且所述第二存储单元为易失性存储器。14.如权利要求11所述的启动方法,其中所述操作系统启动程序的所述执行包括:从所述第二存储单元读取所述数据文件的所述第一部分;以及将所述数据文件的剩余部分从所述第一存储单元载入到所述第二存储单元。15.如权利要求11所述的启动方法,还包括:当所述电子装置断电时,防止在所述第二存储单元中的所述数据文件的所述第一部分被抹除。【文档编号】G06F9/445GK103984565SQ201310176184【公开日】2014年8月13日申请日期:2013年5月14日优先权日:2013年2月8日【发明者】陈高斌,吴志聪,张文彦,陈定伦申请人:宏达国际电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1