程序、控制方法以及控制装置的制作方法

文档序号:6351125阅读:112来源:国知局
专利名称:程序、控制方法以及控制装置的制作方法
技术领域
本发明涉及程序、控制方法以及控制装置,特别涉及适合于控制软件的启动的程序、控制方法以及控制装置。
背景技术
在个人计算机中,使OS (Operating System)启动,直到使希望的软件工作为止需要花费数分钟的启动时间。作为使其高速启动的方法,存在称为休眠(hibernation)的方法(例如參照专利文献I)。在专利文献I 中,记载了把启动后的CPlXcentral processing unit)、1/0( input/output)寄存器、RAM (Random Access Memory)映像存储在硬盘驱动器(HDD)或闪速存储器中。并且,记载了在下次启动时,恢复所存储的RAM映像,之后,再设定CPU、1/0寄存器。在专利文献I中提出了通过如此启动使OS启动高速化。基于该提案的被称为休眠的方法已经在个人计算机中应用。
此外,在嵌入式计算机,例如在电视接收器、硬盘录像机这样的电子设备中嵌入的计算机中也应用了休眠的方法。现有技术文献专利文献专利文献I :日本特开2005-149225号公报专利文献2 日本特开2007-334383号公报

发明内容
发明要解决的课题当将采用休眠使OS启动的情况与通常那样启动OS的情况相比时,采用休眠使OS启动能够更加高速地启动。但是,随着RAM的容量的増加,应该保存的RAM映像的大小也增カロ,在启动吋,该RAM映像的展开时间也增加。結果,伴随RAM的大容量化,高速启动变得困难。此外,个人计算机CPU的性能也比较高,所以即使RAM映像的大小増加,也能确保处理该RAM映像的性能。但是,在嵌入式计算机的情况下,很多时候使用CPU的性能比较低的计算机。因此,在为嵌入式计算机时,如果RAM映像増加,则即使使用休眠的方法,启动时的速度也会降低。即,在为嵌入式计算机吋,由于RAM映像的增加导致的速度降低更加显著地体现。此外,虽然提出了通过压缩RAM映像来减小RAM映像的大小,但是在启动时需要展开的处理。考虑到该展开处理给CPU带来的负荷、展开处理所需要的时间,不是在启动高速化这一方面有效的方法。考虑到该情况,在专利文献2中提出了在休眠的全部映像的传输完成之前开始执行OS的方法。但是,在该方法中需要装配特别的硬件,并预先确定先行传输的页,因此存在由于该特别的硬件导致成本相应升高的问题。本发明是鉴于这样的状况而提出的,其能够缩短启动时间。用于解决课题的手段作为本发明的ー个方面的程序,用于具有管理存储器的功能的控制装置中,包含以下步骤针对预定的软件的运行所需要的页改写页表项,以便在全部页中发生页面错误;在所述软件启动时,通过所述页表项发生页面错误,依次读出发生了该页面错误的页,如下这样执行处理当所述页是由多个任务共享的共享页时,在管理所述共享页的页描述符中作为属性信息而包含表示对于发生了所述页面错误的页是否已经完成了读入的标志,在对于已有的页新确保了所述共享页的情况下,重写与该新确保的所述共享页对应的页描述符,以使对于确保了新确保的所述共享页的虚拟存储器地址也发生页面错误。可以在所述预定的软件启动后改写所述页表项,将其启动时的数据、程序代码、表、页面错误处理程序、中断向量、以及寄存器存储在所述存储器中。 可以使所述存储器中的存储作为改写对象的所述页表项的存储器是RAM,存储要依次读出的所述页的存储器是非易失性存储器。可以使嵌入式的计算机读入该程序。作为本发明的ー个方面的控制方法,是具有管理存储器的功能的控制装置的控制方法,包含以下的步骤针对预定的软件的运行所需要的页改写页表项,以便在全部页中发生页面错误;在所述软件启动时,通过所述页表项发生页面错误,依次读出发生了该页面错误的页,当所述页是由多个任务共享的共享页时,在管理所述共享页的页描述符中作为属性信息而包含表示对于发生了所述页面错误的页是否已经完成了读入的标志,在对于已有的页新确保了所述共享页的情况下,重写与该新确保的所述共享页对应的页描述符,以使对于确保了新确保的所述共享页的虚拟存储器地址也发生页面错误。作为本发明的ー个方面的控制装置,是具有管理存储器的功能的控制装置,具有针对预定的软件的运行所需要的页改写页表项,以便在全部页中发生页面错误的改写单元;在所述软件启动时,通过所述页表项发生页面错误,依次读出发生了该页面错误的页的读出单元,当所述页是由多个任务共享的共享页时,在管理所述共享页的页描述符中作为属性信息而包含表示对于发生了所述页面错误的页是否已经完成了读入的标志,在对于已有的页新确保了所述共享页的情况下,重写与该新确保的所述共享页对应的页描述符,以使对于确保了新确保的所述共享页的虚拟存储器地址也发生页面错误。本发明的ー个方面的程序、控制方法以及控制装置,针对预定的软件的运行所需要的页改写页表项,以便在全部页中发生页面错误,在软件启动时,通过页表项发生页面错误,依次读出发生了该页面错误的页。另外,进行控制,从而当所述页是由多个任务共享的共享页时,在管理所述共享页的页描述符中作为属性信息而包含表示对于发生了所述页面错误的页是否已经完成了读入的标志,在对于已有的页新确保了所述共享页的情况下,重写与该新确保的所述共享页对应的页描述符,以使对于确保了新确保的所述共享页的虚拟存储器地址也发生页面错误。发明效果根据本发明的ー个方面,能够缩短OS等的启动时间。


图I表示应用本发明的信息处理装置的一个实施方式的结构。图2表示MMU的模型。图3用于说明描述符。图4用于说明描述符。图5用于说明页读入标志。图6用于说明物理页的读入。
图7用于说明物理页的读入。图8用于说明物理存储器映射。图9是用于说明启动处理的流程图。图10是用于说明启动处理的流程图。图11是用于说明启动处理的流程图。图12是用于说明启动处理的流程图。图13是用于说明启动处理的流程图。图14是用于说明启动处理的流程图。图15是用于说明启动处通的流程图。图16是用于说明空闲时间时的处理的流程图。
具体实施例方式以下,參照

