JP2006146758A - コンピュータシステム - Google Patents
コンピュータシステム Download PDFInfo
- Publication number
- JP2006146758A JP2006146758A JP2004338542A JP2004338542A JP2006146758A JP 2006146758 A JP2006146758 A JP 2006146758A JP 2004338542 A JP2004338542 A JP 2004338542A JP 2004338542 A JP2004338542 A JP 2004338542A JP 2006146758 A JP2006146758 A JP 2006146758A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- guest
- api
- host
- task
- 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.)
- Ceased
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
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
【解決手段】汎用OSをホストOS20とし、この上の1つ以上のタスクとして動作するリアルタイムOSをホストOS40とする。ホストOS20上の割込みハンドラ31及びタスク32と、ゲストOS40上の割込みハンドラ51及びタスク52とは、タスクの起動、停止などへのタスク状態の変更を要求するAPI(Application Program Interface)を発行する。各OSのAPI処理部21,41は、タスク状態を変更する命令を出力する。ゲストOSのAPI処理部41が出力した命令を順次蓄積して出力する命令蓄積部62を設け、両割込みハンドラ31,51がともに実行中でないタイミングに、ホストOSのAPI処理部21の出力命令と命令蓄積部62の出力命令とのうち後者を命令同期タイミング制御部63が優先的にスケジューラ部22へ渡す。
【選択図】 図4
Description
図1は、本発明の第1の実施形態に係るコンピュータシステムの構成を示している。図1のコンピュータシステムは、ハードウェア資源であるCPU10と、このCPU10上で動作するソフトウェア資源であるホストOS20及びゲストOS40とを備えている。ホストOS20は、例えばリアルタイム性が要求されない汎用OSであって、CPU10上で動作する。ゲストOS40は、例えばリアルタイムOSであって、ホストOS20上の1つ以上のタスクとして動作する。ここでタスクとはプロセッサ上での処理の実行単位のことを表す。また、仮想メモリ管理機能を備えたOSでは、複数のタスクがアドレス空間を共有することが可能であり、これらのタスクの集まりをタスク群と呼ぶ。ゲストOSは、1つ以上のタスク群から構成されることも可能である。
図4は、本発明の第2の実施形態に係るコンピュータシステムの構成を示している。図1の構成と比べて、第1の命令蓄積部61が省略され、ホストOS割り込み状態情報出力部24と、ゲストOS割り込み状態情報出力部42と、第1及び第2の割り込み状態情報制御部64,65とが追加されている点が異なる。
図6は、本発明の第3の実施形態に係るコンピュータシステムの構成を示している。図1の構成と比べて、第1の命令蓄積部61が省略され、他のゲストOS70と、蓄積命令選択部66とが追加されている点が異なる。
図7は、本発明の第4の実施形態に係るコンピュータシステムの構成を示している。図1の構成と比べて、他のゲストOS70と、第3の命令蓄積部67と、同期命令選択部68とが追加されている点が異なる。
図8は、本発明の第5の実施形態に係るコンピュータシステムの構成を示している。図1の構成と比べて、第1の命令蓄積部61が省略され、ゲストOS40に代えてアプリケーションプログラム90を備えている点が異なる。
20 ホストOS
21 ホストOSのAPI処理部
22 スケジューラ部
23 コンテキストスイッチ部
24 ホストOS割込み状態情報出力部
31 ホストOS割込みハンドラ
32 ホストOSタスク
40 ゲストOS
41 ゲストOSのAPI処理部
42 ゲストOS割込み状態情報出力部
51 ゲストOS割込みハンドラ
52 ゲストOSタスク
61,62,67 命令蓄積部
63 命令同期タイミング制御部
64,65 割込み状態情報制御部
66 蓄積命令選択部
68 同期命令選択部
70 他のゲストOS
71 他のゲストOSのAPI処理部
81 他のゲストOS割込みハンドラ
82 他のゲストOSタスク
90 アプリケーションプログラム
91 アプリケーションプログラムのAPI処理部
Qa,Qb,Qc,Qs 命令
Claims (11)
- 1つのOS(Operating System)と、当該OS上の1つ以上のタスクとして動作するソフトウェアコンポーネントとを備えたコンピュータシステムであって、
各々前記OS上で動作してAPI(Application Program Interface)を発行する機能を有するOS割込みハンドラ及びOSタスクと、
前記OS割込みハンドラ及び前記OSタスクのうちのいずれかから発行されたAPIに基づいて前記OSのタスク状態を変更する命令を出力する機能を有する第1のAPI処理部と、
前記ソフトウェアコンポーネントに係るAPIに基づいて前記OSのタスク状態を変更する命令を出力する機能を有する第2のAPI処理部と、
前記第2のAPI処理部が出力した命令を順次蓄積し、当該命令を蓄積した順に出力する命令蓄積部と、
前記第1のAPI処理部の出力と前記命令蓄積部の出力とを入力とし、これらの入力のうち前記命令蓄積部から出力された命令を優先的に選択し、該選択した命令を出力する命令同期タイミング制御部と、
前記命令同期タイミング制御部から出力された命令を処理することにより、起動すべきタスクの選択を行うスケジューラ部と、
前記スケジューラ部の選択に従って前記OSのタスク切り替えを実行するコンテキストスイッチ部とを更に備えたことを特徴とするコンピュータシステム。 - 請求項1記載のコンピュータシステムにおいて、
前記ソフトウェアコンポーネントは、前記OSをホストOSとして、当該ホストOS上の1つ以上のタスクとして動作するゲストOSであって、
前記コンピュータシステムは、各々前記ゲストOS上で動作してAPIを発行する機能を有するゲストOS割込みハンドラ及びゲストOSタスクを更に備え、
前記第2のAPI処理部は、前記ゲストOS割込みハンドラ及び前記ゲストOSタスクのうちのいずれかから発行されたAPIに基づいて前記OSのタスク状態を変更する命令を出力する機能を有することを特徴とするコンピュータシステム。 - 請求項1記載のコンピュータシステムにおいて、
前記ソフトウェアコンポーネントは、前記OS上の1つ以上のタスクとして動作するアプリケーションプログラムであり、
前記第2のAPI処理部は、前記アプリケーションプログラムから発行されたAPIに基づいて前記OSのタスク状態を変更する命令を出力する機能を有することを特徴とするコンピュータシステム。 - 請求項2記載のコンピュータシステムにおいて、
前記第1のAPI処理部が出力した命令を順次蓄積し、当該命令を蓄積した順に前記命令同期タイミング制御部へ出力する他の命令蓄積部を更に備えたことを特徴とするコンピュータシステム。 - 請求項2記載のコンピュータシステムにおいて、
前記ホストOS割込みハンドラが実行中であるか否かをホストOS割込み状態情報として出力するホストOS割込み状態情報出力部と、
前記ゲストOS割込みハンドラが実行中であるか否かをゲストOS割込み状態情報として出力するゲストOS割込み状態情報出力部とを更に備え、
前記命令同期タイミング制御部は、前記ホストOS割込み状態情報及び前記ゲストOS割込み状態情報に基づき、前記ホストOS割込みハンドラ及び前記ゲストOS割込みハンドラがともに実行中でないタイミングに、前記命令の選択及び出力を実行する機能を有することを特徴とするコンピュータシステム。 - 請求項5記載のコンピュータシステムにおいて、
前記ホストOS割込み状態情報及び前記ゲストOS割込み状態情報の各々の有効性を制御する割込み状態情報制御部を更に備え、
前記第1及び第2のAPI処理部のうちの少なくとも一方は、前記ホストOS割込み状態情報及び前記ゲストOS割込み状態情報の各々を無効とするか否かを指定するAPIが発行された場合に、当該APIに対応する制御情報を前記割込み状態情報制御部へ出力する機能を有し、
前記ホストOS割込み状態情報が無効とされた場合には前記ホストOS割込みハンドラが実行中でないものとされ、前記ゲストOS割込み状態情報が無効とされた場合には前記ゲストOS割込みハンドラが実行中でないものとされることを特徴とするコンピュータシステム。 - 請求項2記載のコンピュータシステムにおいて、
前記ホストOS上の他の1つ以上のタスクとして動作する他のゲストOSと、
各々前記他のゲストOS上で動作してAPIを発行する機能を有する他のゲストOS割込みハンドラ及び他のゲストOSタスクと、
前記他のゲストOS割込みハンドラ及び前記他のゲストOSタスクのうちのいずれかから発行されたAPIに基づいて前記ホストOSのタスク状態を変更する命令を出力する機能を有する第3のAPI処理部とを更に備え、
前記命令蓄積部は、前記第2のAPI処理部の出力と前記第3のAPI処理部の出力とを入力とし、これらの入力のうちの一方に係る命令を優先的に蓄積する機能を有することを特徴とするコンピュータシステム。 - 請求項7記載のコンピュータシステムにおいて、
前記命令蓄積部にて前記第2のAPI処理部の出力と前記第3のAPI処理部の出力とのうちいずれを優先するかを制御する蓄積命令選択部を更に備えたことを特徴とするコンピュータシステム。 - 請求項2記載のコンピュータシステムにおいて、
前記ホストOS上の他の1つ以上のタスクとして動作する他のゲストOSと、
各々前記他のゲストOS上で動作してAPIを発行する機能を有する他のゲストOS割込みハンドラ及び他のゲストOSタスクと、
前記他のゲストOS割込みハンドラ及び前記他のゲストOSタスクのうちのいずれかから発行されたAPIに基づいて前記ホストOSのタスク状態を変更する命令を出力する機能を有する第3のAPI処理部と、
前記第3のAPI処理部が出力した命令を順次蓄積し、当該命令を蓄積した順に出力する他の命令蓄積部とを更に備え、
前記命令同期タイミング制御部は、前記第1のAPI処理部の出力と前記命令蓄積部の出力とに加えて前記他の命令蓄積部の出力を入力とし、これらの入力のうち前記命令蓄積部又は前記他の命令蓄積部から出力された命令を優先的に出力する機能を有することを特徴とするコンピュータシステム。 - 請求項9記載のコンピュータシステムにおいて、
前記命令同期タイミング制御部にて前記命令蓄積部の出力と前記他の命令蓄積部の出力とのうちいずれを優先するかを制御する同期命令選択部を更に備えたことを特徴とするコンピュータシステム。 - 1つのOS(Operating System)をホストOSとし、当該ホストOS上の1つ以上のタスクとして動作するゲストOSを備えたコンピュータシステムにおける制御方法であって、
各々前記ホストOS上で動作する割込みハンドラ及びタスクのうちのいずれかから発行されたAPI(Application Program Interface)に基づいて前記ホストOSのタスク状態を変更する命令を第1のAPI処理部が出力するステップと、
各々前記ゲストOS上で動作する割込みハンドラ及びタスクのうちのいずれかから発行されたAPIに基づいて前記ホストOSのタスク状態を変更する命令を第2のAPI処理部が出力するステップと、
前記第2のAPI処理部が出力した命令を順次蓄積しつつ当該命令を蓄積した順に命令蓄積部が出力するステップと、
前記第1のAPI処理部の出力と前記命令蓄積部の出力とを入力とし、これらの入力のうち前記命令蓄積部から出力された命令を優先的に選択しつつ、該選択した命令を命令同期タイミング制御部が出力するステップと、
前記命令同期タイミング制御部から出力された命令を処理することにより、起動すべきタスクの選択をスケジューラ部が行うステップと、
前記スケジューラ部の選択に従って前記ホストOSのタスク切り替えをコンテキストスイッチ部が実行するステップとを備えたことを特徴とする制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004338542A JP2006146758A (ja) | 2004-11-24 | 2004-11-24 | コンピュータシステム |
US11/250,503 US7590990B2 (en) | 2004-11-24 | 2005-10-17 | Computer system |
CNB2005101241824A CN100382033C (zh) | 2004-11-24 | 2005-11-21 | 计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004338542A JP2006146758A (ja) | 2004-11-24 | 2004-11-24 | コンピュータシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006146758A true JP2006146758A (ja) | 2006-06-08 |
Family
ID=36462337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004338542A Ceased JP2006146758A (ja) | 2004-11-24 | 2004-11-24 | コンピュータシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7590990B2 (ja) |
JP (1) | JP2006146758A (ja) |
CN (1) | CN100382033C (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008108075A (ja) * | 2006-10-25 | 2008-05-08 | Matsushita Electric Ind Co Ltd | タスク切替え制御方法及びコンピュータシステム |
JP2018535468A (ja) * | 2015-09-21 | 2018-11-29 | レインボー ロボティックスRainbow Robotics | Gpos連動型リアルタイムロボット制御システム及びこれを用いたリアルタイムデバイス制御システム |
JP2019036303A (ja) * | 2017-08-10 | 2019-03-07 | インフィニオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG | コンピュータ処理装置(cpu)のための仮想機械モニタ割り込みサポート |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8424013B1 (en) * | 2006-09-29 | 2013-04-16 | Emc Corporation | Methods and systems for handling interrupts across software instances and context switching between instances having interrupt service routine registered to handle the interrupt |
US20090083829A1 (en) * | 2007-09-20 | 2009-03-26 | C & S Operations, Inc. | Computer system |
JP5269067B2 (ja) * | 2008-03-14 | 2013-08-21 | パナソニック株式会社 | プログラム実行装置およびその制御方法 |
US8230450B2 (en) * | 2009-01-06 | 2012-07-24 | International Business Machines Corporation | Method for executing a software routine identified in a task object |
US20100175076A1 (en) * | 2009-01-06 | 2010-07-08 | International Business Machines Corporation | Method for executing a software routine identified in a task object |
WO2013147817A1 (en) * | 2012-03-29 | 2013-10-03 | Intel Corporation | Architecture and method for managing interrupts in a virtualized environment |
KR102237373B1 (ko) * | 2014-07-02 | 2021-04-07 | 삼성전자 주식회사 | 전자 장치의 태스크 스케줄링 방법 및 이를 사용하는 전자 장치 |
CA3204341A1 (en) * | 2020-12-03 | 2022-06-09 | Syng, Inc. | Heterogeneous computing systems and methods for clock synchronization |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2652998B2 (ja) * | 1991-04-15 | 1997-09-10 | 日本電気株式会社 | 割込回路 |
JP3196004B2 (ja) * | 1995-03-23 | 2001-08-06 | 株式会社日立製作所 | 障害回復処理方法 |
US5689713A (en) * | 1995-03-31 | 1997-11-18 | Sun Microsystems, Inc. | Method and apparatus for interrupt communication in a packet-switched computer system |
JP2001282558A (ja) | 2000-03-30 | 2001-10-12 | Hitachi Ltd | マルチオペレーティング計算機システム |
JP2002099435A (ja) * | 2000-09-21 | 2002-04-05 | Toshiba Corp | マルチタスク制御方法および情報処理装置 |
EP1387248B1 (en) * | 2002-07-31 | 2017-08-16 | Texas Instruments Inc. | A processor with a split stack |
JP3898650B2 (ja) * | 2003-02-20 | 2007-03-28 | 株式会社エヌ・ティ・ティ・データ | マルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置 |
DE60323811D1 (de) * | 2003-04-09 | 2008-11-13 | Jaluna S A | Betriebssysteme |
-
2004
- 2004-11-24 JP JP2004338542A patent/JP2006146758A/ja not_active Ceased
-
2005
- 2005-10-17 US US11/250,503 patent/US7590990B2/en not_active Expired - Fee Related
- 2005-11-21 CN CNB2005101241824A patent/CN100382033C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008108075A (ja) * | 2006-10-25 | 2008-05-08 | Matsushita Electric Ind Co Ltd | タスク切替え制御方法及びコンピュータシステム |
JP2018535468A (ja) * | 2015-09-21 | 2018-11-29 | レインボー ロボティックスRainbow Robotics | Gpos連動型リアルタイムロボット制御システム及びこれを用いたリアルタイムデバイス制御システム |
JP2019036303A (ja) * | 2017-08-10 | 2019-03-07 | インフィニオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG | コンピュータ処理装置(cpu)のための仮想機械モニタ割り込みサポート |
JP7150512B2 (ja) | 2017-08-10 | 2022-10-11 | インフィニオン テクノロジーズ アクチエンゲゼルシャフト | コンピュータ処理装置(cpu)のための仮想機械モニタ割り込みサポート |
Also Published As
Publication number | Publication date |
---|---|
US7590990B2 (en) | 2009-09-15 |
US20060112394A1 (en) | 2006-05-25 |
CN100382033C (zh) | 2008-04-16 |
CN1783016A (zh) | 2006-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6944850B2 (en) | Hop method for stepping parallel hardware threads | |
US8407387B2 (en) | Multi-thread processor and the multi-thread processor's interrupt processing method having interrupt processing that is processed by an associated hardware thread | |
JP4127848B2 (ja) | タスク処理装置 | |
JPWO2008023426A1 (ja) | タスク処理装置 | |
KR20070083460A (ko) | 다중 커널을 동시에 실행하는 방법 및 시스템 | |
US9189293B2 (en) | Computer, virtualization mechanism, and scheduling method | |
JP2004362100A (ja) | 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム | |
US9841994B2 (en) | Implementation of multi-tasking on a digital signal processor with a hardware stack | |
CN100419688C (zh) | 中断控制装置及控制方法 | |
JP2006146758A (ja) | コンピュータシステム | |
JP2005276097A (ja) | 割り込み依頼プログラムおよびマイクロコンピュータ | |
US20170212852A1 (en) | Method and accelerator unit for interrupt handling | |
JP3893136B2 (ja) | 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム | |
JP2001337822A (ja) | 命令バッファ及びバッファキュー制御 | |
JP2007193744A (ja) | 情報処理装置、プログラム、およびスケジューリング方法 | |
CN118349283B (zh) | 用于分布式集群系统的非阻塞型宏指令多级流水处理器的执行方法和装置 | |
JPH07244588A (ja) | データ処理装置 | |
JPH10340197A (ja) | キャッシング制御方法及びマイクロコンピュータ | |
JP2008269597A (ja) | タスク処理装置 | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
WO2012026124A1 (ja) | スレッド調停システム、プロセッサ、映像記録再生装置、およびスレッド調停方法 | |
JP3362673B2 (ja) | チャネルコントロール装置 | |
JP2011008617A (ja) | マルチスレッド実行装置、オブジェクトプログラムの生成方法、プログラム | |
JP2010165209A (ja) | マルチスレッドプロセッサ装置 | |
JP2000029850A (ja) | オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071012 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090915 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091117 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20100323 |