CN103324529B - 跨任务共享操作系统子进程 - Google Patents
跨任务共享操作系统子进程 Download PDFInfo
- Publication number
- CN103324529B CN103324529B CN201310162859.8A CN201310162859A CN103324529B CN 103324529 B CN103324529 B CN 103324529B CN 201310162859 A CN201310162859 A CN 201310162859A CN 103324529 B CN103324529 B CN 103324529B
- Authority
- CN
- China
- Prior art keywords
- subprocess
- calling process
- address
- context
- calling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
- G06F9/44563—Sharing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
- Telephone Function (AREA)
Abstract
本发明涉及跨任务共享操作系统子进程。本发明揭示一种允许跨多个进程(或任务)共享子进程(或进程单元)的操作系统。每一经共享子进程具有其自有上下文。通过追踪进程何时调用子进程而实现所述共享。当进程调用子进程时,所述进程经指定为子代子进程的上代进程。所述经调用子进程可要求使用进程层级可变数据。为使得能够针对每一调用进程存储所述进程层级可变数据,使用基地址及固定偏移将所述可变数据存储在存储器中。虽然所述基地址可能在进程之间不同,但所述固定偏移跨进程而保持相同。
Description
分案声明
本案是发明名称为“跨任务共享操作系统子进程”,优先权日为2008年4月2日,申请号为200980116360.5,申请日为2009年3月23日的专利申请的分案申请。
技术领域
本发明涉及操作系统。更明确地说,本发明涉及通过操作系统进行的存储器管理。
背景技术
通常,应用程序共享常见函数。举例来说,语音记录器应用程序和语音通信应用程序两者均需要语音编解码函数。一种允许两个应用程序能够使用同一函数的方法是使用共享库。
共享库是多个程序之间共享的子程序的集合。多个程序可同时运行共享库,且因此共享库将向程序设计人员提供某些优点。然而,一些操作系统要求共享库一直驻存在内部存储器中。在许多计算系统中,内部存储器是有限资源。当使用共享库时,有限资源(例如,内部存储器)变得更加有限。
共享库需要为可重入的。因为共享库使用调用程序的寻址上下文,所以共享库的设计强加重入要求。归因于此,共享库在其从调用程序继承的不同虚拟地址空间中执行。
共享库的替代方案是在每一应用程序中宣布完全相同函数的完整副本(例如,宣布存储器映射、输入源文件等)。一旦在每一应用程序中宣布,所述函数就可重叠,即每一调用应用程序可使用存储器中的同一源代码。
在每一应用程序中宣布相同函数且重叠所述函数这一举动具有例如维护以及浪费存储器等缺点。举例来说,难以维持存储器映射,因为需注意确保任何变化(例如,将新数据变量添加到函数)均在所有函数上反映。从不再需要函数的应用程序移除所述函数的存储器映射是容易出错的。此外,每一函数需要其自己的数据结构以实现重叠,且最后,向每一函数分配额外存储器。
如果多个应用程序针对所调用的函数可更高效地共享源代码的相同副本而无需使函数重入,那么将是有益的。
发明内容
一种使得具有其自有上下文的子进程能够在多个进程之间共享的系统和方法。一种操作系统可追踪哪些进程已调用所述子进程,以使得能够返回到抢先执行的(pre-empted)进程以及任何被调用的子进程。只需在单个进程内宣布所述子进程。
根据本发明的一方面,一种计算机可读媒体存储执行多个进程和一子进程的操作系统。所述子进程能够被所述进程调用。所述子进程具有其自有上下文。
根据另一方面,移动装置包括缺乏对程序计数器(PC)相对寻址的硬件支持的处理器。所述处理器执行使得能够跨进程共享子进程的操作系统。每一子进程具有其自有上下文。
在又一方面中,提供一种用于跨多个进程共享子进程的方法。所述方法包括从多个调用进程调用一子进程,所述子进程具有其自有上下文。所述方法还包括将硬件基址和长度寄存器设置为子进程的上下文。所述方法进一步包括将硬件基址和长度寄存器设置为每一调用进程的上下文。
前述内容已相当广泛地概括了本发明的特征和技术优点,以便可更好地理解以下对本发明的详细描述。在下文中将描述本发明的额外特征和优点,其形成本发明的所附权利要求书的标的物。所属领域的技术人员应了解,所揭示的概念和特定实施例可易于用作修改或设计其它结构以实现本发明的相同目的的基础。所属领域的技术人员还应认识到,此些均等构造不脱离如所附权利要求书中所陈述的本发明。当结合附图考虑时,从以下描述可更好地理解相信是本发明的特性的新颖特征(关于其组织以及操作方法),以及其它目标和优点。然而将明确理解,图中的每一者是仅出于说明和描述的目的而提供,且既定不作为对本发明的限制的定义。
附图说明
为更完整了解本发明,现在结合随附图式参照以下描述,其中:
图1为展示可有利地使用本发明的一实施例的示范性无线通信系统的框图。
图2为展示共享共用子进程的进程的维恩图(Venndiagram)。
图3为展示用于跨多个进程共享子进程的示范性方法的流程图。
具体实施方式
图1展示可有利地使用本发明的一实施例的示范性无线通信系统100。出于说明的目的,图1展示三个远程单元120、130与150及两个基站140。应了解,典型无线通信系统可具有更多远程单元及基站。根据如下进一步所论述的本发明的实施例,远程单元120、130与150分别包括执行实时操作系统(RTOS)的经改进微处理器125A、125B与125C。图1展示来自基站140及远程单元120、130与150的前向链路信号180以及从远程单元120、130与150至基站140的反向链路信号190。
在图1中,远程单元120经展示为移动电话,远程单元130经展示为便携式计算机,且远程单元150经展示为无线本地回路系统中的固定位置远程单元。举例来说,远程单元可为手机、手持式个人通信系统(PCS)单元、例如个人数据助理等便携式数据单元或例如仪表读取设备等固定位置数据单元。虽然图1说明根据本发明的教示的远程单元,但是本发明并非限于这些示范性说明的单元。本发明可适合用于包括微处理器的任何装置。
微处理器125A、125B及125C可包括指令集,所述指令集可经执行以使微处理器125A、125B及125C执行本文所揭示的方法或基于计算机的功能中的任何一者或一者以上。
如图1所说明,远程单元120、130、150可包括微处理器125A、125B及125C,例如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)或每一者。此外,远程单元120、130、150可包括可经由总线相互通信的内部存储器及外部存储器。远程单元120、130、150可进一步包括例如液晶显示器(LCD)、有机发光二极管(OLED)、平板显示器、固态显示器或阴极射线管(CRT)等视频显示单元。另外,远程单元120、130、150可包括例如键盘等输入装置及例如轨迹球等光标控制装置。远程单元120、130、150也可包括盘片驱动单元、例如扬声器或遥控器等信号产生装置以及例如无线收发器的网络接口装置。
在一特定实施例中,如图1所描绘,盘片驱动单元可包括可嵌入一个或一个以上指令集(例如,软件)在其中的计算机可读媒体。此外,指令可体现如本文所描述的方法或逻辑中的一者或一者以上。在一特定实施例中,在微处理器125A、125B、125C进行的执行期间指令可完全或至少部分驻存在内部存储器及/或外部存储器内。存储器可包括计算机可读媒体。
当微处理器的可用存储器(例如处理器125A、125B、125C中的任一者)相当小以至于不能存储完整程序时,使用本发明的存储器管理。在一个实施例中,微处理器125A、125B、125C是数字信号处理器(DSP)。
根据本发明的一方面,存储器管理使得能够跨任务(即,进程)共享子进程。单个子进程可由系统中其它进程所用,即使单个子进程仅定义于一单个进程中。
在多任务环境中进程是独立执行程序。进程可代表若干相异的应用程序或单个应用程序的多个实例。每一进程具有其自有个别虚拟地址空间,且可包含一个或一个以上子进程。
子进程是由用户应用程序动态加载及执行的进程单元。子进程如同函数调用一样执行,但具有其自有上下文,在其自有地址空间中运行。上下文由其自有专用地址空间组成。一般来说,进程层级功能性被分成一个以上子进程。
一旦经加载,子进程仅在执行子进程的调用进程时才需要在内部存储器中。如果子进程被另一进程调换出,则核心在调用进程被唤醒时重新加载所述子进程。
在一些状况中,子进程存取调用进程永不得见的若干操作数。当操作数仅由子进程存取时,操作数存储在所述子进程的地址空间中。
在其它状况中,子进程存取调用进程的若干操作数。根据本发明的一方面,这些调用进程操作数存储在属于所述调用进程的存储器位置处,而非全局位置处。结果,另一进程由于存储器保护而不能存取调用进程的操作数。
每一进程因此针对由共享子进程所使用的操作数具有其自有地址空间。通过一基址寄存器地址及一偏移(offset)定义此调用进程操作数地址空间。换句话说,子进程并不使用绝对地址存取调用进程操作数。根据本发明的一方面,跨所有进程的偏移是相同的。即使基地址针对每一进程不同,只要在每一调用进程地址空间内偏移完全相同,每一经调用子进程就可在其调用进程操作数中存储其自有值。
根据本发明的一方面,偏移定义于子进程内。在一个实施例中,由操作系统加载器在建置时间使用选自多个基址长度地址对的基址长度地址来确定基地址。举例来说,在硬件设计中可存在三个不同基址长度地址对。加载器给进程指派一个基址长度对。加载器给子进程指派另一基址长度对,允许子进程具有其自有上下文。
基址寄存器在物理地址空间中指示进程(或子进程)的开始。进程(或子进程)中的地址则为相对于基址值的偏移的虚拟地址。微处理器使用长度以针对进程(或子进程)决定最大可存取偏移。如果超过此空间,则硬件产生灾难性中断。
跨属于一个进程的所有子进程而共享的任何操作数存储在进程层级存储器中。如果仅此子进程要求操作数,则将其存储在由子进程自有的基址长度对所控制的地址空间中。在建置时间,加载器预指派与子进程数据操作数相关联的地址空间,避免针对不同进程的不同设置。
在一个实施例中,不要求子进程可重入。甚至在此实施例中,微处理器无需具有对程序计数器(PC)相对寻址的硬件支持。然而由一共享子进程调用的任何通用函数应是可重入的。在一个实施例中,不同进程同时调用经撰写为可重入的一子进程。
根据本发明的一方面,由在调用经共享子进程的进程的进程控制块内的数据部分地实现共享。进程控制块存储进程的上下文,且含有由进程使用的基址长度寄存器值。根据本发明的此方面,在调用进程的进程控制块内,操作系统将经调用子进程标记为由此调用进程运行。在子进程的数据结构中,操作系统进一步将调用进程标记为当前的上代进程。因此,无论何时操作系统切换出进程上下文,执行另一进程,且返回到第一进程时,操作系统仍知道正执行哪一特定子进程。可发生返回到抢先执行的子进程。在另一实施例中,操作系统包括一全局数据结构,其指示特定子进程在何时已变成作用中的。在此全局数据结构中可指示多个作用中子进程。
如以上所注释,存在多个基址长度寄存器对;针对子进程上下文使用基址长度寄存器对中的一者,且针对调用进程上下文使用基址长度寄存器对中的一者。如果操作系统上下文切换出子进程且随后想返回到子进程上下文,则操作系统应知道针对上代进程上下文应使用哪些基址长度值。在子进程相关数据结构中,操作系统动态存储当前上代进程的指示;且调用进程的进程控制块存储经调用子进程的指示。因此,如果上下文正切换回至抢先执行的进程,则操作系统知道针对上代进程上下文设置何值。
如果将不发生跨任务共享子进程,则在建置时间操作系统针对每个进程将知道其子代子进程是什么。举例来说,假设在操作系统中支持总共155个子进程,且在编译时间仅宣布一个进程具有五个子进程。在此状况中,操作系统无需追踪剩余150个子进程,仅必须追踪五个子进程。根据本发明所描述的跨任务共享子进程,每个进程可潜在地存取所有155个子进程。因此,在进程控制块中提供存储(例如位屏蔽)以指示此进程当前正运行哪一子进程。
参看图2,现在描述跨任务共享子进程的实例。描述进程P0及P1。还描述子进程SP1,且子进程SP1在不与进程P0或P1交集的其自有上下文(方块SP1)中具有其专用代码及数据。在此实例中,已在进程P0中宣布子进程SP1。进程P1调用子进程SP1。椭圆210指示对子进程SP1的动态调用。因此,子进程SP1在其自有上下文(方块SP1)中具有其专用代码及数据;且还能够存取在进程P1的域内的调用进程P1的代码及数据200。
根据本发明,在进程P1的进程控制块中,经调用子进程SP1经指示为运行。此外,在子进程SP1的数据结构中,进程P1经指示为上代进程。全局数据结构也经更新以指示已调用子进程SP1。
在此实例中,子进程SP1将参考在基地址加上进程P1的上下文中的偏移处的调用进程操作数。由操作系统指派基地址。偏移定义于每一子进程内,且跨所有进程是固定的。更特定来说,当子进程经加载至存储器中时,固定基地址也经加载,且由操作系统予以定义,以确保每一进程中的调用进程操作数的不同存储器位置,同时允许偏移针对每一上下文保持相同。
现在参看图3,现在将描述一示范性逻辑流程。
虽然未展示于图中,但初始在单个进程内宣布子进程。在过程框30处,进程调用经共享子进程。调用进程无需为其中已宣布子进程的进程。多个不同进程可调用每一子进程。
在过程框31处,更新调用进程的进程控制块以指示已调用哪一子进程。在过程框32处,在子进程的数据结构中将调用进程指定为经调用子进程的上代进程。在一个实施例中,全局操作数还存储哪一上代进程调用子进程的指示。
在过程框33处,将硬件基址及长度寄存器设置于子进程上下文。此地址空间针对由经调用子进程独占使用的操作数可用。标记使得操作系统能够决定针对子进程上下文使用哪些基址/长度寄存器值。
在过程框34处,将硬件基址及长度寄存器设置于调用进程的上下文。此地址空间针对由调用进程及经调用子进程两者使用的操作数可用。标记使得操作系统能够决定针对进程上下文使用哪些基址/长度寄存器值。在一个实施例中,由基地址及固定偏移定义地址空间。虽然基地址针对每一调用进程可不同,但固定偏移针对每一调用进程保持相同。最后,在过程框35处,操作系统跳到共享子进程。
因为本发明,所以可实现跨多个进程共享子进程。通过进程层级可变数据的合适地址控制以及追踪哪些进程已调用哪些子进程而实现共享。
虽然已详细描述本发明及其优点,但应了解在不脱离如由所附权利要求书所界定的本发明的精神及范围的情况下可对本文进行各种变化、取代和更改。举例来说,虽然在论述中已使用读取操作,但应预见本发明同样适用于写入操作。此外,本申请案的范围不希望限于说明书中所描述的过程、机器、制造、物质组成、手段、方法及步骤的特定实施例。如一般所属领域的技术人员将易于从本发明的发明而了解,可根据本发明利用执行大体上与本文中所描述的对应实施例相同的功能或实现大体上与本文中所描述的对应实施例相同的结果的现存或随后待开发的过程、机器、制造、物质组成、手段、方法或步骤。因此,所附权利要求书既定在其范围中包括这些过程、机器、制造、物质组成、手段、方法或步骤。
Claims (12)
1.一种用于跨多个进程共享子进程的设备,所述设备包含:
用于从多个调用进程调用子进程的装置,所述子进程具有其自有的上下文,所述子进程针对调用进程操作数存储地址偏移,所述地址偏移经加到基地址,以针对所述调用进程操作数定义调用进程上下文内的地址空间;
用于将硬件基址及长度寄存器设置于所述子进程的所述上下文的装置;以及
用于将硬件基址及长度寄存器设置于每一调用进程的上下文的装置。
2.根据权利要求1所述的设备,其集成为以下各项的至少一者:音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元以及计算机。
3.一种用于共享子进程的方法,所述方法包含:
从第一调用进程调用子进程;
存储子进程具体地址偏移;
将所述子进程具体地址偏移与第一基地址结合,以定义所述第一调用进程的上下文内的第一地址空间;
存储所述第一地址空间中的所述第一调用进程的操作数;
从第二调用进程调用所述子进程;
将所述子进程具体地址偏移与第二基地址结合,以定义所述第二调用进程的上下文内的第二地址空间;以及
存储所述第二地址空间中的所述第二调用进程的操作数。
4.根据权利要求3所述的方法,进一步包括:
更新所述第一调用进程的第一进程控制块,以指示已从所述第一进程调用所述子进程;以及
更新所述第二调用进程的第二进程控制块,以指示已由所述第二进程调用所述子进程。
5.根据权利要求4所述的方法,进一步包括:
更新全局数据结构,以指示所述第一调用进程和所述第二调用进程中的哪个是所述子进程的上代。
6.根据权利要求3所述的方法,进一步包括在以下各项中的至少一者中执行所述方法:音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元以及计算机。
7.一种用于移动通信的设备,其包括:
存储器;以及
至少一个耦合到所述存储器的处理器,且所述存储器经配置以:
从第一调用进程调用子进程;
存储子进程具体地址偏移;
将所述子进程具体地址偏移与第一基地址结合,以定义所述第一调用进程的上下文内的第一地址空间;
存储所述第一地址空间中的所述第一调用进程的操作数;
从第二调用进程调用所述子进程;
将所述子进程具体地址偏移与第二基地址结合,以定义所述第二调用进程的上下文内的第二地址空间;以及
存储所述第二地址空间中的所述第二调用进程的操作数。
8.根据权利要求7所述的设备,其中所述至少一个处理器进一步经配置以:
更新所述第一调用进程的第一进程控制块,以指示已从所述第一进程调用所述子进程;以及
更新所述第二调用进程的第二进程控制块,以指示已由所述第二进程调用所述子进程。
9.根据权利要求7所述的设备,其中所述至少一个处理器进一步经配置以更新全局数据结构,以指示所述第一调用进程和所述第二调用进程中的哪个是所述子进程的上代。
10.根据权利要求7所述的设备,其集成为以下各项的至少一者:音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元以及计算机。
11.一种存储使得能够跨进程共享若干子进程的计算机程序的计算机可读媒体,所述媒体包含:
操作系统,其执行多个进程及一子进程,所述子进程能够由所述多个进程共享,所述子进程具有其自有的上下文,所述子进程针对调用进程操作数存储地址偏移,所述地址偏移经加到基地址,以针对所述调用进程操作数定义调用进程上下文内的地址空间;
其中所述媒体集成为以下各项的至少一者:音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元以及计算机。
12.一种用于跨多个进程共享子进程的方法,所述方法包含:
从多个调用进程调用子进程,所述子进程具有其自有的上下文,所述子进程针对调用进程操作数存储地址偏移,所述地址偏移经加到基地址,以针对所述调用进程操作数定义调用进程上下文内的地址空间;
将硬件基址及长度寄存器设置于所述子进程的所述上下文;
将硬件基址及长度寄存器设置于每一调用进程的上下文;以及
在以下各项中的至少一者中执行所述方法:音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元以及计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/061,607 US9015727B2 (en) | 2008-04-02 | 2008-04-02 | Sharing operating system sub-processes across tasks |
US12/061,607 | 2008-04-02 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980116360.5A Division CN102016802B (zh) | 2008-04-02 | 2009-03-23 | 跨任务共享操作系统子进程 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324529A CN103324529A (zh) | 2013-09-25 |
CN103324529B true CN103324529B (zh) | 2016-08-03 |
Family
ID=40668438
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310162859.8A Expired - Fee Related CN103324529B (zh) | 2008-04-02 | 2009-03-23 | 跨任务共享操作系统子进程 |
CN200980116360.5A Expired - Fee Related CN102016802B (zh) | 2008-04-02 | 2009-03-23 | 跨任务共享操作系统子进程 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980116360.5A Expired - Fee Related CN102016802B (zh) | 2008-04-02 | 2009-03-23 | 跨任务共享操作系统子进程 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9015727B2 (zh) |
EP (1) | EP2281238A1 (zh) |
JP (2) | JP5307228B2 (zh) |
KR (1) | KR101284099B1 (zh) |
CN (2) | CN103324529B (zh) |
TW (1) | TW201003525A (zh) |
WO (1) | WO2009123873A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469035B (zh) * | 2010-11-05 | 2016-01-20 | 腾讯科技(深圳)有限公司 | 跨进程通信的方法和装置 |
US8868886B2 (en) | 2011-04-04 | 2014-10-21 | International Business Machines Corporation | Task switch immunized performance monitoring |
US9342432B2 (en) | 2011-04-04 | 2016-05-17 | International Business Machines Corporation | Hardware performance-monitoring facility usage after context swaps |
US20130055033A1 (en) | 2011-08-22 | 2013-02-28 | International Business Machines Corporation | Hardware-assisted program trace collection with selectable call-signature capture |
US9705985B1 (en) * | 2013-03-18 | 2017-07-11 | Marvell International Ltd. | Systems and methods for cross protocol automatic sub-operation scheduling |
WO2015080752A1 (en) * | 2013-11-29 | 2015-06-04 | New Jersey Institute Of Technology | Allocation of virtual machines to physical machines through dominant resource assisted heuristics |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193161A (en) * | 1987-03-27 | 1993-03-09 | International Business Machines Corp. | Computer system having mode independent addressing |
US5727211A (en) * | 1995-11-09 | 1998-03-10 | Chromatic Research, Inc. | System and method for fast context switching between tasks |
US6286025B1 (en) * | 1994-12-09 | 2001-09-04 | International Business Machines Corporation | Method and system of process identification by user defined process variables |
US6711673B1 (en) * | 2000-01-03 | 2004-03-23 | Advanced Micro Devices, Inc. | Using a model specific register as a base I/O address register for embedded I/O registers in a processor |
CN1726468A (zh) * | 2002-12-05 | 2006-01-25 | 国际商业机器公司 | 状态信息的跨分区共享 |
CN1924815A (zh) * | 2005-08-31 | 2007-03-07 | 国际商业机器公司 | 用于在子上下文之间控制存储器访问的装置、系统和方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802368A (en) | 1995-09-29 | 1998-09-01 | Informix Software, Inc. | Dynamic Library Task Switching |
US5812823A (en) | 1996-01-02 | 1998-09-22 | International Business Machines Corporation | Method and system for performing an emulation context save and restore that is transparent to the operating system |
US20040123270A1 (en) | 2002-12-23 | 2004-06-24 | Motorola, Inc. | Method and apparatus for shared libraries on mobile devices |
KR100518584B1 (ko) | 2003-07-12 | 2005-10-04 | 삼성전자주식회사 | 공유 라이브러리 시스템 및 상기 시스템 구축 방법 |
GB0316532D0 (en) | 2003-07-15 | 2003-08-20 | Transitive Ltd | Method and apparatus for partitioning code in program code conversion |
US7653684B2 (en) | 2004-12-03 | 2010-01-26 | Microsoft Corporation | Enabling inter-subsystem resource sharing |
JP2007265228A (ja) | 2006-03-29 | 2007-10-11 | Fujitsu Ten Ltd | 共有プログラムおよび情報機器 |
TW200739421A (en) | 2006-04-07 | 2007-10-16 | Sunplus Technology Co Ltd | Method of dynamically linking function database software devices and sharing static linked source codes with main application program |
US7793055B2 (en) * | 2006-08-04 | 2010-09-07 | Apple Inc. | Transferring memory buffers between multiple processing entities |
-
2008
- 2008-04-02 US US12/061,607 patent/US9015727B2/en not_active Expired - Fee Related
-
2009
- 2009-03-23 KR KR1020107024643A patent/KR101284099B1/ko not_active IP Right Cessation
- 2009-03-23 CN CN201310162859.8A patent/CN103324529B/zh not_active Expired - Fee Related
- 2009-03-23 WO PCT/US2009/037933 patent/WO2009123873A1/en active Application Filing
- 2009-03-23 CN CN200980116360.5A patent/CN102016802B/zh not_active Expired - Fee Related
- 2009-03-23 JP JP2011503029A patent/JP5307228B2/ja not_active Expired - Fee Related
- 2009-03-23 EP EP09728955A patent/EP2281238A1/en not_active Ceased
- 2009-03-27 TW TW98110305A patent/TW201003525A/zh unknown
-
2013
- 2013-06-26 JP JP2013134145A patent/JP5678133B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193161A (en) * | 1987-03-27 | 1993-03-09 | International Business Machines Corp. | Computer system having mode independent addressing |
US6286025B1 (en) * | 1994-12-09 | 2001-09-04 | International Business Machines Corporation | Method and system of process identification by user defined process variables |
US5727211A (en) * | 1995-11-09 | 1998-03-10 | Chromatic Research, Inc. | System and method for fast context switching between tasks |
US6711673B1 (en) * | 2000-01-03 | 2004-03-23 | Advanced Micro Devices, Inc. | Using a model specific register as a base I/O address register for embedded I/O registers in a processor |
CN1726468A (zh) * | 2002-12-05 | 2006-01-25 | 国际商业机器公司 | 状态信息的跨分区共享 |
CN1924815A (zh) * | 2005-08-31 | 2007-03-07 | 国际商业机器公司 | 用于在子上下文之间控制存储器访问的装置、系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20100127309A (ko) | 2010-12-03 |
TW201003525A (en) | 2010-01-16 |
JP2011516972A (ja) | 2011-05-26 |
US9015727B2 (en) | 2015-04-21 |
JP2013232215A (ja) | 2013-11-14 |
CN102016802B (zh) | 2015-05-20 |
US20090254919A1 (en) | 2009-10-08 |
EP2281238A1 (en) | 2011-02-09 |
WO2009123873A1 (en) | 2009-10-08 |
CN102016802A (zh) | 2011-04-13 |
JP5307228B2 (ja) | 2013-10-02 |
KR101284099B1 (ko) | 2013-07-10 |
CN103324529A (zh) | 2013-09-25 |
JP5678133B2 (ja) | 2015-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324529B (zh) | 跨任务共享操作系统子进程 | |
JP5295379B2 (ja) | 組み込みプラットフォームにおけるプログラムの動的リンキング方法および組み込みプラットフォーム | |
US7246346B2 (en) | System and method for persisting dynamically generated code in a directly addressable and executable storage medium | |
JP6010540B2 (ja) | 選択された実行ランタイムによる実行のためのユーザコードのランタイム非依存表現 | |
CN105074666A (zh) | 执行在具有不同指令集架构的处理器上的操作系统 | |
CN103793255A (zh) | 可配置的多主模式多os内核实时操作系统架构与启动方法 | |
US20190138438A1 (en) | Conditional stack frame allocation | |
CN107423291B (zh) | 一种数据翻译方法以及客户端设备 | |
CN101320335A (zh) | 信息处理系统中的协同式多任务处理方法及信息处理系统 | |
US9760282B2 (en) | Assigning home memory addresses to function call parameters | |
EP2277109B1 (en) | Operating system fast run command | |
US20050086665A1 (en) | Autonomous device driver | |
US9298460B2 (en) | Register management in an extended processor architecture | |
KR100884926B1 (ko) | 가상 메모리가 없는 임베디드 시스템에서의 기존 공유라이브러리 사용방법 | |
CN102567034B (zh) | 驱动程序管理系统 | |
US20060288338A1 (en) | Offset threaded code | |
KR20150017598A (ko) | 휴대 단말기에서 시스템 호출 제어 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160803 Termination date: 20190323 |
|
CF01 | Termination of patent right due to non-payment of annual fee |