本发明的实施方式。首先,说明本发明的概要。本发明是用于使在装配了存储器管理単元(MemoryManagement Unit (以下简写为 MMU))的 CPU (central processing unit)上运行的 OS(Operating System)或应用程序等软件高速启动的方法。作为高速启动对象的软件,一度通过通常的方法启动,该状态下的RAM (RandomAccess Memory)映像被保存在非易失性存储器等中。在将RAM映像保存在非易失性存储器等中时改写MMU的表,变更为在全部的页中发生页面错误。在成为对象的软件中准备了页面错误处理程序,在发生了页面错误时,从非易失性存储器仅加载产生了该页面错误的页。在启动任意的软件,执行程序代码,或者为了读出该软件的运行所需要的数据而访问了 RAM吋,毎次发生页面错误,把需要的页从非易失性存储器逐次加载到RAM中。由此,与现有的休眠启动不同,不需要预先把全部RAM映像从非易失性存储器加载到主RAM中,能够仅加载运行需要的最小限度的RAM映像。因此,能够高速地启动并运行希望的软件。本申请人确认,通过使用本发明能够把以往需要数十秒 数分钟的OS或软件(以下简称为软件)的启动时间缩短到数秒程度。以下具体地说明。(信息处理装置的结构)图I表示采用本发明的信息处理装置的一个实施方式的结构。采用本发明的信息处理装置当然可以用于个人计算机(PC),还可以用于具有嵌入式计算机的装置。作为包含嵌入式计算机的装置,具有电视接收器、硬盘录像机这样的电子设备。在此,以针对硬盘录像机应用本发明时为例进行说明。图I表示作为应用本发明的信息处理装置的硬盘录像机的结构。图示的硬盘录像机 100 具备CPU10U RAM102、ROM (Read Only Memory) 103、非易失性存储器 104、MPEG(Moving Picture Experts Group)编码 / 解码部 105、调谐器 106、HDD 接 ロ 107、HDD108、I/O部109、启动模式切换部110。CPUlOl控制硬盘录像机100的各部。该CPUlOl装配了存储器管理単元(MemoryManagement Unit (以下记载为MMU)),具有将RAM102划分能够以小单位(页)管理的机制。在此,设MMU131包含在CPUlOl中来继续 说明,但还可以为MMU131不被包含在CPUlOl中,而在外部具备的结构。此外,对于MMU131的形式没有特别的限制,但是成为能够以页单位设定许可/禁止访问的属性,在访问了禁止访问的页时,能够发生页面错误的例外的结构。另外,假设CPUlOl的MMU131将4千字节(以下记载为4KB)作为ー页管理来继续说明。RAM 102 能够由 SRAM (Static Random Access Memory)或 DRAM (Dynamic RandomAccess Memory)等构成。RAM102具有CPUlOl使用的主存储装置的功能,如果具有这样的功能,则能够作为RAM102来使用。R0M103是FLASH ROM (快闪只读存储器)或Mask ROM (屏蔽式堆读内存)等只读存储器。R0M103存储OS或应用程序软件,只要能够进行这样的存储,在本发明中可以使用任何种类的ROM。非易失性存储器104是即使切断硬盘录像机100的电源,仍保存所存储的内容的存储器。例如能够由FLASH ROM或带有备份功能的SRAM、DRAM等构成。非易失性存储器104在后述的软件启动后,存储在RAM102中存储的软件的存储器映像。因此,优选使非易失性存储器104的容量为RAM102的容量以上的容量。但是,在想要通过数据压缩等缩小数据时,非易失性存储器104的容量可以在RAM102的容量以下。此夕卜,非易失性存储器104还可以兼用作HDD108 (还可以将HDD108作为非易失性存储器108使用)。MPEG编码/解码部105进行动画的压缩/展开。经由调谐器106提供动画。调谐器106根据用户的指示,从多个节目(动画)中选择ー个动画,提供给MPEG编码/解码部105。MPEG编码/解码部105根据需要,经由HDD接ロ 107向HDD108提供来自调谐器106的数据,或者经由HDD接ロ 107接收来自HDD108的数据。此外,此时根据需要来执行编码或解码的处理。1/0部109是为了 CPU101读取启动模式切换部110的状态而设置的。以下说明的软件具有用于取得高速启动映像的通常启动模式、作为取得高速启动映像后的启动模式的高速启动模式。在这些启动模式的切換中使用1/0109和启动模式切換部110。为了通常启动模式和高速启动模式的切換,能够通过开关构成启动模式切換部110。此外,为了通常启动模式和高速启动模式的切換,也可以根据来自引导加载程序(Boot-Ioader)等的命令来切換启动模式切換部110。此外,一旦生成高速启动的映像,则可以不需要通常启动模式,所以可以仅安装高速启动模式,不需要通常启动模式与高速启动模式的切換。在采用这样的结构时,也可以省略1/0部109和启动模式切換部110。(MMU)图2表示CPU101装备的MMU131的模型。图2所示的MMU131是32位(bit)级别以上的CPUIOI装备的模型。MMU131的结构、物理地址、虚拟地址、在各表的索引中使用的位数、表的段数等依赖于CPU101的制造商,但是不特别依赖于制造商的架构。在此,为了说明的方便,以32位等的具体的数字为例进行说明,但该数值不是表示本发明的应用范围的限定。MMU131在指示最终的物理页的表内项的属性中实现许可访问或相当于许可访问的功能,至少具有在不许可访问的情况下进行了访问时,能够产生页面错误或相当于页面错误的例外处理的功能。MMU寄存器200是安装在MMU131中的寄存器。在该寄存器中代入I级描述符表201的起始地址。I级描述符表201是设置在存储器上的I级存储器表。在物理地址空间为32位时,为了指示一个地址使用32位即4字节,所以I级描述符表201的大小通过12位空间=4KB空间X4字节成为16KB的大小。虚拟地址202表示作为I级存储器表的索引而使用的虚拟地址的31位至20位。VA表示Virtual Address (虚拟地址)。当向预定的虚拟地址访问时,从I级描述符表201的起始地址开始,把虚拟地址的31位至20位作为索引,访问I级描述符203。在物理地址空间为32位的CPUlOl时,为了表示一个地址使用32位即4字节,所以I级描述符的地址成为以下那样的式子。I级描述符203的地址=1级描述符表201的起始地址+虚拟地址202(VA[31:20] ) X4I级描述符203是由指示2级描述符表204的起始地址的指针和属性构成的描述符。从2级描述符表204的起始地址开始,把虚拟地址的19位至12位作为索引,访问2级描述符206。在物理地址空间为32位的CPUlOl时,为了表示一个地址使用32位即4字节,所以2级描述符的地址成为以下那样的式子。2级描述符206的地址=2级描述符表204的起始地址+虚拟地址205(VA[19:12]> X42级描述符206是由表示4KB的物理页207的指针、和属性构成的描述符。物理页207是最终从虚拟地址变换为物理地址后的I页的物理存储器。通过虚拟地址208(VA[11:0]>指定物理页207的4KB内的地址。图3是I级描述符203、2级描述符206的一例。图3中的描述符只不过是ー个例子,不表示本发明依赖于在这样的一例中表示的特定的CPUlOl或架构。基地址301是指示下一个表或物理页的起始地址的指针。属性302至304分别是表示可/不可执行、特权模式/用户模式这样的属性的属性位。访问许可位305是表示是否许可针对该描述符表示的物理页的访问的位。当访问在该访问许可位305中设定为禁止访 问的物理页时,一般执行被称为页面错误的例外处理,即中断处理,这种机构是必要的。因此,虽然不依赖于CPUlOl的架构,但需要在CPUlOl中配备页面错误、或相当于页面错误的功能。在Linux或Windows (注册商标)等OS中,一般存在被称为共享存储器的概念(功能)。在各个任务间存在共用的存储器(在Linux等中意味着以最小単位分割的页,以下记载为页),具有可以从各个任务空间访问该相同的页(共享页)的机制。为了使用共享页的功能并且实现高速启动,需要也可以应对对于已有的共享页、即其它任务指示的页新确保了共享页的情況。并且,通过将发生页面错误导致的动态读入的对象扩展到共享页,对于以往全部需要简单的事前读入的共享页,也能够进行动态读入,可以实现更高速的启动。并且,共享页也能够设为基于页面错误的动态加载的对象,結果,可以进一歩改善软件的启动时间。共享页的概念,作为一般的OS的存储器管理功能来实现,因此,不特别依存于OS或制造商等。因此,以下说明的实施方式也能够应用于一般的OS的存储器管理功能,不依存于OS的存储器管理功能而被限定。图4表示了页描述符表和页描述符。存储了页描述符401-1至401-N的表是页描述符表402。在以下的说明中,在不需要单个区别页描述符401-1至401-N的情况下,简称为页描述符401。关于其它部分也同样地记载。页描述符401例如是用于存储图2所示的物理页207的属性的页描述符。属性的信息依存于OS等,在应用本发明时,对于存储的属性的信息没有限制。存在与各物理页
207对应的ー个页描述符401。通常,与多个物理页、例如图6 (后述)所示的物理页207-0至207-n分别对应的页描述符401-1至401-N,在页描述符表402内按照页顺序排列配置。在图5中,页描述符的属性信息501-1至501-N分别表示页描述符401_1至401-N的属性信息。一般,属性信息501依存于OS等。在本实施方式中,在这些属性信息501中追加页读入标志502。页读入标志502是表示通过基于页面错误的动态读入,对于发生了该页面错误的页是否已经完成了读入的标志。(物理页)图6模拟地表示了在RAM102 (图I)上排列了物理页207的状态。在RAM102中,从物理页207-0开始按顺序直到物理页2-7-n排列了 I页的物理页207。在装备了 MMU131的CPUlOl上运行软件时,像这样以4KB至64KB为单位,作为I页来管理I页的物理页207的情况较多。图7说明在软件为预定的运行状态时的物理页的使用状況。在图7中,记载了数字的页是已被使用的页,没有记载数字的页表示没有被使用的页。软件使用的程序代码或数据如图6所示,即使使用整个区域,在按照某个单位时间观察软件的状态时,很多时候如图7那样被使用。即,具有使用的页和未使用的页,并非使用全部的页。在该软件为预定的运行状态时,使用物理页207-0、物理页207-2、物理页207_4、物理页207-5、物理页207-9、物理页207-16以及物理页207-18。S卩,如图6所示,在RAM102中,从物理页207-0开始按顺序直到物理页207-n为止排列了 I页的物理页207,但是,当预定的软件为预定的运行状态时,并非使用全部的页,而如图7所示仅使用多个页。在通过现有的休眠启动进行启动时,在软件运行之前,如图6所示,在从物理页207-0开始到物理页207-n依次进行读出后恢复运行开始,成为预定的运行状态。但是实际上,该软件为了成为预定的运行状态,如图7所示,仅读出预定的多个物理页207即可。因此,在本发明中,通过如后述那样控制读出,如图7所示,仅读出需要的物理页207。在通过现有的休眠启动进行启动时,如图6所示从物理页207-0开始依次进行读出,换句话说,也读出不需要的物理页207,所以读出需要花费时间,結果,有时预定的软件(也包含OS等)的启动变得缓慢。但是,根据本发明,如图7所示,因为仅读出需要的物理页207,所以能够缩短读出花费的时间,能够使预定软件(也包含OS等)的启动加快。图8表示软件的物理存储器映射。以下说明的处理依赖于CPUlOl或OS,如果安装了这些功能,则对结构或存储器配置没有限制,并非表示仅在以下的说明中采用本发明。
非易失性存储器104是即使切换电源也保存存储内容的存储器。在图8所示的例子中,作为非易失性存储器104对FLASH ROM进行了映像。非易失性存储器104被映射到主存储器上,但是即使切断电源也保存内容,并且具备RAM102以上的容量。但是,可以应用本发明的非易失性存储器104未必需要经由I/O的访问等映射到存储器映射上,对架构没有限制。数据601是程序代码602使用的能够读写的数据区域。把数据601作为物理页207分割为某个特定的大小来进行存储。数据601需要能够读写,所以优选放置于RAM102上。程序代码602表示要启动/执行的希望的程序。在一般的个人计算机中安装了 Windows (注册商标)或Linux这样的OS,在为在该OS上运行的软件时,所谓程序包含该OS以及软件。把程序代码602作为物理页207,分割为某个特定的大小来存储。将该程序代码602 放置在 RAM102 或 R0M103 上。MMU表603表示图2所示的I级描述符表201以及2级描述符表204。页面错误处理程序604,是用于当MMU131的2级描述符206为禁止访问属性,并且发生了页面错误吋,经由中断向量进行例外处理的程序。在此,与程序代码602区分地记述了页面错误处理程序604,但有时也包含在程序代码602中。中断向量605是一般的CPU具有的中断向量。在发生了页面错误时,程序代码跳转到该中断向量内的页面错误,結果,调用页面错误处理程序604。与数据601、程序代码602、MMU表603以及中断向量605的逻辑地址对应的物理地址可以映射到任意地址。映像保存程序606是用于在启动希望的程序后,在希望的状态下把存储器映像保存在非易失性存储器104中的程序。映像保存程序606的逻辑地址和物理地址需要映射到同一地址。映像恢复程序607是用于根据需要以物理页为单位从非易失性存储器104读入并恢复通过映像保存程序606的处理而保存的物理存储器映像,并且,从非易失性存储器104向对应的物理页读入并恢复数据601或程序代码602的程序。需要把映像恢复程序607的逻辑地址和物理地址映射到同一地址。弓丨导加载程序608是在接通电源或复位后最初启动的引导加载程序。引导加载程序608主要进行启动所需要的最低限度的I/O的初始化。软件具有这样的结构。(软件的动作)然后,说明应用了本发明的软件的动作。首先说明概要,然后详细地说明。根据本发明,可以利用软件的局部性(locality)来高速启动软件。在软件中还包含OS等。例如假设在具备容量为4GB的RAM的硬件上使预定的软件运行。假设该预定的软件的程序以及数据的容量的合计值为4GB。一般,软件具有各种模式和功能,仅由预定的单一功能使用全部4GB容量的可能性极低。例如,软件在启动后在特定的状态下等待来自用户的按键输入。一般在硬件复位后启动引导加载程序,该软件启动,然后成为等待来自用户的按键输入的状态。在采用作为已知技术的休眠使该软件高速启动时,作为生成存储器映像的准备,在等待来自用户的按键输入的状态下保存CPU或各I/O的寄存器,把程序代码和数据的合计4GB存储在任何的非易失性存储器中。在启动时,相反地,并不进行通常的启动过程,而是展开4GB的存储器,恢复CPU和I/O寄存器,返回到按键输入的处理。在上述软件中,考虑“等待来自用户的输入”这样的状态。在该状态下重复进行按键输入处理,与这样的按键输入所涉及的处理有关的程序代码或数据比较小。本发明使用这样的原理实现高速启动。动作大致分为以下种类。(A)在通常启动模式下启动OS或希望的软件,使该软件处于希望的状态。(B)启动映像保存程序,通过该启动后的映像保存程序,在为了禁止对MMU131的全部页表进行访问而把预定的信息改写为表示禁止访问的信息后,把上述(A)的存储器映像保存在寄存器中然后结束。、(C)在下一次以后,通过设为高速启动模式,在(A)希望的状态下启动。在实现这样的高速启动时,作为基本的准备,如通常那样启动软件,使该软件成为希望的状态,然后保存存储器映像或寄存器。在高速启动时,与休眠启动不同,不是将全部的存储器映像在主存储器中展开,而是根据需要,把实际上所使用的存储器、即仅一部分程序代码或数据逐渐展开。作为逐渐将程序代码或存储器在主存储器中展开的方法,作为本实施方式举出使用CPU具有的存储器管理单元(MMU131)的例子来进行说明。有时OS也使用MMU131,但是在OS使用前,应用了本发明的软件复原,OS不关心应用了本发明的软件操作了 MMU131。具体地说,在保存存储器映像之前,改写MMU131的表的内容,将全部的页设定为禁止访问。此外,应用了本发明的软件还具有赋予已将上述页设为禁止访问的标记(mark)的功能。假设希望的软件在OS上运行,该OS使用MMU131的情况也相同。在高速启动时,仅MMU131的表以及CPU的寄存器先行被恢复。然后,返回生成存储器映像后的地址。MMU131的表被设定为全部禁止访问,所以在跳转到返回地址时产生页面错误。数据访问时也相同。处理页面错误的页面错误处理程序604根据发生了页面错误的地址计算页,并且,应用了本发明的软件检查已标注的标记,从非易失性存储器104向主存储器(例如RAM102)读入该页,把MMU131的表写回改写前的原始状态。通过重复这样的处理,即使是大容量的存储器映像,为了恢复到希望的状态仅读入最低限度的存储器映像即可,能够高速启动。(动作的细节)如上所述,根据本发明,与通常的启动相比能够将希望的软件高速地启动到某状态。当大致划分进行该高速启动的过程时,为了方便记载,分为(A)、(B)、(C)三类。在參照流程说明之前对(A)、(B)、(C)做进ー步说明。(A)、(B)的一系列的流程是如果执行一次,则不必每次进行的处理。通常,通过从(C)开始执行,能够进行高速启动。(A)通常启动(A-I)把启动模式切換部110设定为通常启动模式,通过通常的方法启动OS或希望的程序。(A-2)在启动希望的程序后,操作软件来使软件成为希望的状态。在高速启动时,在该状态下启动。(B)状态的保存
(B-I)根据某个按键或命令等启动映像保存程序606。对与该启动有关的启动方法没有特别的限制。(B-2)映像保存程序606在下次以后想要高速启动的状态下,保存存储器映像和寄存器。具体地说,映像保存程序606把MMU131的表全部设定为禁止访问状态,把该时刻的数据601、程序代码602、MMU表603、页面错误处理程序604、中断向量605以及寄存器类保存在非易失性存储器104中。(C)高速启动(C-I)将启动模式切換部110设定为高速启动模式。引导加载程序608判断启动模式,在为高速启动模式时,调用映像恢复程序607。映像恢复程序607使映像保存程序606所保存的MMU表603、页面错误处理程序604、中断向量605恢复。 (C-2)返回即跳转到在B-I的处理中启动了映像保存程序606后的地址。因为MMU131全部被设定为禁止访问状态,所以在毎次访问程序代码602或数据601时,在对应的地址产生页面错误,调用页面错误处理程序604。(C-3)页面错误处理程序604从非易失性存储器104中读出ー页的对应的物理页207,使 MMU131 复原。(C-4)页面错误逐个发生,在成为A-2的状态之前持续发生必要的页面错误。(C-5)读入物理页207直到成为A-2状态为止。在该处理中读入的物理页207还依赖于执行的软件或其状态,但是极其少,与通过现有的休眠技术进行的那样读入全部的物理页207相比,能够显著缩短启动时间。參照图9至图11的流程图,进ー步说明上述(A)、(B)、(C)的各动作。图9的流程图相当于上述(A)、(B)的处理。即,主要是与从接通电源到保存映像的处理有关的流程图。在步骤SlOl中,接通硬盘录像机100 (图I)的电源,或者发生复位来启动系统。在步骤S102中,启动引导加载程序608 (图8)。在该步骤S102启动的引导加载程序608为了运行OS或希望的软件,假设进行最低限度的硬件的初始化,或者根据需要把R0M103或HDD108中存储的软件传输到RAM102的处理,只要是能够执行这样的处理的引导加载程序即可。引导加载程序608依赖于系统,但并非是必须的。因此,根据系统有时省略该步骤S102。在步骤S103中,检查启动模式切換部110的状态,切換通常启动模式或高速启动模式的迁移(判断通常启动开关是否为开(0N))。在启动模式切換部110为通常启动模式时,处理前进到步骤S104,在为高速启动模式时前进到步骤S161 (图12)。在步骤S103中,当判断为通常启动开关为开(ON)吋,因为在通常启动模式下启动,所以把通常启动标志设为开(0N)。在把通常启动标志设为开(ON)时,处理进入到步骤S105,如果是装配了 OS的系统,则启动OS。在为一般的系统时,在启动OS时对MMU131进行初始化,生成图2的MMU131的表。在本发明中,OS的装配不是必须的,但假设在没有装配OS时需要进行MMU131的初始化。此外,即使在装配了 OS时,在OS的种类等方面不存在限制。在步骤S106中,启动想要高速启动的希望的软件。在步骤S107中,启动的软件运行。该处理相当于上述的A-2的处理。使软件迁移到与通过高速启动启动后的状态相同的状态。例如,假设在希望的软件中存在多个模式,若要以其中的某个特定的模式高速启动,则操作软件迁移到该模式。例如,在为硬盘录像机100时,具有预约的模式、再生的模式、设定的模式等,但在用户频繁地使用再生的模式时,迁移到再生模式。在步骤S108中,判断是否开始了映像保存程序606 (图8)的处理。该处理相当于上述的B-I的处理。通过命令或按键操作、开关等,开始映像保存程序606的处理。对该映像保存程序606的执行单元没有限制。在步骤S108中判断为没有开始映像保存程序606(图8)的处理时,处理返回到步骤S107,重复这以后的处理。即,此时继续软件的运行。另ー方面,在步骤S107中判断为已经开始了映像保存程序606 (图8)的处理时,换句话说,在判断为软件的运行结束吋,处理前进到步骤S109。以下的步骤S109至S117的处理相当于上述B-2的处理。此外,步骤S109至步骤S117的处理是映像保存程序606执行的处理。在步骤S109中,保存图I所示的I/O部109的寄存器。基本上取得设定的值并保 存。关于1/0,如果不是能读取全部寄存器的形式的1/0,需要単独地应对。I/O的种类或形式是任意的,特别是在应用本发明方面没有限制。在步骤SllO中,保存CPUlOl的寄存器。基板上保存CPUlOl的全部寄存器。CPUlOl和寄存器的种类是任意的,特别在应用本发明的方面没有限制。在步骤Slll中进行地址空间的切換。CPUlOl通常在虚拟地址模式下工作。该模式从虚拟地址模式迁移到物理地址模式。因为从虚拟地址模式向物理地址模式的迁移方法依赖于MMU131的架构,所以在应用本发明的迁移方法中没有限制。此外,在从虚拟地址模式迁移到物理地址模式时,因为地址空间变化,所以在步骤Slll的处理中,逻辑地址和物理地址需要映射到同一地址空间。在步骤S112 中,执行缓存清空(cache flush)。CPUlOl 装配 TLB (TranslationLook-aside Buffer)、一次高速缓冲存储器、二次高速缓冲存储器,在它们有效时,需要清空TLB以及高速缓冲存储器。这是因为,在下面的步骤S113中需要改写放置在RAM102上的MMU表603的内容,需要在全部的RAM102中反映在高速缓冲存储器中存储的数据。该步骤S112中的缓存清空的处理,根据需要来进行,根据情况也可以省略。在步骤S113中,把MMU131的MMU表603改写为禁止访问全部的物理页207的信息。将在后面參照图10的流程图说明该步骤S113中的MMU表改写处理。在步骤SI 13中,当改写了 MMU131的MMU表603时,处理前进到步骤SI 14。在步骤S114中执行页描述符的初始化处理,关于该处理,參照图11的流程图在后面进行说明。在步骤S115中,执行缓存清空。CPUlOl装配TLB、一次高速缓冲存储器、二次高速 缓冲存储器,在它们有效时需要清空TLB以及高速缓冲存储器。这是为了可靠地向RAM102反映在前级的步骤S113的处理中改写的MMU131的MMU表603的内容。该步骤S115的缓存清空的处理,根据需要而执行,根据情况也可以省略。 在步骤SI 16中,对于非易失性存储器104,将RAM102的全部容量的内容全部保存。非易失性存储器104的相对于RAM102的地址的相対的地址位置需要一致。例如,假定把RAM102的物理地址从0x10000000映射到Oxlfffffff。此时,例如需要针对非易失性存储器104,根据从0x40000000到0x4fffffff的地址,读入数据。在该例子时,非易失性存储器104的相当于RAM102的地址的偏移为0x30000000,所以即使是针对RAM102的地址,仅通过相加0x30000000的偏移,就能够变换为非易失性存储器104内的地址。未必需要把非易失性存储器104映射到存储器映射上。只要能够以相加了上述偏移后的地址为关键字(key)进行读入即可。此外,针对非易失性存储器104的保存方法依赖于架构,但在应用本发明方面该保存方法没有限制。在步骤SI 17中,结束映像保存程序606的处理。通过结束映像保存程序606的处理,成为能够切断电源或进行复位(RESET)的状态。在图9所示的流程图中,还没有对在步骤S103中判断为通常启动开关不是开(ON)时的处理、和步骤S113中的MMU表改写处理进行详细说明,但是首先在此參照图10的流程图详细说明步骤S113中的MMU表改写处理。基于图10所示的流程图的处理,是MMU131的MMU表603成为图2所示的结构,改写该MMU表603的处理。
在步骤S131中,当开始MMU131的MMU表603的改写时,首先,把I级描述符表201的初始地址代入到变量I级描述符指针中。在步骤S132中,从变量I级描述符指针指示的地址取得I级描述符203。在步骤S133中,判断在步骤S132的处理中取得的I级描述符203中是否存在向2级描述符表204的指针。在步骤S133中判断为在I级描述符203内存在向2级描述符表204的指针时,处理前进到步骤S136,在判断为在I级描述符203内不存在向2级描述符表204的指针时,处理前进到步骤S134。在步骤S134中,将变量I级描述符指针移动到下ー个I级描述符指针的地址。然后,处理前进到步骤S135,判断I级描述符指针是否到达最后。直到在步骤S135中判断出I级描述符指针到达最后为止,重复进行使处理返回到步骤S134,将变量I级描述符指针移动到下ー个I级描述符指针的地址的处理。然后,当在步骤S135中判断出I级描述符指针到达最后时,处理前进到步骤S115 (图9)。S卩,判断出MMU表的改写已结束,处理返回到图9所示的流程图的处理。另ー方面,当在步骤S133中判断为在I级描述符203内存在向2级描述符表204的指针时,处理前进到步骤S136。在步骤S136中,把2级描述符表204的初始地址代入到变量2级描述符指针中。在步骤S137中,从变量2级描述符指针指示的地址得到2级描述符206。在步骤S138中判断在通过步骤S137的处理取得的2级描述符206内是否存在物理页207。当在步骤S138中判断为在取得的2级描述符206内存在物理页207时,处理前进到步骤S139,在判断在取得的2级描述符206内不存在物理页207时,处理前进到步骤S144。在步骤S139中,判断在步骤S137的处理中取得的2级描述符206内的物理页207是否在步骤S116 (图9)中成为保存对象的RAM102内的地址的范围内。当在S139中判断出2级描述符206内的物理页207在成为保存对象的RAM102内的地址范围内吋,处理前进到步骤S140,当判断为不在成为保存对象的RAM102内的地址的范围内时,处理前进到步骤S144。在步骤S140中,检查在步骤S137中取得的2级描述符206的访问许可位(图3的访问许可位305),判断是否许可访问该物理页207。当在步骤S140中判断为许可向物理页207访问吋,处理前进到步骤S141,在判断为不许可向物理页207访问吋,处理前进到步骤S144。在步骤S141中,把在步骤S137的处理中取得的2级描述符206的访问许可位305改写为表示禁止访问的位。在步骤S142中,将页读入标志502(图5)设为开(0N)。然后,在步骤S143中,对改写后的2级描述符206执行标记(marking)。为了保存(标记)用于识别通过应用了本发明的软件还是通过其他软件例如通过本来的OS的动作改写了在步骤S137的处理中取得的2级描述符206的访问许可位305的信息而进行该处理。步骤S143中的标记的方法依赖于架构,在应用本发明的方面没有限制。例如,如果在2级描述符206中存在不使用的空位,则可以将该空位作为嵌入标记的信息的位来使用。此外,可以具有其他的表来管理被标记的地方和没有被标记的地方。无论是哪种情況,假设是装配了 OS等的系统,并且OS使用了这些位的情况下,通过采取共存的机制,能够实施本发明。在步骤S144中,把变量2级描述符指针移动到下ー个2级描述符206的指针的地址。当在步骤S138中判断为在2级描述符206内不存在物理页207时,在步骤S139中判断为2级描述符206没有指示RAM102时,或者在步骤S140中判断为没有许可向物理页207的访问时,来到该步骤S144的处理。在步骤S145中,判断2级描述符指针是否到达了最后。直到在步骤S145中判断为2级描述符指针到达最后为止,处理返回到步骤S137,重复进行这以后的处理。另一方面,当在步骤S145中判断为2级描述符指针到达最后时,处理前进到步骤S134。已经说明了步骤S134以后的处理,所以省略其说明。如此,改写MMU131 的 MMU 表 603。然后,说明在MMU131的MMU表603被改写后执行的步骤S114 (图9)中的处理。在步骤S141中执行页描述符的初始化处理。參照图11的流程图说明该页描述符的初始化处理。在步骤S151中,当开始页描述符的初始化时,首先在步骤S152中,通过将页描述符表的指针移动到表的开头,执行初始化。例如,当图4所示的页描述符表402被设为处理对象时,将指针移动到页描述符401-1。在步骤S153中,将页描述符内存在的读入标志设定为关(OFF)。例如,作为页描述符401-1的属性信息之一的页读入标志502 (图5)被设定为关(OFF)。在步骤S154中,将页描述符表的指针加1,处理前进到下ー页描述符。即,例如当指针位于页描述符401-1吋,将指针移动到页描述符401-2,将页描述符401-2设为处理对象。在步骤S155中,判断页描述符表的指针是否为最终表。指针的值加I后的結果,处理移动到下ー页描述符,但是,在为最后的情况下,应该处理的页描述符不存在。因此,在步骤S155中判断为页描述符的指针位于最終表吋,结束处理,当判断为不位于最终表吋,处理返回步骤S153,对于作为移动目的地的页描述符执行步骤S153以后的处理。通过像这样把作为页描述符401内的属性信息的页写入标志全部设定为关(0FF),执行页描述符的初始化处理。此后,处理前进到步骤S114 (图9),此后的处理如上所述那样执行。(高速启动时的处理)
然后,说明高速启动时的处理。当在步骤S103中判断通常启动开关没有成为看开(ON)吋,即在判断为将开关切换到高速启动时执行高速启动。图12的流程图是在步骤S103中判断为通常启动开关没有成为开(ON)时处理前进的流程图,是用于说明高速启动时的处理的流程图。在步骤S161中,为了通过高速启动模式进行启动,把通常启动标志设定为关(OFF)(高速启动标志为开(0N))。在步骤S162中,根据需要把中断向量605、页面错误处理程序604、MMU表603读入到与保存映像时相同的RAM102的地址中。在步骤S163中,读入MMU131的MMU表。将在后面參照图13的流程图说明在该步骤S163中执行的MMU表读入处理。当MMU表的读入结束时,处理前进到步骤S164。在步骤S164中,把CPUlOl的地址空间从物理地址模式迁移到虚拟地址模式。在从物理地址模式向虚拟地址模式迁移吋,因为地址空间变化,所以在步骤S164的处理中把逻辑地址和物理地址映射到同一地址空间。
在步骤S165中,从非易失性存储器104读出在步骤SllO (图9)中保存的CPUlOl的寄存器的值,对于CPUlOl进行恢复。CPUlOl或寄存器的种类为任意的,在应用本发明方面没有限制。在步骤S166中,从非易失性存储器104读出在步骤S109 (图9)中保存的I/O的寄存器的值,对于I/o部109进行恢复。I/O的种类或形式为任意的,在应用本发明方面没有限制。当如上所述恢复了寄存器等时,处理前进到步骤S107 (图9)。在步骤S107中,软件运行。此时,不执行步骤S104至S106的处理,在步骤S107中软件开始运行。由此,至少能够将直到软件能够开始运行所花费的时间缩短执行步骤S104至S106的处理所需要的时间。特别是能够消除步骤S105中的OS的启动或MMU的初始化所需要的时间以及步骤S106中软件的启动所需要的时间,由此能够期待大幅度缩短时间。返回图12的流程图的说明,參照图13的流程图详细说明在步骤S163中执行的MMU表读入处理。在步骤S181中,当开始读出MMU表603时,首先读出I级描述符表201。该I级描述符表201在步骤S116 (图9)的处理中,在非易失性存储器104中保存了 RAM102的内容,但从在该非易失性存储器104中保存的内容中仅读出I级描述符表201。在步骤S182中,把I级描述符表201的初始地址代入到变量I级描述符指针中。在步骤S183中,从变量I级描述符指针指示的地址取得I级描述符203。在步骤S184中,判断在通过步骤S183的处理取得的I级描述符203内是否存在向2级描述符表204的指针。当在步骤S184中判断为在取得的I级描述符203内存在向2级描述符表204的指针时,处理前进到步骤S187,在判断为在取得的I级描述符203内不存在向2级描述符表204的指针时,处理前进到步骤S185。在步骤185中,使变量I级描述符指针移动到下ー个I级描述符指针的地址。然后,在步骤S186中,判断I级描述符指针是否到达最后。当在步骤S186中判断出I级描述符指针到达最后时,处理前进到步骤S164 (图12)。S卩,此吋,MMU表603的读入已完成,所以处理向下一个处理前进。
另ー方面,当在步骤S186中判断为I级描述符203没有达到最后时,处理返回到步骤S183,重复其以后的处理。重复步骤S183至S186,当在步骤S184中判断为在取得的I级描述符203内存在向2级描述符表204的指针时,处理前进到步骤S187。在步骤S187中判断在步骤S183中取得的I级描述符203内的向2级描述符表204的指针是否指示RAM102。当在步骤S187中判断为向2级描述符表204的指针指示RAM102时,处理前进到步骤S188,在判断为向2级描述符表204的指针没有指示RAM102时,处理前进到步骤S185,重复以后的处理。在步骤S188中读出2级描述符表。该2级描述符表204在步骤S116 (图9)的处理中,作为RAM102的内容保存在非易失性存储器104中,从在该非易失性存储器104中保、存的内容中仅读出2级描述符表204。之后,处理前进到步骤S185,重复以后的处理。如此,进行MMU表的读出。(页面错误发生时的处理)然后,參照图14的流程图,对发生了页面错误时执行的处理进行说明。在步骤S201中,当发生了页面错误时跳转到中断向量605。即,执行从中断向量605向进行实际的页面错误处理的中断处理器的跳转。—般的CPUlOl在发生了页面错误时,作为中断处理跳转到特定的中断向量,作为其中断处理程序来处理。图14所示的发生页面错误时的处理的流程图假设处理页面错误的中断的中断处理程序,但它们依赖于CPUlOl的架构。关于本发明的应用,并没有根据CPUlOl的制造商或型号施加了限制。在步骤S202中判断通常启动标志是否为开(0N)。例如,在步骤S104 (图9)的处理中,把通常启动标志设定为开(0N)。当在步骤S202中判断为通常启动标志为开(ON)时,换句话说,在判断为通常启动吋,处理前进到步骤S207。另ー方面,当在步骤S202中判断为通常启动标志不是开(ON)时,换句话说,在判断为高速启动时,处理前进到步骤S203。在步骤S203中判断成为对象的物理页207,即与发生了页面错误的地址对应的物理页207是否为被标记的物理页207。标记是在步骤S143 (图10)的处理中执行的标记。即,被标记的物理页207是通过应用了本发明的软件被改写为禁止访问的物理页207。一般在物理页207和地址中满足以下的计算式,但是因为它们依赖于CPUlOl的架构,所以该计算式不限定本发明的应用范围。物理页=地址/页大小(例如在上述例子中为4KB)如该计算式所示,物理页是地址除以页大小得到的计算值。当在步骤S203中判断为与发生了页面错误的地址对应的物理页207是被标记的物理页207时,处理前进到步骤S204,在判断为是没有被标记的物理页207时,处理前进到步骤S207。在步骤S204中,从通过步骤S116 (图9)的处理在非易失性存储器104中保存的映像仅读出4KB的成为对象的物理页207,即与发生了页面错误的地址对应的物理页207。在步骤S205中,把成为对象的物理页207,即与发生了页面错误的地址对应的物理页207的2级描述符206的访问许可位305改写为许可访问。在步骤S206中解除在步骤S143 (图10)的处理中标记的识别信息。如此,通过执行发生了页面错误时的处理,能够实现高速启动。
另ー方面,在发生了页面错误,但是在步骤S202中判断为通常启动标志为开(ON)时,或者在步骤S203中判断为没有标记对象页时,处理前进到步骤S207。在步骤S207中执行标准的页面错误的处理。即,在通常启动时,或者在应用本发明的软件以外的软件(OS等)将访问设定为不许可时,执行通常启动或不许可访问时的处理。当在应用了本发明的系统中装配了 OS等时,通常安装了标准的页面错误处理程序。与此相対,当在系统中安装了上述那样的页面错误功能时,有时也需要重新执行OS本来进行的页面错误处理。该步骤S207的处理依赖于OS等系统,但不是必须的处理,所以作为本实施方式可以省略。如此,通过执行发生了页面错误时的处理,能够实现高速启动。(描述符的改写)接着,说明2级描述符的改写处理。在具有共享页的功能的情况下,例如在物理页 207 (图2)被共享的情况下,有可能从多个任务被访问。2级描述符206是由表示物理页207的指针和属性构成的描述符,但是,当预定的任务(记为任务A)改写了 2级描述符206后,有可能由与任务A不同的任务B访问物理页207。因此,參照图15的流程图说明当高速启动后确保了共享存储器吋,由任意的任务例如任务A或任务B改写2级描述符206时执行的处理。当执行2级描述符206的改写处理时,在步骤S231中,执行改写的任务判断与确保了共享存储器时分配的物理页207对应的页描述符的页读入标志502 (图5)是否为开(ON)0页读入标志502是表示通过基于页面错误的动态读入,对于发生了该页面错误的页是否已经完成了读入的标志,因此,在被设定为开时是已经完成了对于发生了页面错误的页的读入吋。在步骤S231中判断为页读入标志为开时,处理前进到步骤S232,执行指示该页的2级描述符206的标记处理。该标记处理,与在步骤S143 (图10)中执行的“对于改写后的2级描述符206进行标记”的处理同样地进行。另ー方面,在步骤S231中判断出页读入标志为关时,处理前进到步骤S233,执行指示该页的2级描述符206的标记的解除。该标记的解除,与在步骤S206 (图14)中执行的“对于对象页解除标记”的处理同样地进行。如此执行2级描述符的改写。(空闲时间时的处理)如上所述,通过应用本实施方式能够进行高速启动,但是,为了实现进一歩高速化,还能够在与上述的处理不同的定时进行以下的处理。一般,计算机等控制装置存在什么也不做的空闲时间。例如在用户进行某种操作的控制装置的情况下,存在不特别进行任何操作的时间。通过利用该时间、即空闲时间事前读入认为在后面的时刻需要读入的页,实现进ー步的高速启动。作为OS的功能,具有检测空闲时间的功能。在检测出空闲时间并判断为负荷较轻时,事前读入认为将来要读入的页。參照图16的流程图说明该处理。当开始空闲时间的先行读入处理时,在步骤S301中,通过将指向页描述符表的页描述符表指针设为开头来执行初始化。与图11的流程图的步骤S152的处理同样地执行处理。例如,在将图4所示的页描述符表402作为处理对象时,将指针移动到页描述符401-1。
在步骤S302中,判断对于CPUlOl的负荷是否为低状态,与CPU的负荷相关的信息多数情况下由OS提供,利用基于该OS或提供方法而提供的信息,执行步骤S302中的处理。因此,与CPU的负荷相关的信息的取得或针对该负荷的判断,依存于OS或提供方法的实现,但是,在应用本发明时不意味着由OS等施加限制。在步骤S302中判断为CPUlOl的负荷高时,重复步骤S302的处理。S卩,在判断CPUlOl的负荷为低之前,重复步骤S302的处理,在判断为低的时刻将处理转移到下面的处理。在步骤S303中判断页读入标志是否为关(OFF)。通过由执行读入的任务判断对应于希望执行读入的物理页207的页描述符的页读入标志502 (图5)是否为关,来进行判断。页读入标志502是表示通过基于页面错误的动态读入,对于发生了该页面错误的页是否已经完成了读入的标志,因此,在被设定为关时是针对发生了页面错误的页的读入尚未完成时。 在步骤S303中判断为页读入标志为关时,处理前进到步骤S304,被判断为关的页读入标志被设定为开(0N)。然后,在步骤S305中,与页描述符对应的页的一部分被空读(dummy-read)。对于该空读中的读入大小没有限制。即使以I字节来执行读入,也发生上述的页面错误,该页被读入。S卩,在步骤S304和步骤S305中,尚未进行读入的页(页读入标志被设定为关的页)被读入,执行了读入,因此,为了表示该情况,将页读入标志设为开。如此判断未被读入的页并执行读入。在步骤S305中执行了空读的情况下,或者在步骤S303中判断为页读入标志为开的情况下,处理前进到步骤S306,将页描述符表的指针加1,处理对象前进到下一页描述符。即,例如当指针位于页描述符401-1吋,将指针移动到页描述符401-2,页描述符401-2被设为处理对象。在步骤S307中判断页描述符表的指针是否为最终表。将指针的值加I的結果,处理移动到下ー页描述符,但是,在为最后的情况下,不存在应该处理的页描述符。因此,在步骤S307中判断为页描述符的指针位于最終表吋,结束处理,在判断为不位于最终表吋,处理返回步骤S302,执行此后的处理。这样,当判断为CPUlOl的负荷低时,通过执行空读,先读取将来有可能读入的页。当如上所述那样实现了高速启动时,在页访问时发生页面错误而动态地发生读入页的处理,因此,当读入的页数增大时,认为有可能使处理加重并使启动延迟。但是,通过执行该利用了空闲时间的处理,在空闲时间时先行读入认为将来要读取的页,可以减少动态存储器的读入处理,可以实现整体的速度提高。 在由于读入的页数增大而导致处理加重时,当然也可以使启动高速化,在读入的页数不多吋,当然也可以实现进ー步的高速化。(效果)如上所述,在装配了存储器管理単元(MMU)或与MMU相当的存储器管理功能的计算机系统上,对于MMU的表改写页表项,以便针对软件的运行所需要的RAM的最小単位、SP所谓的页,在全部的页中发生页面错误,在启动时,针对对于要访问的RAM产生的页面错误,通过不仅把本来的OS等具有的已知技术、即页入/页出(pagein/pageout)的功能,还把发生的页面错误的功能用于所保存的存储器映像的以页为単位的读取,由此,具有以下的效果。首先,能够实现必要的最小限度的存储器映像的读入容量。由此,例如能够缩短个人计算机的启动时间。具体地说,与目前需要数十秒至数分钟的启动时间相比,能够在数秒以内启动。此外,能够缩短数字家电的启动时间。在电视接收器或硬盘录像机等数字家电(电子设备)中,具有装配了 OS (预定的软件)的机种。虽然在装配了预定软件的设备时启动时间有时变长,但是通过应用本发明,能够缩短这些数字家电的启动时间。此外,能够延长电池的寿命。作为现有的用于实现高速启动的方法,具有使CPU或存储器转移到省电模式的方法。在该方法中,虽然称为省电模式,但需要电力,对于通过电池工作的设备来说无法忽视其功耗。通过应用本发明,能够在非易失性存储器中保存启动映像,不需要使用在向RAM提供电源的情况下停止的所谓的挂起(对应于现有的省电模式)。由此,结果可以显著延长电池寿命。 并且,能够实现家电产品的节能化。电视接收器或硬盘录像机等一般启动慢,因此还存在具有成为“高速启动模式”的模式。但是,该“高速启动模式”为了高速启动家电产品,通常通过接通电源来实现高速启动。因此,与接通电源时同等地消耗电力。但是,通过应用本发明可以缩短启动时间,可以通过与“高速启动模式”时使用的启动时间等同的、或者更短的启动时间进行启动,不需要设置“高速启动模式”。因此,能够取消在“高速启动模式”时必须始終接通电源的状态,因此能够实现节能化。而且,通过应用本发明,除了上述效果以外,共享存储器也能够作为动态读入对象页来处理。另外,能够减小事前读入部分的大小,結果,能够进ー步缩短启动时间。上述计算机执行的程序,可以是按照在本说明书中说明的顺序按时间序列地进行处理的程序,还可以是并行地或者在进行了调用时等必要的时刻进行处理的程序。此外,还可以通过专用的硬件构成。此外,在本说明书中,系统表示由多个装置构成的装置全体。本发明的实施方式不限于上述的实施方式,在不超出本发明主g的范围内可以进行各种变更。符号说明100 硬盘录像机;101CPU ; 102RAM ; 103R0M ;104 非易失性存储器;105MPEG 编码 /解码部;106调谐器;107HDD接ロ ;108HDD ; 1091/0部;110启动模式切换部
权利要求
1.一种计算机可读取的程序,用于具有管理存储器的功能的控制装置中,所述程序的特征在干, 包含以下步骤 针对预定的软件的运行所需要的页改写页表项,以便在全部页中发生页面错误;以及 在所述软件启动时,通过所述页表项发生页面错误,依次读出发生了该页面错误的页, 如下这样执行处理 当所述页是由多个任务共享的共享页时,在管理所述共享页的页描述符中作为属性信息而包含表示对于发生了所述页面错误的页是否已经完成了读入的标志, 在对于已有的页新确保了所述共享页的情况下,重写与该新确保的所述共享页对应的页描述符,以使对于确保了新确保的所述共享页的虚拟存储器地址也发生页面错误。
2.根据权利要求I所述的程序,其特征在干, 在启动所述预定的软件后改写所述页表项,把该启动时的数据、程序代码、表、页面错误处理程序、中断向量以及寄存器存储在所述存储器中。
3.根据权利要求I所述的程序,其特征在干, 所述存储器中的存储成为改写对象的所述页表项的存储器是RAM,存储要依次读出的所述页的存储器是非易失性存储器。
4.根据权利要求I所述的程序,其特征在干, 由嵌入式计算机读入该程序。
5.ー种具有管理存储器的功能的控制装置的控制方法,其特征在干, 包含以下步骤 针对预定的软件的运行所需要的页改写页表项,以便在全部页中发生页面错误;以及在所述软件启动时,通过所述页表项发生页面错误,依次读出发生了该页面错误的页,当所述页是由多个任务共享的共享页时,在管理所述共享页的页描述符中作为属性信息而包含表示对于发生了所述页面错误的页是否已经完成了读入的标志, 在对于已有的页新确保了所述共享页的情况下,重写与该新确保的所述共享页对应的页描述符,以使对于确保了新确保的所述共享页的虚拟存储器地址也发生页面错误。
6.ー种具有管理存储器的功能的控制装置,其特征在干, 具备改写单元,其针对预定的软件的运行所需要的页改写页表项,以便在全部页中发生页面错误;以及 读出单元,其在所述软件启动时,通过所述页表项发生页面错误,依次读出发生了该页面错误的页, 当所述页是由多个任务共享的共享页时,在管理所述共享页的页描述符中作为属性信息而包含表示对于发生了所述页面错误的页是否已经完成了读入的标志, 在对于已有的页新确保了所述共享页的情况下,重写与该新确保的所述共享页对应的页描述符,以使对于确保了新确保的所述共享页的虚拟存储器地址也发生页面错误。
全文摘要
本发明涉及能够缩短启动时间的程序、控制方法以及控制装置。在装配了存储器管理单元(MMU)的计算机系统中,针对MMU的表改写页表项,以便针对软件的运行所需要的页,在全部的页中发生页面错误。启动时,对于针对要访问的RAM产生的页面错误,执行已保存的存储器映像的页面单位的读入。通过进行这样的读入,不进行不需要的页的读入,能够缩短相应量的启动时间。本发明可以用于个人计算机或具备嵌入式计算机的电子设备。
文档编号G06F9/445GK102687113SQ20108005177
公开日2012年9月19日 申请日期2010年3月5日 优先权日2009年11月17日
发明者增渕友裕, 桥本健一 申请人:株式会社普存微软
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1