JP5307228B2 - 複数のタスクにわたる複数のオペレーティングシステム・サブプロセスの共有 - Google Patents
複数のタスクにわたる複数のオペレーティングシステム・サブプロセスの共有 Download PDFInfo
- Publication number
- JP5307228B2 JP5307228B2 JP2011503029A JP2011503029A JP5307228B2 JP 5307228 B2 JP5307228 B2 JP 5307228B2 JP 2011503029 A JP2011503029 A JP 2011503029A JP 2011503029 A JP2011503029 A JP 2011503029A JP 5307228 B2 JP5307228 B2 JP 5307228B2
- Authority
- JP
- Japan
- Prior art keywords
- sub
- processes
- subprocess
- processor
- 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
Images
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)
Description
以下に、本願の出願当初請求項に記載された発明を付記する。
[1]
複数のプロセスにわたって複数のサブプロセスを共有することを可能にするコンピュータプログラムを格納するコンピュータ読み取り可能な媒体、該媒体は、下記を具備する:
複数のプロセスとサブプロセスとを実行するオペレーティングシステム・コードセグメント、該サブプロセスは該複数のプロセスによって共有されることが可能であり、該サブプロセスはそれ自体のコンテキストを有する。
[2]
各プロセスについてプロセス制御ブロックをさらに具備しており、該プロセス制御ブロックは該それぞれのプロセスによっていったん呼び出された該サブプロセスの表示を格納する、上記[1]に記載の媒体。
[3]
いずれの複数のプロセスが該サブプロセスを呼び出したかの表示を格納するグローバルデータ構造をさらに具備する、上記[2]に記載の媒体。
[4]
該サブプロセスは複数のコーリングプロセスオペランドのためのアドレスオフセットを格納しており、該アドレスオフセットは、該複数のコーリングプロセスオペランドに関してコーリングプロセス・コンテキスト内にアドレス空間を定義するために、ベースアドレスに追加される、上記[1]に記載の媒体。
[5]
該サブプロセスは非リエントラントである、上記[1]に記載の媒体。
[6]
該サブプロセスは単一のプロセス内で宣言されるのみである、上記[1]に記載の媒体。
[7]
該呼び出されたサブプロセスの親プロセスとして該コーリングプロセスをセットする表示を格納するサブプロセス関連データ構造をさらに具備する、上記[1]に記載の媒体。
[8]
下記を具備するモバイルデバイス:
プログラムカウンタ(PC)相対アドレッシングのためのハードウェアサポートを欠いたプロセッサ、該プロセッサは複数のプロセスにわたって複数のサブプロセスを共有することを可能にするオペレーティングシステムを実行し、各サブプロセスはそれ自体のコンテキストを有する。
[9]
該プロセッサはデジタル信号プロセッサ(DSP)を具備する、上記[8]に記載のモバイルデバイス。
[10]
該オペレーティングシステムはリアルタイム・オペレーティングシステムを具備する、上記[8]に記載のモバイルデバイス。
[11]
該複数のサブプロセスは非リエントラントである、上記[8]に記載のモバイルデバイス。
[12]
該オペレーティングシステムは該共有することを可能にする複数のデータ構造を具備しており、該複数のデータ構造のうちの少なくとも1つは呼び出されたサブプロセスをいずれのプロセスがコールしたかの表示を格納する、上記[8]に記載のモバイルデバイス。
[13]
複数のプロセスにわたってサブプロセスを共有する方法、該方法は、下記を具備する:
複数のコーリングプロセスからサブプロセスを呼び出すこと、該サブプロセスはそれ自体のコンテキストを有する、
該サブプロセスの該コンテキストに複数のハードウェアベースおよび長さレジスタをセットすること、
及び、各コーリングプロセスのコンテキストに複数のハードウェアベースおよび長さレジスタをセットすること。
[14]
第1のプロセス内でのみ該サブプロセスを宣言することをさらに具備する、上記[13]に記載の方法。
[15]
ベースアドレスと固定されたオフセットとを使用して、各コーリングプロセスの該コンテキスト内の該複数のオペランドにアクセスすることをさらに具備する、上記[13]に記載の方法。
[16]
該サブプロセスが呼び出されたことを示すために各コーリングプロセスのプロセス制御ブロックをアップデートすることをさらに具備する、上記[13]に記載の方法。
[17]
該コーリングプロセスが該サブプロセスの親であることを示すためにグローバルデータ構造をアップデートすることをさらに具備する、上記[16]に記載の方法。
[18]
該コーリングプロセスを該呼び出されたサブプロセスの親として示すためにサブプロセス関連データ構造をアップデートすることをさらに具備する、上記[16]に記載の方法。
[19]
該サブプロセスをプリエンプトすることと、
該サブプロセスの該親を決定することに一部よって、該サブプロセスに復帰することと、をさらに具備する、上記[18]に記載の方法。
[20]
該サブプロセスをプリエンプトすることは、内部メモリ中の該サブプロセスの少なくとも一部分をスワップアウトさせることをさらに具備する、上記[19]に記載の方法。
Claims (18)
- 複数のプロセスにわたって複数のサブプロセスを共有することを可能にするコンピュータプログラムを格納するコンピュータ読み取り可能な記録媒体、該記録媒体は、下記を具備する:
複数のプロセスとサブプロセスとをプロセッサに実行させるように構成されたオペレーティングシステム・コードセグメント、該サブプロセスは該複数のプロセスによって共有されることが可能であり、該サブプロセスはそれ自体のコンテキストを有し、該サブプロセスは、複数のコーリングプロセスオペランドのためのアドレスオフセットを格納しており、該アドレスオフセットは、該複数のコーリングプロセスオペランドに関してコーリングプロセス・コンテキスト内にアドレス空間を定義するために、ベースアドレスに追加される。 - 各プロセスについてプロセス制御ブロックをさらに具備しており、該プロセス制御ブロックは該それぞれのプロセスによっていったん呼び出された該サブプロセスの表示を格納する、請求項1に記載の記録媒体。
- いずれの複数のプロセスが該サブプロセスを呼び出したかの表示を格納するグローバルデータ構造をさらに具備する、請求項2に記載の記録媒体。
- 該サブプロセスは非リエントラントである、請求項1に記載の記録媒体。
- 該サブプロセスは単一のプロセス内で宣言されるのみである、請求項1に記載の記録媒体。
- 該呼び出されたサブプロセスの親プロセスとして該コーリングプロセスをセットする表示を格納するサブプロセス関連データ構造をさらに具備する、請求項1に記載の記録媒体。
- 下記を具備するモバイルデバイス:
複数のプロセスにわたって複数のサブプロセスを共有することを可能にするオペレーティングシステムを実行するように構成されたプロセッサ、各サブプロセスはそれ自体のコンテキストを有し、該サブプロセスは、複数のコーリングプロセスオペランドのためのアドレスオフセットを格納しており、該アドレスオフセットは、該複数のコーリングプロセスオペランドに関してコーリングプロセス・コンテキスト内にアドレス空間を定義するために、ベースアドレスに追加される。 - 該プロセッサはデジタル信号プロセッサ(DSP)を具備する、請求項7に記載のモバイルデバイス。
- 該複数のサブプロセスは非リエントラントである、請求項7に記載のモバイルデバイス。
- 該オペレーティングシステムは該共有することを可能にする複数のデータ構造を具備しており、該複数のデータ構造のうちの少なくとも1つは呼び出されたサブプロセスをいずれのプロセスがコールしたかの表示を格納する、請求項7に記載のモバイルデバイス。
- 複数のプロセスにわたってサブプロセスを共有する方法、該方法は、下記を具備する:
プロセッサが、複数のコーリングプロセスからサブプロセスを呼び出すこと、該サブプロセスはそれ自体のコンテキストを有し、該サブプロセスは、複数のコーリングプロセスオペランドのためのアドレスオフセットを格納しており、該アドレスオフセットは、該複数のコーリングプロセスオペランドに関してコーリングプロセス・コンテキスト内にアドレス空間を定義するために、ベースアドレスに追加される、
該プロセッサが、該サブプロセスの該コンテキストにハードウェアベースレジスタおよび長さレジスタをセットすること、
及び、該プロセッサが、各コーリングプロセスのコンテキストにハードウェアベースレジスタおよび長さレジスタをセットすること。 - 該プロセッサが、第1のプロセス内でのみ該サブプロセスを宣言することをさらに具備する、請求項11に記載の方法。
- 該プロセッサが、ベースアドレスと固定されたオフセットとを使用して、各コーリングプロセスの該コンテキスト内の該複数のオペランドにアクセスすることをさらに具備する、請求項11に記載の方法。
- 該プロセッサが、該サブプロセスがコーリングプロセスによって呼び出されたことを示すために各コーリングプロセスのプロセス制御ブロックをアップデートすることをさらに具備する、請求項11に記載の方法。
- 該プロセッサが、該コーリングプロセスが該サブプロセスの親であることを示すためにグローバルデータ構造をアップデートすることをさらに具備する、請求項14に記載の方法。
- 該プロセッサが、該コーリングプロセスを該呼び出されたサブプロセスの親として示すためにサブプロセス関連データ構造をアップデートすることをさらに具備する、請求項14に記載の方法。
- 該プロセッサが、該サブプロセスをプリエンプトすることと、
該プロセッサが、該サブプロセスの親を決定することと、
該プロセッサが、該サブプロセスの該決定された親のプロセス制御ブロック内のデータに少なくとも基づいて、該サブプロセスに復帰することと、をさらに具備する、請求項16に記載の方法。 - 該サブプロセスをプリエンプトすることは、内部メモリ中の該サブプロセスの少なくとも一部分をスワップアウトさせることをさらに具備する、請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/061,607 | 2008-04-02 | ||
US12/061,607 US9015727B2 (en) | 2008-04-02 | 2008-04-02 | Sharing operating system sub-processes across tasks |
PCT/US2009/037933 WO2009123873A1 (en) | 2008-04-02 | 2009-03-23 | Sharing operating system sub-processes across tasks |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013134145A Division JP5678133B2 (ja) | 2008-04-02 | 2013-06-26 | 複数のタスクにわたる複数のオペレーティングシステム・サブプロセスの共有 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011516972A JP2011516972A (ja) | 2011-05-26 |
JP5307228B2 true JP5307228B2 (ja) | 2013-10-02 |
Family
ID=40668438
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011503029A Expired - Fee Related JP5307228B2 (ja) | 2008-04-02 | 2009-03-23 | 複数のタスクにわたる複数のオペレーティングシステム・サブプロセスの共有 |
JP2013134145A Expired - Fee Related JP5678133B2 (ja) | 2008-04-02 | 2013-06-26 | 複数のタスクにわたる複数のオペレーティングシステム・サブプロセスの共有 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013134145A Expired - Fee Related JP5678133B2 (ja) | 2008-04-02 | 2013-06-26 | 複数のタスクにわたる複数のオペレーティングシステム・サブプロセスの共有 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9015727B2 (ja) |
EP (1) | EP2281238A1 (ja) |
JP (2) | JP5307228B2 (ja) |
KR (1) | KR101284099B1 (ja) |
CN (2) | CN102016802B (ja) |
TW (1) | TW201003525A (ja) |
WO (1) | WO2009123873A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469035B (zh) * | 2010-11-05 | 2016-01-20 | 腾讯科技(深圳)有限公司 | 跨进程通信的方法和装置 |
US9342432B2 (en) | 2011-04-04 | 2016-05-17 | International Business Machines Corporation | Hardware performance-monitoring facility usage after context swaps |
US8868886B2 (en) | 2011-04-04 | 2014-10-21 | International Business Machines Corporation | Task switch immunized performance monitoring |
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 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4928237A (en) * | 1987-03-27 | 1990-05-22 | 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 |
US5802368A (en) * | 1995-09-29 | 1998-09-01 | Informix Software, Inc. | Dynamic Library Task Switching |
US5727211A (en) * | 1995-11-09 | 1998-03-10 | Chromatic Research, Inc. | System and method for fast context switching between tasks |
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 |
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 |
US7272664B2 (en) * | 2002-12-05 | 2007-09-18 | International Business Machines Corporation | Cross partition sharing of state information |
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 |
US7543126B2 (en) * | 2005-08-31 | 2009-06-02 | International Business Machines Corporation | Apparatus, system, and method for implementing protected virtual memory subcontexts |
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 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-23 WO PCT/US2009/037933 patent/WO2009123873A1/en active Application Filing
- 2009-03-23 CN CN201310162859.8A patent/CN103324529B/zh not_active Expired - Fee Related
- 2009-03-27 TW TW98110305A patent/TW201003525A/zh unknown
-
2013
- 2013-06-26 JP JP2013134145A patent/JP5678133B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102016802A (zh) | 2011-04-13 |
JP5678133B2 (ja) | 2015-02-25 |
EP2281238A1 (en) | 2011-02-09 |
CN103324529A (zh) | 2013-09-25 |
WO2009123873A1 (en) | 2009-10-08 |
TW201003525A (en) | 2010-01-16 |
US9015727B2 (en) | 2015-04-21 |
JP2013232215A (ja) | 2013-11-14 |
KR101284099B1 (ko) | 2013-07-10 |
CN103324529B (zh) | 2016-08-03 |
CN102016802B (zh) | 2015-05-20 |
KR20100127309A (ko) | 2010-12-03 |
US20090254919A1 (en) | 2009-10-08 |
JP2011516972A (ja) | 2011-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5678133B2 (ja) | 複数のタスクにわたる複数のオペレーティングシステム・サブプロセスの共有 | |
US9658890B2 (en) | Runtime agnostic representation of user code for execution with selected execution runtime | |
US9600255B2 (en) | Dynamic data and compute resource elasticity | |
US8185895B2 (en) | Method, apparatus and program storage device for providing an anchor pointer in an operating system context structure for improving the efficiency of accessing thread specific data | |
US10585653B2 (en) | Declarative programming model with a native programming language | |
US20090328058A1 (en) | Protected mode scheduling of operations | |
US9063805B2 (en) | Method and system for enabling access to functionality provided by resources outside of an operating system environment | |
CN103793255A (zh) | 可配置的多主模式多os内核实时操作系统架构与启动方法 | |
JP5389899B2 (ja) | オペレーティング・システム高速実行コマンド | |
US11144329B2 (en) | Processor microcode with embedded jump table | |
US11074200B2 (en) | Use-after-free exploit prevention architecture | |
US9110793B2 (en) | Inner process | |
US20120054773A1 (en) | Processor support for secure device driver architecture | |
KR100884926B1 (ko) | 가상 메모리가 없는 임베디드 시스템에서의 기존 공유라이브러리 사용방법 | |
WO2023219692A1 (en) | Externally-initiated runtime type extension | |
Mahboubi et al. | . NET API Wrapping for Existing C++ Haptic APIs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120925 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121225 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130626 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |