用于计算装置的双模式操作系统制造方法及图纸

技术编号:2833195 阅读:250 留言:0更新日期:2012-04-11 18:40
一种运行非可页调度实时以及可页调度非实时进程的计算装置,其设置有非可页调度实时以及可页调度非实时版本的操作系统服务(其中,存储器中页调入的必要性将阻塞执行的实时线程)。在一个实施例中,实时操作系统服务锁定其全部代码和数据,并且仅支持将其代码和数据进行类似锁定的客户端。这保证了这种服务不会因为客户端存储器变为不可用所引起的页错误而被阻塞。非实时操作系统服务不锁定其数据,并且支持其存储器能够被页调出的客户端。在优选的实施例中,需要提供实时执行的服务器是多线程的,并且在不同线程中设置来自将被服务的实时和非实时客户端的要求。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种计算装置,并且特别地,涉及一种用于操作能 够实现客户端-服务器的实时执行的计算装置、以及该装置中的其它 进程间通信的方法。
技术介绍
本文中所使用的术语计算装置应广义理解为覆盖任何形式的电子计算装置,其包括数据记录装置、任何类型或形式的计算机 (包括诸如个人数字助手(PDA)的手持和个人计算机)、以及任 何形式的通信装置(包括移动电话、智能电话、合并多种通信、图 像记录和/或重放、和计算功能于单个装置的通信机、以及其他形式 的无线和有线信息装置(包括数码照相机、MP3、和其它音乐播力文 器)、以及凄t字无线电设备))。在计算装置中,存在存储器类型的层级;通常,存储器的速度 越快,则其就越昂贵。计算机科学家和软件工程师已经开发出了在 这些装置中有效利用各种类型存储器的多种技术。该技术中的主要 实例中的 一个是已知的页调度。其中最常见的 一 种页调度形式是下面将要详细描述的请求页 调度(demand paging),但是诸如预页调度的其他页调度算法也是 可行的。应当理解,本专利技术同样可以适当的与这些其他的页调度算 法一起4吏用。现代的计算装置能够寻址或参考大量虚拟存储器远超过其实 际以快速RAM (随机存取存储器)的形式物理安装的存储器。为 了便于管理,该存储器通常被划分为固定大小的块,即,7>知的页; 例如,4K (4096字节)及其各个倍数是通常页的大小。这些页(其 精确数量取决于装置的制造商选择提供多少存储器)中仅有特定数 量的页被配置在主RAM中,并且所使用的剩余页被存储在较低速 且较便宜的一些类型的辅助存储器(诸如硬盘驱动器(HDD))中。正在4吏用的戶斤有可寻iit的存々者单元(memory location )净皮一尔为 虚拟存储器,并且计算装置包含虚拟存储器页到物理存储器页 的映射。这些映射被称为页表,并且,通常由以硬件实现的存储器 管理单元(MMU)来^f呆持这些页表。通过请求页调度,如果尝试参考未保持在RAM中的页存储器 中的页地址,则MMU会引发页错误。在这种情况下,在相关存4诸 器块页调入(pagein) RAM时,装置临时中断处理。该处理包4舌 将所需页从较低速且较便宜的存储器(通常是HDD)拷贝到RAM 中,并且适当i也更新MMU中的页表。当计算装置已经运行了 一段时间时,因为计算装置中的全部可 用物理RAM已被使用,所以将不会存在可以将页拷贝到其中的空 闲的存储器。当这种情况出现时,在能够对所需的存储器块进行页 调入之前,需要利用本领域公知的页调出(page out)的反转处理 来释放将要在其中进行拷贝的RAM的部分。页调出通常包括将页 从RAM拷贝回硬盘或拷贝回可用的任《可类型的较低速且较便宜的 辅助存储器,并且更新MMU中的页表。关于应当对哪个存储器块执行页调出通常是很一个复杂的决 定; 一些较简单的算法将对最近最少使用(LRU)的或最近最低频 率使用(LFU)的一个或多个存储器块进行页调出。乂人而在页^皮页调入后还未改变的情况下,无需才丸4亍拷贝的步骤。未改变的页被称为清洁页(clean page),而被改变的页 被称为脏页(dirty page ); MMU通常利用与物理存储器的每 个页相关的标志来记住页是清洁页还是脏页。当将页调度应用于以相对有限的高能干电池(capacity battery ) 源运行的移动计算装置时,页调度具有进一步的优点。存储器页调 度通常能够在很大程度上延长电池的寿命。将多个存储器块保持在 大部分类型的辅助存储器(诸如闪存器或小硬盘)上,在空闲时不 会消耗电能,但是,由于如果不丢失动态RAM所存储的内容,需 要对动态RAM不断进行刷新,所以将存储器块保持在易失性动态 RAM中确实会消碑毛电能。^v以上描述可以清楚地看出,在某种意义上,将存4诸器页调入 至动态存储器中或从动态存储器中页调出的处理将占用大量时间。 除了处理页表以及决定需要将主RAM的哪个块页调出的必要性之 外,关键因素是页调入总是需要从相对低速的辅助存储器读出大量 存储器。很通常的,还需要将页写至低速辅助存储器。例如,如果 被页调出的存储器被标识为脏,则这将是必要的。整个计算装置运4亍上的定时负荷(timing burden)是绝对不可 避免的;如果主存储器与辅助存储器之间不存在速度差,则装置中 将不存在存储器的层级,并且将不需要页调度。与用于页调度所占用的时间量的主要关系是该步骤能够干扰 计算装置中的实时操作;即,在正确地完成必须在某一时间段中完 成的操作。现代的计算装置,尤其是集成在通信装置(诸如智能电 话)中的那些计算装置,通常必须为装置提供这种实时保证以进4亍 满意地」捧作。例如,运4亍信号堆栈(signaling stack)的GSM移动 电话需要跟踪长度仅为577微秒的时隙。因此,如果在设法进行实时保证的操作期间出现页错误,则如果操作变为阻塞直到需要被参 考的存储器被重新页调入,这些将可能被终止。实际中的问题在于 在页错误可能出现时没有预测的方法、以及当 一个页错误出现时整 个页调度过程将占用多长时间来纠正错误。因此,目前通常i人为在计算装置中页调度通常与运4亍实时系统 不兼容。这是由于页错误出现的不可预知性,以及由于在每个页错器进行写入所占用的时间。当装置取决于能够提供实时保证时,页调度能够损坏装置或致使装置无效;前述的移动电话堆栈是一个实例,其中,在最坏的情 况下,不能依附于通信栈的约束能够引发调用被装置完全丟弃。在 察觉到的可接受的性能需要实时保证的情况下,页调度能够使应用 禾呈序不可用;在非实时或'M氐速系统上处理流音频或流-现频的尝 试会很好地说明这一点。实现:清求页调度的一些才喿作系统具体地i兌明了不应当被用于 实时系统。例^口 , Microsoft 在 Windows CE.NET 文4牛 (http:〃msdn.microsoft.com/libary/default.asp url=/libary/en-us/wcem ain4/html/cmcondemandpaging.asp ) 中声明,Z ecawse Aere /5 amw'ofec/.,,其它才喿作系统试图改善该问题。用于Linux mlock系统调用的 文<牛(http:〃linux.ctyme.com/man/manl739.htm )声日月,i ea/ mewwex/ ec&(i/ ragraw execw'ow tfe/qys. mlock Linux系统调用试图才是供对于该问题的解决方案,在该 方案中禁止对特定范围的存储器地址进行页调度。然而,计算机编 程领域的#支术人员将会4艮容易地认识到需要应用程序获知装载该 应用程序的存储器地址、及其参考(直接地或间接地)的全部存4诸 器的存储器地址、以及需要与那些调用参考的存储器一起使用的4壬 何系统调用的地址的系统,不能被认为是应用程序开发的实际解决 方案。
技术实现思路
因此,本专利技术的一个目的是提供一种操作能够结合实时执行与 存储器页调度的计算装置的方法。根据本专利技术的第 一方面,提供了 一种在计算装置中为实时执行 提供存储器页调度的方法,该方法包括a. 提供实时以及非本文档来自技高网
...

【技术保护点】
一种在计算装置中为实时执行提供存储器页调度的方法,所述方法包括:a.提供实时版本的操作系统服务和非实时版本的操作系统服务;b.锁定用于代码和由实时版本的所述操作系统服务所参考的存储器的存储器页,以防止所述存储器页被页调出;以 及c.使实时应用程序、进程、和线程利用实时版本的所述操作系统服务。

【技术特征摘要】
【国外来华专利技术】GB 2005-3-2 0504326.01.一种在计算装置中为实时执行提供存储器页调度的方法,所述方法包括a.提供实时版本的操作系统服务和非实时版本的操作系统服务;b.锁定用于代码和由实时版本的所述操作系统服务所参考的存储器的存储器页,以防止所述存储器页被页调出;以及c.使实时应用程序、进程、和线程利用实时版本的所述操作系统服务。2. 根据权利要求1所述的方法,其中,不允许不具有实时优先级 的应用程序、进程、和线程访问实时版本的所述操作系统服务。3. 根据权利要求1或2所述的方法,其中,如果应用程序、进程、 或线程不具有实时执行或等效的运行时间许可,则不允许其访 问实时版本的才喿作系统月良务。4. 根据权利要求3所述的方法,其中,根据应用程序、进程、或 线程的性能或等效运行时间许可,将由所述应用程序、所述进 程、或所述线程对4乘作系统的访问路由到实时版本的所述服务 或非实时W反本的所述力l务。5. 根据前述任一项权利要求所述的方法,其中,才艮据应用程序、 进程、或线程的优先级将由所述应用程序、所述进禾呈、或所述 线程对操作系统的访问路由到实时版本的所述服务或非实时 版本的所述力良务。6. 根据前述任一项权利要求所述的方法,其中,将所述操作系统 月良务中的至少 一个的实时版本和所述操作系统服务中的所述 至少 一 个的非实时版本提供为在单个多线程的进程中执行的 多个单独线^E。7. 才艮据前述任一项4又利要求所述的方法,其中,所述才喿作系统月良 务中的至少一个被作为服务器来实现。8. —种被设置用于为实时执行提供存储器页调度的计...

【专利技术属性】
技术研发人员:安德鲁特尔克丹尼斯梅
申请(专利权)人:西姆毕恩软件有限公司
类型:发明
国别省市:GB[英国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1