储器130的多个保留区域中的相机单元140的保留区域执行用于图像捕捉或视频记录的预览功會K。
[0052]存储器130可被划分为程序存储器和数据存储器。程序存储器可存储用于控制终端的一般操作的程序。数据存储器可临时存储在控制程序的执行期间产生的数据。
[0053]存储器130可在物理上包括多个保留区域和多个非保留区域。针对存储器130的多个保留区域中的每个设置数据收回条件,使得当与多个保留区域对应的功能单元没有被驱动时,多个保留区域可被用作非保留区域。
[0054]图3是示出根据本公开的第一示例性实施例的基于数据收回条件将数据存储在存储器的保留区域中的处理的流程图。参照图3,对于包括多个保留区域和多个非保留区域的存储器,如果被分配了多个保留区域中的一个的装置没有被驱动,则OS可将未占用的保留区域如同多个非保留区域一样用作通用目的。保留区域是针对功能单元预先分配的物理上连续的区域。非保留区域表示由OS动态分配的区域。
[0055]这里使用的短语“用作通用目的”可表示保留区域可被用作用于存储OS的数据结构(诸如,处理的代码、堆栈、堆和页高速缓冲存储器)和构成运行在OS上的处理的虚拟地址空间的内容的空间。
[0056]在本公开的一个实施例中,针对多个保留区域中的每个配置数据收回条件集。以初始驱动速度的递增顺序针对分配给功能单元的多个保留区域中的每个设置数据收回条件,以当被分配了多个保留区域的装置被驱动时,从已被用作非保留区域的多个保留区域快速收回数据。
[0057]数据收回条件集包括用于删除数据的数据丢弃条件、用于将数据移动到非保留区域的移动至非保留区域条件,以及用于将数据移动到辅助存储器的移动至辅助存储器条件,这为功能单元提供了不同的初始驱动速度。
[0058]数据丢弃条件具有最高的数据处理速度,这是由于其立即删除存储在保留区域中的数据。移动至非保留区域条件具有第二高的数据处理速度,这是由于其在存储器内移动数据。移动至辅助存储器条件具有最低的数据处理速度,这是由于其将数据从存储器移动到辅助存储器。
[0059]因此,可基于功能单元需要的初始驱动速度,针对相关联的保留存储器区域设置适当的数据处理条件(之后还被称为“数据收回条件”)。
[0060]通常,相机功能应被快速驱动,换言之,需要具有高的初始驱动速度。另一方面,视频回放功能可容许其初始驱动速度稍微延迟。即便对于视频记录功能来说,在预览图像被显示之后而明确的记录(编码)开始命令被发出之前,也存在一定程度的空闲时间。因此,对于由硬件视频编解码单元使用的保留存储器区域,可允许其页迀移或数据处理稍微延迟。
[0061]因此,在这种情况下,对于数据收回条件集,可针对用于相机单元的保留区域设置最高数据处理速度的用于删除数据的数据丢弃条件,可针对用于硬件视频编解码单元的保留区域设置用于将数据移动到非保留区域的移动至非保留区域条件,或用于将数据移动到辅助存储器的移动至辅助存储器条件。
[0062]以这种方式,针对多个保留区域中的每个配置数据处理条件。在步骤301中,终端的OS确定多个保留区域是否被用于页高速缓冲存储器的目的,在页高速缓冲存储器中,存储器如高速缓冲存储器一样被使用。如果是这样的,则在步骤302中,OS确定是否存在读取存储在辅助存储器中的数据的请求。当请求读取存储在辅助存储器中的数据时,在步骤303中,OS将读取的数据存储在多个保留区域中的被设置了数据丢弃条件的保留区域中。
[0063]如果存储在辅助存储器中的数据被读出并且被存储在存储器的保留区域中,则页高速缓冲存储器转换为干净状态(clean state)。这里使用的术语“干净状态”可表示以下状态:由于从辅助存储器读取的数据在被高速缓存在存储器中之后没有被更新,因此不需要将高速缓存在存储器中的数据反映回到辅助存储器中,意味着相同数据存在于辅助存储器和存储器中。因此,由于在辅助存储器中的数据被读出并且被存储在存储器的保留区域中,因此存储在存储器的保留区域中且从辅助存储器中读出的数据被允许删除。
[0064]因此,当请求读取存储在辅助存储器中的数据时,OS将请求读取的数据存储在被设置了用于删除数据的数据丢弃条件的保留的存储器区域中。
[0065]如果当在步骤301中多个保留区域A被用于页高速缓冲存储器的目的时,在步骤304中存在用于将数据记录在辅助存储器中的请求,则在步骤305中OS将读取的数据存储在多个保留区域中的被设置了移动至辅助存储器条件的保留区域中。
[0066]如果将被记录在辅助存储器中的数据被存储在存储器的保留区域中,则页高速缓冲存储器转换为脏状态(dirty state)。这里使用的术语“脏状态”可表示以下状态:由于从辅助存储器读取的数据在被高速缓存在存储器中之后被更新,因此更新的数据需要被反映到辅助存储器中。换言之,不同的数据存在于辅助存储器和存储器中。因此,由于数据仅被存储在存储器中而不被存储在辅助存储器中,因此存储在存储器的保留区域中的数据需要被移动到辅助存储器。
[0067]因此,当请求记录存储在辅助存储器中的数据时,OS将请求记录的数据存储在被设置了用于将数据移动到辅助存储器的移动至辅助存储器条件的保留的存储器区域中。
[0068]如果在相同数据存在于辅助存储器和存储器中的页高速缓冲存储器的干净状态下修改存储器中的数据,则页高速缓冲存储器转换为脏状态。相反,如果在不同数据存在于辅助存储器和存储器中的页高速缓冲存储器的脏状态下,存储在存储器中的数据被移动到辅助存储器,则页高速缓冲存储器转换为干净状态。
[0069]这样,页高速缓冲存储器的干净状态可被转化为页高速缓冲存储器的脏状态,页高速缓冲存储器的脏状态可被转化为页高速缓冲存储器的干净状态。
[0070]因此,存储在从页高速缓冲存储器的干净状态转换为页高速缓冲存储器的脏状态的保留存储器区域中的数据可被移动到被设置了移动至辅助存储器条件的保留区域,而不管功能单元是否被驱动。
[0071]此外,存储在从页高速缓冲存储器的脏状态转换为页高速缓冲存储器的干净状态的保留存储器区域中的数据可被移动到被设置了数据丢弃条件的保留区域,而不管功能单元是否被驱动。
[0072]当在步骤306中存储器的多个保留区域A已被用作与非保留区域相同的目的,而非页高速缓冲存储器时,在步骤307中请求存储特定数据时,在步骤308中OS将特定数据存储在多个保留区域中的设置了移动至非保留区域的保留区域中。
[0073]将参照图4描述当数据通过图3的处理被存储在多个保留区域A中并且被分配了多个保留区域的功能单元被驱动时,快速处理存储在多个保留区域中的数据的处理。
[0074]图4是示出根据本公开的第一示例性实施例的根据数据收回条件处理存储器的保留区域中的数据的处理的流程图。
[0075]参照图4,在步骤401中,如果分配了多个保留区域中的特定保留区域的功能单元被驱动,则OS确定在特定保留区域中是否存在数据。如果在特定保留区域中存在数据,则在步骤402中,OS确定针对用于被驱动的功能单元的保留区域设置的数据收回条件。
[0076]在步骤403中,OS确定设置的数据收回条件是否是数据丢弃条件。如果设置的数据收回条件是数据丢弃条件,则在步骤404中,OS立即删除存储在特定保留区域中的数据以恢复特定保留区域,从而将特定保留区域用作用于驱动功能单元的原始保留区域。
[0077]在步骤405中,OS确定设置的数据收回条件是否是移动至辅助存储器条件。如果设置的数据收回条件是移动至辅助存储器条件,则在步骤406中,OS将存储在特定保留区域中的数据移动到辅助存储器以恢复特定保留区域,从而将特定保留区域用作用于驱动功能单元的原始保留区域。在这种情况下,OS修改页表以指示数据被存储在辅助存储器中而不是被存储在特定保留区域中。
[0078]在步骤407中,OS确定设置的数据收回条件是否是移动至非保留区域条件。如果设置的数据收回条件是移动至非保留区域条件,则在步骤408中,OS将存储在特定保留区域中的数据移动到存储器的非保留区域中的空区域,以恢复特定保留区域,从而将特定保留区域用作用于驱动功能单元的原始保留区域。在这种