JP2009157684A - 仮想化プログラム、シミュレーション装置、仮想化方法 - Google Patents
仮想化プログラム、シミュレーション装置、仮想化方法 Download PDFInfo
- Publication number
- JP2009157684A JP2009157684A JP2007335724A JP2007335724A JP2009157684A JP 2009157684 A JP2009157684 A JP 2009157684A JP 2007335724 A JP2007335724 A JP 2007335724A JP 2007335724 A JP2007335724 A JP 2007335724A JP 2009157684 A JP2009157684 A JP 2009157684A
- Authority
- JP
- Japan
- Prior art keywords
- task
- register
- information
- target
- latest
- 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.)
- Granted
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)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【解決手段】ネイティブ・コード・シミュレータにおいて、マルチタスクOSが管理するタスク毎にタスク固有なスタックを持てるようにする仮想化プログラムであって、ターゲットCPUで特殊な制御レジスタ操作によって行っていたコンテキスト生成・退避・復元・消去をネイティブ・コード・シミュレータが提供するAPIで行うものである。マルチタスクOSのポーティングでは、そのAPIを呼び出すようにソースコードを変更する。そのAPIにて、タスク毎に固有なスタックを割り当てて、タスク切替え時にはスタック切替えを行い、コンテキスト・スイッチングを可能にする。
【選択図】図2
Description
Claims (12)
- マルチタスク処理を行うことができるOSのネイティブ・コード・シミュレーションにおいて、シミュレーション対象であるターゲットOS上でタスクのそれぞれが起動されるごとに、前記タスクのそれぞれが呼び出す関数順に関数呼び出し情報をLIFO構造でタスクごとに格納するスタック領域と、前記タスクのそれぞれが最後に実行中断したときのレジスタ内容を最新レジスタ情報としてタスクごとに格納するレジスタ保存領域と、前記タスクそれぞれの状態を示す状態情報をタスクごとに格納するタスク状態格納領域とを生成し、
所定のタイミングで、稼動しているタスクが最後に呼んだ関数の少なくとも一つ前に関数を呼び出した時点のレジスタ内容を前記最新レジスタ情報として前記レジスタ保存領域に格納するとともに、前記稼動しているタスクの状態を示す状態情報を前記タスク状態格納領域に格納し、
格納されている次に稼動すべき待機中のタスクの最新レジスタ情報および状態情報に基づき、前記稼動しているタスクから前記待機中のタスクへとタスクの稼動を切替える処理をコンピュータに実行させる仮想化プログラム。 - 請求項1に記載の仮想化プログラムにおいて、
前記切替えは、前記待機中のタスクの最新レジスタ情報に基づいたレジスタ内容を、ホストCPUのスタックレジスタに格納することで、ネイティブ・コード・シミュレーションにおけるターゲットOS上のタスクの稼動を切替えることを特徴とする仮想化プログラム。 - 請求項1または請求項2に記載の仮想化プログラムにおいて、
前記レジスタ保存領域への格納は、ホストCPUの所定のレジスタに格納された値を、前記稼動しているタスクの最新レジスタ情報として格納することを特徴とする仮想化プログラム。 - 請求項3に記載の仮想化プログラムにおいて、
前記切替えは、前記待機中のタスクの最新レジスタ情報を前記所定のホストCPUのレジスタに格納することでタスクの稼動を切替えることを特徴とする仮想化プログラム。 - マルチタスク処理を行うことができるOSのネイティブ・コード・シミュレーションにおいて、シミュレーション対象であるターゲットOS上で生成されたタスクのそれぞれがターゲットOS上で起動されるごとに、前記タスクのそれぞれが呼び出す関数順に関数呼び出し情報をLIFO構造でタスクごとに格納するスタック領域と、前記タスクのそれぞれが最後に実行中断したときのレジスタ内容を最新レジスタ情報としてタスクごとに格納するレジスタ保存領域と、前記タスクそれぞれの状態を示す状態情報をタスクごとに格納するタスク状態格納領域とを生成するコンテキスト生成部と、
所定のタイミングで、稼動しているタスクが最後に呼んだ関数の少なくとも一つ前に関数を呼び出した時点のレジスタ内容を前記最新レジスタ情報として前記レジスタ保存領域に格納するとともに、前記稼動しているタスクの状態を示す状態情報を前記タスク状態格納領域に格納するコンテキスト格納部と、
格納されている次に稼動すべき待機中のタスクの最新レジスタ情報および状態情報に基づき、前記稼動しているタスクから前記待機中のタスクへとタスクの稼動を切替えるタスク切替え部と、
を備えるシミュレーション装置。 - 請求項5に記載のシミュレーション装置において、
前記タスク切替え部は、前記待機中のタスクの最新レジスタ情報に基づいたレジスタ内容を、ホストCPUのスタックレジスタに格納することで、ネイティブ・コード・シミュレーションにおけるターゲットOS上のタスクの稼動を切替えることを特徴とするシミュレーション装置。 - 請求項5または請求項6に記載のシミュレーション装置において、
前記コンテキスト格納部は、ホストCPUの所定のレジスタに格納された値を、前記稼動しているタスクの最新レジスタ情報として前記レジスタ保存領域に格納することを特徴とするシミュレーション装置。 - 請求項7に記載のシミュレーション装置において、
前記タスク切替え部は、前記待機中のタスクの最新レジスタ情報を前記所定のホストCPUのレジスタに格納することでタスクの稼動を切替えることを特徴とするシミュレーション装置。 - マルチタスク処理を行うことができるOSのネイティブ・コード・シミュレーションにおいて、シミュレーション対象であるターゲットOS上で生成されたタスクのそれぞれがターゲットOS上で起動されるごとに、前記タスクのそれぞれが呼び出す関数順に関数呼び出し情報をLIFO構造でタスクごとに格納するスタック領域と、前記タスクのそれぞれが最後に実行中断したときのレジスタ内容を最新レジスタ情報としてタスクごとに格納するレジスタ保存領域と、前記タスクそれぞれの状態を示す状態情報をタスクごとに格納するタスク状態格納領域とを生成し、
所定のタイミングで、稼動しているタスクが最後に呼んだ関数の少なくとも一つ前に関数を呼び出した時点のレジスタ内容を前記最新レジスタ情報として前記レジスタ保存領域に格納するとともに、前記稼動しているタスクの状態を示す状態情報を前記タスク状態格納領域に格納し、
格納されている次に稼動すべき待機中のタスクの最新レジスタ情報および状態情報に基づき、前記稼動しているタスクから前記待機中のタスクへとタスクの稼動を切替える仮想化方法。 - 請求項9に記載の仮想化方法において、
前記切替えは、前記待機中のタスクの最新レジスタ情報に基づいたレジスタ内容を、ホストCPUのスタックレジスタに格納することで、ネイティブ・コード・シミュレーションにおけるターゲットOS上のタスクの稼動を切替えることを特徴とする仮想化方法。 - 請求項9または請求項10に記載の仮想化方法において、
前記レジスタ保存領域への格納は、ホストCPUの所定のレジスタに格納された値を、前記稼動しているタスクの最新レジスタ情報として格納することを特徴とする仮想化方法。 - 請求項11に記載の仮想化方法において、
前記切替えは、前記待機中のタスクの最新レジスタ情報を前記所定のホストCPUのレジスタに格納することでタスクの稼動を切替えることを特徴とする仮想化方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007335724A JP4873423B2 (ja) | 2007-12-27 | 2007-12-27 | 仮想化プログラム、シミュレーション装置、仮想化方法 |
US12/341,902 US8290764B2 (en) | 2007-12-27 | 2008-12-22 | Virtualization program, simulation apparatus and virtualization method |
CN2008101906836A CN101470622B (zh) | 2007-12-27 | 2008-12-26 | 模拟装置以及虚拟化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007335724A JP4873423B2 (ja) | 2007-12-27 | 2007-12-27 | 仮想化プログラム、シミュレーション装置、仮想化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009157684A true JP2009157684A (ja) | 2009-07-16 |
JP4873423B2 JP4873423B2 (ja) | 2012-02-08 |
Family
ID=40799540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007335724A Expired - Fee Related JP4873423B2 (ja) | 2007-12-27 | 2007-12-27 | 仮想化プログラム、シミュレーション装置、仮想化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8290764B2 (ja) |
JP (1) | JP4873423B2 (ja) |
CN (1) | CN101470622B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017107423A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 情報処理装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799767B (zh) * | 2010-03-05 | 2013-03-06 | 中国人民解放军国防科学技术大学 | 一种利用模拟器多种运行模式反复切换进行并行模拟的方法 |
JP5450271B2 (ja) | 2010-06-10 | 2014-03-26 | 株式会社東芝 | シミュレーション装置、シミュレーションプログラム及び方法 |
CN102156632A (zh) * | 2011-04-06 | 2011-08-17 | 北京北大众志微系统科技有限责任公司 | 数据访问方法和装置 |
CN102521042A (zh) * | 2011-12-16 | 2012-06-27 | 中船重工(武汉)凌久电子有限责任公司 | 基于哈佛结构dsp的快速正文切换方法 |
US11003464B2 (en) * | 2012-04-19 | 2021-05-11 | Microsoft Technology Licensing, Llc | Control flow integrity enforcement at scale |
CN107810475B (zh) * | 2015-06-30 | 2021-09-10 | 威睿公司 | 用于虚拟计算环境的软件生命周期管理的方法和装置 |
MA44821A (fr) * | 2016-02-27 | 2019-01-02 | Kinzinger Automation Gmbh | Procédé d'allocation d'une pile de registres virtuels dans une machine à pile |
CN107729050B (zh) * | 2017-09-22 | 2021-01-22 | 中国科学技术大学苏州研究院 | 基于let编程模型的实时系统及任务构建方法 |
CN114924810B (zh) * | 2021-05-14 | 2024-02-23 | 武汉深之度科技有限公司 | 一种异构程序执行方法、装置、计算设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63127330A (ja) * | 1986-11-17 | 1988-05-31 | Nippon Telegr & Teleph Corp <Ntt> | タスク開発方式 |
JPH11219301A (ja) * | 1997-11-11 | 1999-08-10 | Nec Corp | シミュレーション方法、シミュレーション装置及びその記録媒体 |
JP2000066904A (ja) * | 1998-08-21 | 2000-03-03 | Canon Inc | マルチタスク制御方法及び記憶媒体 |
JP2000259445A (ja) * | 1999-03-05 | 2000-09-22 | Nec Corp | ソフトウェア/ハードウェア協調シミュレーション方法 |
JP2005157640A (ja) * | 2003-11-25 | 2005-06-16 | Mitsubishi Electric Corp | 命令模擬装置、命令模擬方法及び命令模擬プログラム |
US20070136733A1 (en) * | 2005-12-12 | 2007-06-14 | Samsung Electronics Co., Ltd. | Method, medium and apparatus storing and restoring register context for fast context switching between tasks |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6672963B1 (en) * | 2000-09-18 | 2004-01-06 | Nintendo Co., Ltd. | Software implementation of a handheld video game hardware platform |
JP3951925B2 (ja) | 2003-01-31 | 2007-08-01 | セイコーエプソン株式会社 | ハードウェア/ソフトウェア協調検証方法 |
JP4271072B2 (ja) | 2004-03-31 | 2009-06-03 | Okiセミコンダクタ株式会社 | ソフトウェア検証モデル生成方法 |
JP2007257257A (ja) * | 2006-03-23 | 2007-10-04 | Matsushita Electric Ind Co Ltd | マルチタスクシステムにおけるタスク実行環境切替え方法 |
EP2056198A4 (en) * | 2006-08-24 | 2010-08-18 | Netcleus Systems Corp | TASK PROCESSING DEVICE |
GB2471138B (en) * | 2009-06-19 | 2014-08-13 | Advanced Risc Mach Ltd | Handling integer and floating point registers during a context switch |
-
2007
- 2007-12-27 JP JP2007335724A patent/JP4873423B2/ja not_active Expired - Fee Related
-
2008
- 2008-12-22 US US12/341,902 patent/US8290764B2/en active Active
- 2008-12-26 CN CN2008101906836A patent/CN101470622B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63127330A (ja) * | 1986-11-17 | 1988-05-31 | Nippon Telegr & Teleph Corp <Ntt> | タスク開発方式 |
JPH11219301A (ja) * | 1997-11-11 | 1999-08-10 | Nec Corp | シミュレーション方法、シミュレーション装置及びその記録媒体 |
JP2000066904A (ja) * | 1998-08-21 | 2000-03-03 | Canon Inc | マルチタスク制御方法及び記憶媒体 |
JP2000259445A (ja) * | 1999-03-05 | 2000-09-22 | Nec Corp | ソフトウェア/ハードウェア協調シミュレーション方法 |
JP2005157640A (ja) * | 2003-11-25 | 2005-06-16 | Mitsubishi Electric Corp | 命令模擬装置、命令模擬方法及び命令模擬プログラム |
US20070136733A1 (en) * | 2005-12-12 | 2007-06-14 | Samsung Electronics Co., Ltd. | Method, medium and apparatus storing and restoring register context for fast context switching between tasks |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017107423A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20090171652A1 (en) | 2009-07-02 |
CN101470622A (zh) | 2009-07-01 |
CN101470622B (zh) | 2012-08-29 |
US8290764B2 (en) | 2012-10-16 |
JP4873423B2 (ja) | 2012-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4873423B2 (ja) | 仮想化プログラム、シミュレーション装置、仮想化方法 | |
US9164755B2 (en) | Personal and pooled virtual machine update | |
JP3659062B2 (ja) | 計算機システム | |
TWI467490B (zh) | 包括複數個處理器之系統以及操作該系統之方法 | |
JP2008033483A (ja) | 計算機システム、計算機および計算機動作環境の移動方法 | |
Lim et al. | NEVE: Nested virtualization extensions for ARM | |
US7089557B2 (en) | Data processing system and method for high-efficiency multitasking | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
JP2017037370A (ja) | 計算機、プロセス制御方法およびプロセス制御プログラム | |
JP2008108075A (ja) | タスク切替え制御方法及びコンピュータシステム | |
JP5030647B2 (ja) | 複数処理ノードを含むコンピュータ・システムでプログラムをロードする方法、該プログラムを含むコンピュータ可読媒体、及び、並列コンピュータ・システム | |
CN103885811A (zh) | 虚拟机系统全系统在线迁移的方法、系统与装置 | |
CN115033337A (zh) | 虚拟机内存迁移方法、装置、设备及存储介质 | |
JPH10240546A (ja) | 実行時プログラム翻訳方法 | |
KR102708907B1 (ko) | 외부 예외 핸들링 | |
US20090217014A1 (en) | Processor, memory device, processing device, and method for processing instruction | |
US11681527B2 (en) | Electronic device and multiplexing method of spatial | |
JP2020086871A (ja) | 情報処理装置、プログラム、オペレーティングシステム、実行方法及びプログラムの修正方法 | |
JP2022055002A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP3918096B2 (ja) | 動的リンク方式、動的リンク制御方法およびプログラム | |
JP3863902B2 (ja) | 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体 | |
JP2024116638A (ja) | 情報処理装置 | |
JPH09134292A (ja) | 割り込み制御方法 | |
JP6103972B2 (ja) | プログラム生成方法、プログラム実行方法、プログラム実行装置およびプログラム実行プログラム | |
JP2020113244A (ja) | Rtosアプリケーションデバッグ装置及びrtosアプリケーションデバッグ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100301 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20100420 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100420 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100524 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110926 |
|
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: 20111025 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141202 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4873423 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |