文件访问管理系统的制作方法

文档序号:6477718阅读:171来源:国知局
专利名称:文件访问管理系统的制作方法
技术领域
本发明涉及一种被安排为在共享系统中控制数据访问的计算装置。特别地,本发
明涉及一种在共享系统中使得各应用能够同时进行数据访问计算系统。本发明还涉及相应 的方法。
背景技术
许多现代操作系统运行抢占式多线程(pre-emptivemultithreading)环境。在这 种环境中,执行的多线程可以并行地执行。各个线程被分配以特定的优先权,使得当超过特 定处理器所能够处理的、更多的线程要求执行时,首先执行较高优先级的线程。某些线程可 能包括读取数据的指令以例如向显示设备输出位图。这类操作通常不会导致存储器的任何 重新分配,并且如果两个线程同时尝试读取相同的数据,也不会导致问题。另一些线程可能 包括对数据操控的指令,例如通过对位图调整大小或进行压縮。这类线程通常从数据管理 系统调用适当的操控函数。操控函数通常导致针对被操控数据的存储器重新分配。如果两 个线程尝试同时操控相同的数据,将会导致存储器差错,因为两个线程都将要同时尝试重 新分配存储器。而且,在一个线程正在访问特定数据而另一线程调用函数以对该数据进行 操控的情况下,类似的错误也将发生。 图1示出了在多线程环境下并发性相关联的问题。现有技术中已知的移动电话 100示意性地与虚拟全局存储器组集(virtualglobal memory chunk) 101—起示出。两个 位图102、103被存储在存储器101中。移动电话还已在存储器中存储有多个应用,每个应 用包括一个或多个执行的线程。在图1中,示出两个执行线程104和105。线程104包括 读取并显示位图102的指令。在使用中,执行线程104并且在移动电话100的显示器上以 其正确的形式显示位图102。在没有任何并发性控制的情况下,其它执行的线程能够在线 程104正在显示位图102时操控全局存储器101中的位图。线程105包括对位图102调整 大小的指令,以便由另一线程在将来某个时间点进行显示。在使用中,一个应用可以使得线 程105能够在线程104正在将位图102显示在移动电话显示器上时对位图102进行操控。 该操控的操作导致存储器的重新分配,正如在图1中所见到的那样。线程105对位图102 调整大小,并且改变其虚拟存储器地址。新的位图106以虚线示出。当这发生时,线程104 正在继续尝试并显示位图102。由于线程105已经改变了位图102和其存储器分配,线程 104将不能显示原位图,而是代之以显示该位图破坏的版本,正如图1中所见到的那样。这 提供了不好的用户体验,并且在没有任何纠正由线程104所引用的存储器地址的机制的情 况下,设备可能变得持久地被破坏。 在现有技术中,存在多种已知的机制来处理与并发性相关联的问题。 一种典型的 操作系统包括文件管理系统,其使用同步机制来控制对存储在存储器中的数据的访问。一 种这样的机制是串行化。文件系统顺序地执行读取和操控操作。由于每个操作在其开始之 前必须等待较早的操作完成,这是耗费时间的。另一个机制是互斥或者互斥体(mutex),诸 如锁。已经知道不同类型的锁,包括全局锁以及文件锁。全局锁针对给定的文件类型应用于整个文件管理系统。当线程调用操控文件数据或者导致文件数据被重新分配的函数时, 该线程必须首先获取全局锁。 一旦线程具有全局锁,仅该线程能够调用操控函数。当该线 程已经结束数据操控时,则其释放该全局锁。其它线程在其能够操控文件数据之前必须等 待全局锁变为可用。使用全局锁的主要问题在于会发生死锁情况。而且,恶意线程可以锁 定文件系统并且不对其解锁。这会使得文件系统被锁住,并且设备将变得不能使用。如果 恶意线程在开启时启动,则设备可能再不能使用。另一问题在于全局锁对整个文件系统进 行锁定。这使得整个系统变得缓慢,这是因为各线程必须按顺序访问文件系统。这违反了 多线程环境的整个目标。 —种对使用全局锁机制的可替换方案是使用文件锁机制。在这种机制中,每个单 个的文件具有与之关联的锁。因此,仅正被操控的文件数据需要被锁定。这是具有优势的 没有被线程操控的文件数据可以被其它线程进行操控。然而,与全局锁相关联的某些问题 对于文件锁同样成立。特别地,仍旧能导致死锁情况,而且恶意线程能够锁定特定文件数 据,使得其对于其它线程变得不可访问。 由于上述讨论,清楚的是,存在对于数据管理系统的需求,这种数据管理系统能够 避免与使用锁或其它类似同步机制相关联的问题。这种系统还应该有利于设备性能并要求 最小的RAM。

发明内容
在优选实施例中,本发明提供一种计算设备,其控制应用线程对存储在该计算设 备的存储器中的多个数据部分的访问。每个线程包括用于该线程被安排为对其进行访问或 者操控的每个数据部分的句柄。当应用线程包括操控数据部分的指令时,该应用线程调用 函数。该计算设备将该数据部分拷贝到新的存储器位置,并且对数据部分拷贝应用所调用 的函数。每个数据部分包括关联元数据,其被用于存储与该数据部分相关的信息。可以以 脏标志(dirty flag)标记部分元数据,该脏标志指示该数据部分最近已经被拷贝或者操 控。当拷贝数据部分以进行操控时,计算设备利用脏标志来标记原数据部分,并且在原数据 部分的元数据中存储新数据部分的句柄。当应用线程随后访问或者操控给定数据部分时, 系统首先检查脏标志的存在。如果存在脏标志,向调用线程返回新数据部分的句柄,并且将 该线程引导到该新数据部分。 本发明提供一种计算设备,包括存储器,被安排为存储多个数据部分,其中该计 算设备被安排为运行引用数据部分的多个过程,并且该计算设备还被安排为当一个过程尝 试操控该数据部分时将所述数据部分拷贝到新存储器位置,操控该拷贝,以及当满足预定 条件时销毁原数据部分。 因此,本发明的计算设备能够使得不同线程能够同时访问不同数据部分。当一个 线程操控数据部分时,整个系统保持对于其它线程可用,因为没有使用锁。而且,如果一个 线程在另一线程尝试操控一数据部分的同时尝试读取那个数据部分,则不会发生错误,这 是因为文件句柄保持有效,甚至在脏标志已经被应用于与原数据部分关联的元数据中之前 也保持有效。由于没有应用能够锁定整个系统,因此也不存在安全风险。由于没有使用锁, 系统不可能进入死锁情况。由于多线程可以同时访问并且操控系统中的数据,由此提高了 设备的性能和速度。与不删除旧数据部分或者再很长时间段之后删除旧数据部分的设备相比,该设备还提供了增加效率存储器。 优选地,数据部分是图像数据,或者其它具有经由设备显示器能够传达给用户的 内容的数据。利用这种数据,本发明提供以下优点总是向用户示出正确的、未破坏的图像。 这提供了增强的用户体验。 优选地,一旦应用过程已经对拷贝的数据部分进行了操控,任何尝试访问旧数据 部分的过程均被更新为引用新数据部分。优选地,当所有应用过程引用新数据部分时该预 定条件被满足。以这种方式,本发明提供一种特别有效的设备,其仅在所需的时间段内将位 图保留在存储器中。这进一步增强了设备的有效存储器。 本发明还提供一种计算设备,包括存储器,被安排为存储多个数据部分,其中该 计算设备被安排为运行引用数据部分的多个过程,并且该计算设备还被安排为当一个过程 尝试操控该数据部分时将所述数据部分拷贝到新存储器位置,操控该拷贝,并且标记与原 数据部分相关联的数据以指示其已经被所述拷贝代替。 本发明还提供一种用于管理计算设备存储器中的数据访问的方法,该存储器被安 排为存储多个数据部分并且该计算设备被安排为运行引用数据部分的多个过程,其中当一 个过程尝试操控所述数据部分时执行对所述数据部分的拷贝,操控该拷贝,并且当满足预 定条件时销毁原数据部分。 本发明还提供一种用于管理计算设备存储器中的文件访问的方法,该存储器被安 排为存储多个数据部分并且该计算设备被安排为运行引用数据部分的多个过程,其中当一 个过程尝试操控数据部分时执行对所述数据部分的拷贝,操控该拷贝,并且标记与原数据 部分相关联的数据以指示其已经被所述拷贝代替。 本发明还提供一种计算设备,包括存储器,被安排为存储多个数据部分以及多个 应用,每个应用被安排为访问或操控所述多个数据部分;用户输入,被安排为允许用户控制 该多个应用;显示器,被安排为显示所述多个应用的可视输出;数据管理服务器,被安排为 控制所述应用对所述数据部分的访问;其中由所述应用操控所述数据部分的请求被路由 到所述数据管理服务器,并且所述服务器被安排为在接收到操控请求之后拷贝相关数据部 分,并且执行对所述拷贝的操控请求。 优选地,存储器包括多个不同的存储器单元,每个单元被安排为存储不同的应用 和数据部分。特别地,存储器可以包括ROM(只读存储器),其存储操作系统代码;用户数据 存储器,其存储用户数据和某些应用;以及RAM(只读存储器),在使用时其中可以加载有应 用和文件数据。 术语"引用"旨在表示应用过程和文件之间的关系,由此应用过程能够读取或者操
控该文件。例如,应用过程可以读取文件以便通过显示屏向用户显示其内容。而且,应用过
程可以通过调整文件大小、改变文件分辨率、压縮文件以及其它的操控过程来对其进行操
控。被安排为以这种方式读取或操控文件的应用过程被认为是引用该文件。 本发明的其它特征在附属权利要求书中限定。从对优选实施例的以下描述中,与
本发明相关联的特征和优点将会明显。


现在将通过举例的方式,参考附图来描述本发明的优选实施例,在附图中
图1示出现有技术中已知的移动电话; 图2示出根据本发明实施例的移动电话; 图3示出图2的移动电话的操作系统; 图4示出图3的操作系统的多媒体和图形服务部分; 图5是示出根据本发明实施例的操作系统、应用、文件数据和硬件的各单元的系 统图; 图6示出根据本发明实施例的位图存储器; 图7是示出图2所示移动电话的操作的流程图; 图8是示出图2所示移动电话的进一步操作的流程图;以及 图9示出使用的图2所示移动电话。
具体实施例方式
现在将针对被安排为运行在移动电话中的操作系统描述本发明的优选实施例。将 描述的移动电话与现有技术中已知的移动电话具有相同的组件。特别地,该移动电话包括 被安排为处理电话功能、应用功能(包括操作系统(0S)服务)、射频(R.F.)通信服务和功 率调节的子系统。这些常规组件的操作将是本领域技术人员所熟悉的。这些子系统并未被 示出,除非为了理解本发明需要了解它们的结构或操作。 图2示出了移动电话200。移动电话200包括存储器201,在图2中示意性地示出 该存储器。存储器包括三个单独的存储器组件。这些组件是只读存储器(R0M)201a、随机存 取存储器(RAM)201b和用户数据存储器201c。 ROM 201a包括操作系统、图形用户接口和其 它关键应用。RAM 201b是易失性存储器,当移动电话关闭时RAM固有为空。当移动电话启 动时,按照需要,将应用加载到RAM201b。用户数据存储器201c包括其它应用、应用文件、用 户数据和用户设置。 上面结合ROM 201a提到的操作系统还具有与现有技术已知的移动电话操作系统 相同的单元。将结合图3简要地描述根据本发明优选实施例的操作系统。
图3示出了用于存储在移动电话200的ROM 201a中的操作系统202的系统模型。 操作系统202包括各种层,每个层被安排为执行操作系统的功能。操作系统202包括三个 主要部分,即基础部分、中间件部分以及应用部分。基础部分包括内核服务203和基础服务 204。这些层被安排为对移动电话硬件资源以及在硬件和操作系统202的中间件之间的通 信进行管理。中间件是操作系统202服务的核心,并且其控制运行于设备的应用和系统资 源(其自身由基础部分管理)之间的通信。它包括操作系统服务层205,该操作系统服务层 分为四个子部分。这些子部分是通用0S服务部分205a、通信服务部分205b、多媒体和图形 服务部分205c以及连接服务部分205d。通用OS服务部分205a、通信服务部分205b、连接 服务部分205d被安排为以本领域技术人员所熟悉的方式工作。这些部分的细节将不在此 描述。根据本发明的优选实施例,将在下文中更详细地描述多媒体和图形服务部分205c。 操作系统202的应用部分包括应用服务层206、用户接口 (UI)框架层207以及Java J2ME 层208。这些层以本领域技术人员所熟悉的方式工作。 参照图4,多媒体和图形服务部分205c包括字体和位图服务器(FBS) 209和窗口 服务器210。字体和位图服务器209提供位图管理服务,其管理对存储在R0M 201a中的位图或者用户数据存储器201c中的文件的访问。字体和位图服务器209保留存储在存储器 201中所有位图的记录,并且使得所有位图对于所有图形应用和对于窗口服务器209可用。 字体和位图服务器209的功能将在下文中详细描述。窗口服务器201向移动电话200的屏 幕提供用户可视输出。当应用需要显示位图时,应用向窗口服务器提供指向相关位图的位 置的指针,以便能够显示该位图。 无论基于OS服务器层205还是应用层206,应用中的每一个包括多个执行线程。 当应用运行时,各个线程包括访问或者操控位图的指令。下文中,这些线程将会称为客户端 线程。客户端线程包括到由那些客户端线程所引用的位图的虚拟存储器地址的句柄。这些 句柄由字体和位图服务器209保持。当客户端线程需要对位图进行访问以便读取或者操控 时,字体和位图服务器控制该访问。当位图需要被显示在移动电话200的屏幕上,客户端线 程将向窗口服务器210传递相关位图的句柄,以便窗口服务器能够显示适当的位图。
图5示出整个位图管理系统的系统架构,该位图管理系统包括操作系统组件、应 用、数据和硬件。字体和位图服务器209存储全局存储器211中可用的位图。所有位图包 括关联的元数据。元数据包括关于位图的信息,诸如文件大小以及图像分辨率。所有位图 元数据与全局存储器211分离地被存储在分离的元数据存储器中212。元数据还包括与位 图访问控制相关的数据。如将在下文中描述的,当调用了操控函数,位图被拷贝到新位置。 在多数情况下,旧位图不被删除。相反,旧位图被标记以脏标志,该脏标志向随后要求访问 该位图的任何客户端线程指示已经创建了新位图。在位图元数据中的一个比特被保留为脏 标志。 存储在全局存储器211中的位图可由多个应用213访问。正如上文所述,每个应 用包括一个或多个客户端线程。客户端线程可以要求访问位图,或者读取位图以例如将该 位图显示在移动设备的屏幕上,或者对位图进行操控。字体和位图服务器209包括各种可 以由客户端线程调用以便操控位图数据的函数。这些函数包括调整大小函数、压縮函数以 及其它函数。由于位图大小的增加或减小,这些函数的每一个都要求对存储器进行重新分 配。如上文所述,字体和位图服务器209控制出于所有目的对位图的访问。
为全局存储器211预留的虚拟地址范围被划分为两个部分,如图6所示。第一部 分是小位图部分211a,且第二部分时大位图部分211b。对角阴影区域是提交到物理存储器 的虚拟页。正如图6所示,小位图部分211a包括提交到物理存储器的页的连续集合,其可 以与常规单端存储堆(heap) —样增加或者减少。大位图部分211b将页以位图为单位提交 到物理存储器。页仅保持用于大位图的数据,并且当大位图被删除时,该大位图使用的该页 的集合从物理存储器解除提交。由于大位图被分配以整数个物理存储器页,位图大小通常 被确定为页大小的整数倍。如果大为图大小并非恰好是页大小的整数倍,则浪费了存储器。 为了降低存储器的浪费,大位图必须显著大于存储器页大小。在优选实施例中,大位图是4 倍于页大小的位图。因此,对于4KB页,大位图至少为16KB。所有其它位图均作为小位图处 理。 当设备开启时,计算为全局存储器组集211而预留的虚拟地址范围的大小。典型 地,虚拟地址范围被设定为物理RAM对于字体和位图服务器209可用的数量,为2的次方。 虚拟地址范围的大小还被设定在预定的最大值和最小值之间。现在将结合图7,更加详细地 描述位图操控的处理。
将在位图调整大小操作的上下文中描述操控过程。当应用要求对特定位图调整 大小并对其进行显示,该过程被初始化。客户端线程从字体和位图服务器209调用调整大 小函数(步骤301)。客户端线程包括相关位图的句柄,该句柄的形式是指向用于该位图的 虚拟存储器地址空间的指针。作为调用过程的一部分,将该句柄传递到字体和位图服务器 209。该字体和位图服务器209然后返回包括对于相关位图的句柄的调整大小函数(步骤 302)。在执行调整大小函数之前,字体和位图服务器209针对脏标志的存在性检查与该位 图相关联的元数据(步骤303)。如果不存在脏标志,字体和位图服务器209将该位图拷贝 到RAM 201b中的新位置(步骤304)。 一旦位图已经被拷贝到新位置,字体和位图服务器 209对该新位图执行调整大小函数(步骤305)。字体和位图服务器209然后执行用于处理 旧位图的过程(步骤306)。将参照图8更加详细地描述这些过程。为了可以清楚地理解位 图操控处理,用于处理旧位图的过程的基本方面将简要地描述。每个位图包括存储在与该 位图相关联的元数据中的引用计数。在多于一个客户端线程引用特定位图时,该位图的引 用计数将会大于一。在这些情况下,字体和位图服务器209利用脏标志来标记位图元数据, 并且把到新位图的句柄存储在旧位图元数据中。因此,当另一客户端线程随后尝试访问旧 位图时,新位图句柄被传递到客户端线程,然后其能够定位新位图。 返回图7,一旦已经对新位图执行了调整大小函数,则利用对于新位图的句柄来更 新调用该调整大小函数的客户端线程(步骤307)。然后可以由其线程调用了调整大小函数 的应用来显示该新位图。由客户端线程将新位图句柄传递到窗口服务器(步骤308)。然 后,由窗口服务器对新位图进行显示(步骤309)。 在步骤303中,如果字体和位图服务器209在正在被操作的位图的元数据中检测 到脏标志,这指示该位图是旧位图并且其已经被新位图代替。字体和位图服务器209从与 所讨论位图相关联的元数据中获取新位图句柄,并且更新调用调整大小函数的客户端线程 中的位图句柄(步骤309)。在字体和位图服务器209能够在新位图上执行调整大小函数之 前,其必须首先检查新位图自身是否已经被操控并由此成为一个旧位图(步骤310)。这可 以通过针对脏标志检查与该新位图相关联的元数据来实现。如果在新位图的元数据中没有 脏标志存在,则处理可以继续执行步骤304,并且可以按照结合步骤304到步骤309而描述 的方式来执行调整大小函数。如果与新位图相关联的元数据包含脏标志,则处理返回步骤 309,并且字体和位图服务器更新调用调整大小函数的客户端线程中的位图句柄。重复步骤 309和310,直至定位了其关联的元数据中不包括脏标志的位图。 将参照图8更详细地描述用于处理旧位图的过程。当客户端线程调用操控函数 时,该处理开始(步骤401)。只要客户端线程调用操控函数,字体和位图服务器209就将位 图数据拷贝到新位置,在存储器中保留旧位图。与每个位图相关联的元数据包括引用计数。 引用计数提供包括指向该特定位图的句柄的客户端线程的数目的指示。 一旦位图已经被拷 贝,由字体和位图服务器209所执行的第一步是检查存储在特定位图的元数据中的引用计 数(步骤402)。如果针对该特定位图的引用计数是1,则字体和位图服务器209知晓只有 刚刚调用了操控函数的客户端线程引用了该特定位图。由于该客户端线程所存储的、对于 该特定位图的句柄将根据结合图7所描述的过程而更新,因此字体和位图服务器209可以 立即销毁旧位图,因为其知道不会再有客户端线程引用该位图。 如果针对该特定位图的引用计数大于1,则字体和位图服务器209知晓其它客户端线程可能随后尝试访问该特定位图。字体和位图服务器209由此利用脏标志来标记与该 特定位图相关联的元数据(步骤404)。除此以外,字体和位图服务器在旧位图的元数据中 存储对于新创建的位图的句柄(步骤405)。于是,任何随后访问旧位图的线程将被引导到 新位图。字体和位图服务器209然后通过每当新的客户端线程尝试访问旧位图时检查引用 计数来监测针对旧位图的引用计数(步骤406)。当针对该位图的引用计数等于O时,字体 和位图服务器209销毁旧位图(步骤407)。 现在将结合图9来描述本发明的其它优点。图9示意性地与全局存储器211 —起 示出了移动电话200。全局存储器211包括两个位图文件500和501。如上所述,移动电话 包括多个存储在存储器中的应用,每个应用包括至少一个执行的线程。在图9中,示出两个 线程502、503。线程502包括读取并在移动电话200的显示器上显示位图500的指令。线 程503包括调整位图500大小的指令。在使用中,线程503从字体和位图服务器209请求 调整大小函数。字体和位图服务器然后将位图500拷贝到存储器211中的新位置,以形成 新位图504。字体和位图服务器209然后在新位图504上执行调整大小函数。这意味着,如 果位图正被一个线程读取,则其不能被其它线程同时操控。在图9中,线程502被示出为读 取并显示位图500。线程503从字体和位图服务器调用调整大小函数,字体和位图服务器然 后拷贝原位图500,并产生新位图504。如图9所示,以这种方式,线程502能够继续读取和 显示位图500,而不存在任何数据被破坏的风险。可以将该情形与图1所示的情形进行对 比。图l示出了现有技术中已知的移动电话,其中不存在并发性供应。正如可以看到的,向 用户显示了破坏的图像。在当前的情况中,向用户呈现的图像不是被破坏的,而且用户在使 用文件(形成了移动电话的文件系统的一部分)中不会体验到任何问题。这产生了极大改 善的用户体验。 虽然本发明已经在基于软件的字体和位图服务器的上下文中进行了描述,字体和 位图服务器可以实现为硬件。特别地,字体和位图服务器可以采取实施在微型芯片上的物 理服务器的形式,该物理服务器可以位于移动电话200的应用子系统中。这样的布置将不 会遭受性能降级,而性能降级可能发生在诸如移动电话的资源受限设备中。
已经结合位图管理服务描述了本发明。本发明还适用于其它数据类型的管理系 统。任何其中需要在多个执行的线程之间共享数据的系统均可以从本发明中受益。特别地, 在数据必须保持对引用该数据的所有线程可用的情况下,以及在特定线程操作使得数据不 可访问的情况下,本发明特别有利。 本领域技术人员将会理解,读取和操控操作是对加载到存储器中的位图执行的。 换句话说,当计算设备工作中,在加载到RAM的原始位图数据上执行操作。在任何这类操作 被执行之前,从可能永久性地存储位图数据的文件将位图数据加载到临时存储器存储。因 此,本发明并不在存储于永久存储的文件中的数据上进行操作。位图数据可以以永久基础 存储于位图文件中,或者以临时基础存储于RAM中。在本发明的上下文中,存储于RAM的位 图数据可以被称为数据部分。本发明的机制被安排为在存储于RAM中的数据部分上操作, 而不是在存储于永久存储的文件上操作。 本发明部分地基于锁对设备资源造成了过度负担这一事实。虽然已经在特定系统 的上下文中描述了本发明,但是本领域技术人员将理解到其它能够享受到本发明益处的系 统也能够被使用。特别地,广义而言,本发明提供了一种在不使用锁的存储器中管理并发性的方法。上文描述的现有技术系统使用锁来管理并发性。实际上,现有技术并不允许并发 性,因为锁重新调度线程,从而使它们中的每一个在被执行之前必须等待前一个线程完成。 本发明实际上通过避免使用锁而允许并发性。 另外,对上述实施例的进一步改进、添加和变形对于作为本领域技术人员的有意 于此的读者来说是明显的,从而提供包括本发明的发明点的其它实施例,并且这些实施例 落入所附权利要求书的范围。
权利要求
一种计算设备,包括存储器,被安排为存储多个数据部分,其中所述计算设备被安排为运行引用数据部分的多个过程,并且所述计算设备还被安排为在一个过程尝试操控所述数据部分时将所述数据部分拷贝到新存储器位置,操控所述拷贝,以及当满足预定条件时销毁原数据部分。
2. 根据权利要求1所述的计算设备,其中当所述多个过程中没有过程引用所述原数据 部分时,所述预定条件被满足。
3. 根据权利要求2所述的计算设备,其中与所述数据部分相关联的数据包括引用计 数,其指示引用所述数据部分的所述过程的数目。
4. 根据权利要求3所述的计算设备,其中当所述引用计数等于零时,所述预定条件被
5. 根据权利要求4所述的计算设备,其中所述引用计数存储在与所述数据部分相关联 的元数据中。
6. 根据前述任一权利要求所述的计算设备,其中,当所述计算设备拷贝数据部分时,标 记与所述原数据部分相关联的数据,以指示所述数据部分已经被拷贝。
7. 根据权利要求6所述的计算设备,其中所述标记的形式是存储于与所述原数据部分 相关联的元数据中的标志。
8. 根据权利要求6或7所述的计算设备,其中所述计算设备拷贝所述数据部分,所述计 算设备还将到所述拷贝的位置的指针存储在与所述原数据部分相关联的数据中。
9. 根据权利要求8所述的计算设备,其中所述指针存储在与所述原数据部分相关联的 元数据中。
10. 根据权利要求6-9中任一所述的计算设备,进一步被安排为在拷贝所述数据部分 之前,针对标记来检查与所述数据部分相关联的数据。
11. 根据权利要求10所述的计算设备,进一步被安排为在标记存在的情况下,定位所数据部分的所述拷贝,并且以权利要求i-io所限定的方式来处理所述拷贝。
12. 根据权利要求10所述的计算设备,进一步被安排为在标记不存在的情况下,按照权利要求1-9的限定进行操作。
13. —种计算设备,包括存储器,被安排为存储多个数据部分,其中所述计算设备被安排为运行引用数据部分的多个过程,并且所述计算设备还被安排为当一个过程尝试操控 所述数据部分时将所述数据部分拷贝到新存储器位置,操控所述拷贝,以及标记与原数据 部分相关联的数据以指示其已经被所述拷贝代替。
14. 根据权利要求13所述的计算设备,其中所述标记的形式是标志。
15. 根据权利要求13或14所述的计算设备,其中当所述计算设备拷贝所述数据部分 时,计算设备还将到所述拷贝的位置的指针存储在与所述原数据部分相关联的数据中。
16. 根据权利要求14或15所述的计算设备,其中所述标记和所述指针被存储在与原数 据部分相关联的元数据中。
17. 根据权利要求15或16所述的计算设备,进一步被安排为在拷贝所述数据部分之 前,针对标记来检查与所述数据部分相关联的数据。
18. 根据权利要求17所述的计算设备,进一步被安排为在标记存在的情况下,定位所 数据部分的所述拷贝,并且以权利要求13-17所限定的方式来处理所述拷贝。
19. 根据权利要求17所述的计算设备,进一步被安排为在标记不存在的情况下,则按照权利要求13-16的限定进行操作。
20. 根据权利要求13-19中任一所述的计算设备,进一步被安排为一旦已经对所述数 据部分进行了拷贝,便操控所述拷贝。
21. 根据权利要求20所述的计算设备,其中当所述多个过程中没有过程引用所述原数 据部分时,所述预定条件被满足。
22. 根据权利要求21所述的计算设备,其中所述数据部分包括引用计数,其指示所引 用所述数据部分的所述过程的数目,并且当所述引用计数等于零时所述预定条件被满足。
23. 根据前述任一权利要求所述的计算设备,其中所述计算装置是移动电话。
24. 根据前述任一权利要求所述的计算设备,其中所述数据部分是位图。
25. 根据前述任一权利要求所述的计算设备,其中所述存储器是易失性存储器。
26. —种用于在计算设备存储器中管理数据访问的方法,所述存储器被安排为存储多 个数据部分,并且所述计算设备被安排为运行引用数据部分的多个过程,其中当一个过程 尝试操控所述数据部分时执行对所述数据部分的拷贝,操控所述拷贝,并且当满足预定条 件时销毁原数据部分。
27. 根据权利要求27所述的方法,进一步包括对所述过程对所述数据部分的引用进 行计数,当所述引用计数等于零时所述预定条件被满足。
28. 根据权利要求26或27所述的方法,进一步包括标记与所述数据部分相关联的数 据,以指示所述数据部分已经被拷贝。
29. 根据权利要求28所述的方法,进一步包括将到所述拷贝的位置的指针存储在与 所述原数据部分相关联的所述数据中。
30. 根据权利要求28或29所述的方法,进一步包括在拷贝所述数据部分之前,针对 标记来检查与所述数据部分相关联的所述数据。
31. 根据权利要求30所述的方法,进一步包括如果标记存在,则定位所数据部分的所 述拷贝,以及针对所述拷贝执行权利要求24-28所限定的步骤。
32. 根据权利要求30所述的方法,进一步包括如果标记不存在,则操控所述拷贝。
33. —种用于在计算设备存储器中管理文件访问的方法,所述存储器被安排为存储多 个数据部分,并且所述计算设备被安排为运行引用数据部分的多个过程,其中,当一个过程 尝试操控数据部分时执行对所述数据部分的拷贝,操控所述拷贝,以及标记与原数据部分 相关联的数据以指示其已经被所述拷贝代替。
34. 根据权利要求33所述的方法,进一步包括将到所述拷贝的位置的指针存储在与 所述原数据部分相关联的数据中。
35. 根据权利要求33或34所述的方法,进一步包括在拷贝所述数据部分之前,针对 标记来检查与所述数据部分相关联的数据。
36. 根据权利要求35所述的方法,进一步包括如果标记存在,则定位所数据部分的所 述拷贝。
37. 根据权利要求36所述的方法,进一步包括如果标记存在,则针对所述拷贝执行权 利要求33-36所限定的步骤。
38. 根据权利要求33-37中任一所述的方法,进一步包括如果标记不存在,则操控所述拷贝。
39. 根据权利要求33-38中任一所述的方法,进一步包括当预定条件满足时,销毁所 述原数据部分。
40. 根据权利要求39所述的方法,其中当所述多个过程中没有过程引用所述原数据部 分时,所述预定条件被满足。
41. 一种计算设备,包括存储器,被安排为存储多个数据部分以及多个应用,每个应用被安排为访问或操控所述多个数据部分;用户输入,被安排为允许用户控制所述多个应用; 显示器,被安排为显示所述多个应用的可视输出; 数据管理服务器,被安排为控制所述应用对所述数据部分的访问; 其中所述应用操控所述数据部分的请求被路由到所述数据管理服务器,并且所述服务器被安排为在接收到操控请求之后拷贝相关数据部分,并且对所述拷贝执行操控请求。
42. 计算机程序或者计算机程序套件,被安排为在由计算设备执行时,使所述设备执行 根据权利要求26-40中任一所述的方法。
43. —种操作系统,用于使得计算设备根据权利要求26-40中任一所述的方法进行操作。
44. 一种计算机可读介质,包括权利要求43所述的操作系统。
45. —种基本上如前所述并且如图2-图7所示的计算设备。
全文摘要
一种计算设备,被安排为控制应用线程对存储在该计算设备的存储器中的多个数据部分的访问。每个线程包括用于该线程被安排为对其进行访问或者操控的每个数据部分的句柄。当应用线程包括操控数据部分的指令时,该应用线程调用函数。系统将该数据部分拷贝到新的存储器位置,并且对数据部分拷贝应用所调用的函数。
文档编号G06F9/46GK101755255SQ200880022549
公开日2010年6月23日 申请日期2008年6月20日 优先权日2007年6月28日
发明者D·克恩, J·卡萨斯 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1