JP2008506187A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2008506187A5 JP2008506187A5 JP2007520404A JP2007520404A JP2008506187A5 JP 2008506187 A5 JP2008506187 A5 JP 2008506187A5 JP 2007520404 A JP2007520404 A JP 2007520404A JP 2007520404 A JP2007520404 A JP 2007520404A JP 2008506187 A5 JP2008506187 A5 JP 2008506187A5
- Authority
- JP
- Japan
- Prior art keywords
- kernel
- processor
- primary
- interrupt
- embedded system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims 15
- 230000003213 activating Effects 0.000 claims 2
- 230000000737 periodic Effects 0.000 claims 2
- 238000011112 process operation Methods 0.000 claims 1
Claims (36)
- 埋め込みシステムの動作を制御するための方法であって、
前記埋め込みシステムのプロセッサによって、当該埋め込みシステムの動作を制御するための1次カーネルを起動するステップと、
前記プロセッサによって、前記埋め込みシステムの動作を制御するための1次カーネルを補助し、前記埋め込みシステムの機能を拡張するための少なくとも1つの2次カーネルを起動するステップであって、前記少なくとも1つの2次カーネルが、前記1次カーネルの少なくとも部分的制御下にあるステップと、
前記プロセッサによって、前記1次カーネルおよび少なくとも1つの前記2次カーネルに対するプロセスの実行をスケジュールする共通スケジューラとしてスケジューラを実行するステップと、を含む方法。 - 前記1次カーネルが、汎用オペレーティングシステムである、請求項1に記載の方法。
- 前記少なくとも1つの2次カーネルのうち少なくとも1つが、リアルタイム・オペレーティングシステムである、請求項1に記載の方法。
- 前記1次カーネルが、前記少なくとも1つの2次カーネルのそれぞれより能力がある、請求項1に記載の方法。
- 前記プロセッサによって、前記1次カーネルおよび少なくとも1つの前記2次カーネルに対する割り込みを処理する共通割り込みハンドラとして割り込みハンドラを実行するステップを更に含む、請求項1に記載の方法。
- 前記プロセッサによって、前記1次カーネルのスケジューラと前記少なくとも1つの2次カーネルの1つ以上のスケジューラとの間でより能力のあるものを選択するステップを更に含む、請求項1に記載の方法。
- 前記プロセッサによって、前記1次カーネルの割り込みハンドラと前記少なくとも1つの2次カーネルの1つ以上の割り込みハンドラとの間でより能力のあるものを選択するステップを更に含む、請求項5に記載の方法。
- 前記選択するステップが、前記プロセッサが前記1次カーネルの割り込みを前記共通割り込みハンドラとして選択するか、又は前記1次カーネルのスケジューラを前記共通スケジューラとして選択することを含む、請求項6又は7に記載の方法。
- 前記埋め込みシステムをブートすると、前記プロセッサが、前記1次カーネルを、前記少なくとも1つの2次カーネルの起動に先立って起動する、請求項1に記載の方法。
- 前記プロセッサが、前記少なくとも1つの2次カーネルのうち少なくとも1つを、前記1次カーネルのランタイム動的モジュールとして起動する、請求項1に記載の方法。
- 前記プロセッサによって一意のカーネル識別子を前記1次カーネルに割り当てるステップと、
前記1次カーネルに対して許可される前記割込みを決定する、少なくとも1つの割込みマスクレベルを前記1次カーネルに割り当てるステップと、を更に含む請求項5に記載の方法。 - 前記プロセッサによって、一意のカーネル識別子を前記少なくとも1つの2次カーネルに割り当てるステップと、
前記プロセッサによって、特定の2次カーネルに対して許可される前記割込みを決定する少なくとも1つの割込みマスクレベルを、少なくとも1つの2次カーネルに割り当てるステップと、を更に含む請求項5に記載の方法。 - 前記プロセッサによって、前記少なくとも1つの2次カーネルの少なくとも1つに対するフックを、前記共通スケジューラまたは前記共通割込みハンドラにインストールするステップを更に含む、請求項5に記載の方法。
- 前記プロセッサによって、プロセス実行制御を、現在アクティブのカーネルから次のアクティブカーネルに切り替えるタスクを実行するステップであって、前記次のアクティブカーネルが、前記少なくとも1つの2次カーネルのうちの1つであるステップを更に含む、請求項1に記載の方法。
- 前記プロセス実行制御タスクは周期タスクであり、前記プロセッサが、前記1次カーネルを実行しながら、前記少なくとも1つの2次カーネルを前記次のアクティブカーネルとして、2次カーネル・ポーリング優先順位スキームに従ってポーリングによって決定するステップであって、前記次にアクティブな2次カーネルは少なくとも1つの実行すべき保留プロセスを有する最も高い優先順位の2次カーネルであり、前記プロセス実行制御が、前記最高優先順位の2次カーネルの前記少なくとも1つの保留プロセスの少なくとも一部分の完了の後に、前記1次カーネルに戻されるステップを更に含む、請求項14に記載の方法。
- 前記プロセッサによって、前記共通割込みハンドラを呼び出すステップであって、前記共通割込みハンドラは、その後、少なくとも1つのカーネル非依存割込み処理機能を実行し、次いでプロセス実行制御を、前記割込みに関連付けられたターゲットカーネルの割込みサービスルーチンに渡すステップを更に含む、請求項1に記載の方法。
- 前記ターゲットカーネルは、前記少なくとも1つの2次カーネルのマスクレベルによって決定される、請求項12に記載の方法。
- 前記プロセッサによって、前記共通スケジューラを呼び出すステップと、
前記プロセッサによって、どのカーネルが現在実行中のカーネルであるかを決定するステップと、
前記プロセッサによって、プロセス実行制御を、前記現在実行中のカーネルに転送するステップと、
前記プロセッサによって、少なくとも1つのカーネル特定スケジューリング機能を前記現在実行中のカーネルに対して実行するステップとを更に含む、請求項4に記載の方法。 - 前記1次カーネルが、プロセス実行制御を、前記少なくとも1つの2次カーネルのうちの1つに渡し、それによって、前記少なくとも1つの2次カーネルのうちの1つが、アクティブカーネルになるステップと、
前記1次カーネルが、その割込みマスクレベルを、前記アクティブカーネルになった2次カーネルの受け取ったプロセス実行制御を反映するように変更するステップと、
前記1次カーネルが、現在実行中のカーネル識別コードを、前記アクティブカーネルとして実行制御を受け取った2次カーネルを識別する識別コードに変更するステップとを更に含む、請求項12に記載の方法。 - 前記プロセッサによって、前記1次カーネルと前記少なくとも1つの2次カーネルの間のリソース共有のためのアプリケーション・プログラム・インターフェース(API)をインストールするステップを更に含む、請求項1に記載の方法。
- マルチカーネル環境における複数のカーネル間でシステムリソースを共有するための方法であって、
プロセッサによって、前記マルチカーネル環境から1次カーネルを選択するステップと、
前記プロセッサによって、前記1次カーネルを起動するステップと、
前記プロセッサによって、少なくとも1つの2次カーネルを追加するステップであって、前記少なくとも1つの2次カーネルは、前記1次カーネルの少なくとも部分的制御下にあるステップと、
前記プロセッサによって、前記1次カーネルと、前記少なくとも1つの2次カーネルとの間でのシステムリソース共有のためのアプリケーション・プログラム・インターフェース(API)をインストールするステップであって、前記第1のカーネルには、前記少なくとも1つの第2のカーネルに対する適切なダミーAPIコールが提供されるステップと、を含む方法。 - 前記少なくとも1つの2次カーネルが前記1次カーネルからの前記ダミーAPIコールによってアクティブ化されると、前記少なくとも1つの2次カーネルは、前記ダミーAPIコールを、実APIコールで置き換えるステップを更に含む、請求項21に記載の方法。
- 前記1次カーネルからの前記実APIコールがあると、前記少なくとも1つの2次カーネルの特定のシステム機能を実行し、それによって、前記1次カーネルにおいて前記少なくとも1つの2次カーネルのリソースを使用可能にするステップを更に含む、請求項22に記載の方法。
- 複数のカーネルを含む1つ以上の不揮発性記憶装置と、プロセッサからなる埋め込みシステムであって、
前記プロセッサが、
前記複数のカーネルから、1次カーネルを選択し、
前記1次カーネルを起動し、
前記複数のカーネルの少なくとも他の1つを、2次カーネルとして選択して起動し、当該2次カーネルが、少なくとも部分的に前記1次カーネルの制御下にあり、
前記1次カーネルおよび前記少なくとも1つの2次カーネルに対するプロセスの動作をスケジュールする共通スケジューラとして、スケジューラを稼働する、
ように構成されていることを特徴とするシステム。 - 前記プロセッサが更に、前記1次カーネルおよび前記2次カーネルの間で資源を共有するためのアプリケーション・プログラム・インターフェース(API)をインストールするように構成されていることを特徴とする、請求項24記載の埋め込みシステム。
- 前記1次カーネルが、汎用オペレーティングシステムであり得ることを特徴とする、請求項24記載の埋め込みシステム。
- 前記2次カーネルが、リアルタイム・オペレーティングシステムであり得ることを特徴とする、請求項24記載の埋め込みシステム。
- 前記プロセッサが更に、前記1次カーネルおよび前記2次カーネルに対する割り込みを処理する共通割り込みハンドラとして、割り込みハンドラを稼働するように構成されていることを特徴とする、請求項24記載の埋め込みシステム。
- 前記プロセッサが、アプリケーション特定集積回路、複合プログラマブル論理装置、又はフィールドプログラム可能ゲートアレイである、請求項24記載の埋め込みシステム。
- 前記プロセッサが、もっとも望ましい能力を有する複数のカーネルの中から共通割り込みハンドラを選択するように構成されていることを特徴とする、請求項28記載の埋め込みシステム。
- 前記プロセッサが更に、
前記1次カーネルに一意のカーネル識別子を割り当て、
前記1次カーネルに対して許された割り込みを決定する、少なくとも1つの割り込みマスクレベルを前記1次カーネルに割り当て、
前記少なくとも1つの2次カーネルに一意のカーネル識別子を割り当て、
前記2次カーネルの特定のものに許された割り込みを決定する、少なくとも1つの割り込みマスクレベルを前記少なくとも1つの2次カーネルに割り当てる、
ように構成されていることを特徴とする、請求項28記載の埋め込みシステム。 - 前記プロセッサが更に、プロセス実行制御を現在のアクティブカーネルから次のアクティブカーネルへスイッチするタスクを実行するように構成されており、前記次のアクティブカーネルが、前記2次カーネルのうちの1つであることを特徴とする請求項24記載の埋め込みシステム。
- 前記プロセス実行制御タスクが周期タスクであり、前記次のアクティブカーネルが、2次カーネルのポーリング優先順位スキームに従って、ポーリングによって決定され、最高優先順位の2次カーネルに対する前記複数の2次カーネルが少なくとも1つの実行を保留されたプロセスを有し、前記少なくとも1つの2次カーネルにおける前記保留されたプロセスの少なくとも1部が完了した後に、前記1次カーネルへプロセス実行制御が転送されることを特徴とする請求項32記載の埋め込みシステム。
- 前記プロセッサが更に、前記共通割り込みハンドラを呼び出すように構成されており、前記共通割り込みハンドラが、その後少なくとも1つのカーネル非依存割り込み処理機能を実行し、プロセス実行制御を当該割り込みに関連するターゲットカーネルの割り込みサービスルーチンへ渡すことを特徴とする請求項31記載の埋め込みシステム。
- 前記プロセッサが更に、前記少なくとも1つの2次カーネルのマスクレベルによって、ターゲットカーネルを決定するように構成されていることを特徴とする請求項34記載の埋め込みシステム。
- 単一の集積回路に配置されていることを特徴とする請求項34記載の埋め込みシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58648604P | 2004-07-06 | 2004-07-06 | |
US11/169,542 US20060010446A1 (en) | 2004-07-06 | 2005-06-29 | Method and system for concurrent execution of multiple kernels |
PCT/US2005/023525 WO2006014354A2 (en) | 2004-07-06 | 2005-07-01 | Method and system for concurrent excution of mutiple kernels |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008506187A JP2008506187A (ja) | 2008-02-28 |
JP2008506187A5 true JP2008506187A5 (ja) | 2008-10-02 |
Family
ID=35542791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007520404A Pending JP2008506187A (ja) | 2004-07-06 | 2005-07-01 | 複数のカーネルの並列実行のための方法およびシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060010446A1 (ja) |
EP (1) | EP1789874A2 (ja) |
JP (1) | JP2008506187A (ja) |
KR (1) | KR20070083460A (ja) |
HK (1) | HK1104102A1 (ja) |
WO (1) | WO2006014354A2 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189291B2 (en) * | 2005-12-12 | 2015-11-17 | International Business Machines Corporation | Sharing a kernel of an operating system among logical partitions |
US9201703B2 (en) * | 2006-06-07 | 2015-12-01 | International Business Machines Corporation | Sharing kernel services among kernels |
JP2008108075A (ja) * | 2006-10-25 | 2008-05-08 | Matsushita Electric Ind Co Ltd | タスク切替え制御方法及びコンピュータシステム |
US8789052B2 (en) * | 2007-03-28 | 2014-07-22 | BlackBery Limited | System and method for controlling processor usage according to user input |
US8146107B2 (en) * | 2007-07-10 | 2012-03-27 | Mitel Networks Corporation | Virtual machine environment for interfacing a real time operating system environment with a native host operating system |
EP2083525A1 (en) * | 2008-01-28 | 2009-07-29 | Merging Technologies S.A. | System to process a plurality of audio sources |
US8868899B2 (en) * | 2009-07-20 | 2014-10-21 | Motorola Mobility Llc | System and method for switching between environments in a multi-environment operating system |
US9348633B2 (en) * | 2009-07-20 | 2016-05-24 | Google Technology Holdings LLC | Multi-environment operating system |
US9389877B2 (en) * | 2009-07-20 | 2016-07-12 | Google Technology Holdings LLC | Multi-environment operating system |
US9367331B2 (en) * | 2009-07-20 | 2016-06-14 | Google Technology Holdings LLC | Multi-environment operating system |
US9372711B2 (en) * | 2009-07-20 | 2016-06-21 | Google Technology Holdings LLC | System and method for initiating a multi-environment operating system |
KR101015573B1 (ko) * | 2010-07-29 | 2011-02-16 | (주)제이모바일 | Rtos 기반의 안드로이드 어플리케이션 실행 장치 |
US9015622B2 (en) * | 2010-01-20 | 2015-04-21 | Red Hat, Inc. | Profile-based performance tuning of computing systems |
WO2012015083A1 (ko) * | 2010-07-29 | 2012-02-02 | 주식회사 앵글스톤테크놀러지 | Rtos 기반의 안드로이드 어플리케이션 실행 장치 |
US8983536B2 (en) | 2010-10-22 | 2015-03-17 | Google Technology Holdings LLC | Resource management in a multi-operating environment |
US9354900B2 (en) | 2011-04-28 | 2016-05-31 | Google Technology Holdings LLC | Method and apparatus for presenting a window in a system having two operating system environments |
CN102323895A (zh) * | 2011-09-02 | 2012-01-18 | 广东中大讯通软件科技有限公司 | 一种基于机顶盒嵌入式操作系统实时调度方法 |
US20130293573A1 (en) | 2012-05-02 | 2013-11-07 | Motorola Mobility, Inc. | Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments |
US9342325B2 (en) | 2012-05-17 | 2016-05-17 | Google Technology Holdings LLC | Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device |
US9804665B2 (en) | 2013-12-29 | 2017-10-31 | Google Inc. | Apparatus and method for passing event handling control from a primary processor to a secondary processor during sleep mode |
US9753527B2 (en) | 2013-12-29 | 2017-09-05 | Google Technology Holdings LLC | Apparatus and method for managing graphics buffers for a processor in sleep mode |
US9798378B2 (en) | 2014-03-31 | 2017-10-24 | Google Technology Holdings LLC | Apparatus and method for awakening a primary processor out of sleep mode |
US10176094B2 (en) | 2015-06-30 | 2019-01-08 | Renesas Electronics America Inc. | Common MCU self-identification information |
WO2017052059A1 (ko) * | 2015-09-21 | 2017-03-30 | 주식회사 레인보우 | 실시간 제어 시스템, 실시간 제어 장치 및 시스템 제어 방법 |
KR102235166B1 (ko) | 2015-09-21 | 2021-04-02 | 주식회사 레인보우로보틱스 | 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법 |
WO2017052061A1 (ko) * | 2015-09-21 | 2017-03-30 | 주식회사 레인보우 | Gpos 연동형 실시간 로봇 제어 시스템 및 이를 이용한 실시간 디바이스 제어 시스템 |
WO2017066194A1 (en) | 2015-10-11 | 2017-04-20 | Renesas Electronics America Inc. | Data driven embedded application building and configuration |
WO2017066183A1 (en) * | 2015-10-11 | 2017-04-20 | Renesas Electronics America Inc. | Software architecture for embedded systems |
CN105373425A (zh) * | 2015-10-28 | 2016-03-02 | 浪潮(北京)电子信息产业有限公司 | 一种嵌入式Linux系统性能优化的方法及装置 |
CN108153559A (zh) * | 2017-12-08 | 2018-06-12 | 芯海科技(深圳)股份有限公司 | 一种不影响mcu工作实时性的快速重构架构 |
JP7126918B2 (ja) * | 2018-10-12 | 2022-08-29 | 東芝テック株式会社 | プリンタ |
US11044099B2 (en) * | 2018-12-28 | 2021-06-22 | Intel Corporation | Technologies for providing certified telemetry data indicative of resources utilizations |
JPWO2023277160A1 (ja) * | 2021-07-02 | 2023-01-05 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2677474B1 (fr) * | 1991-06-04 | 1993-09-24 | Sextant Avionique | Dispositif permettant d'accroitre les performances d'un noyau d'executif temps reel associe a une structure multiprocesseur pouvant comprendre un nombre eleve de processeurs. |
JPH08212086A (ja) * | 1994-09-30 | 1996-08-20 | Microsoft Corp | オフィスマシンのオペレーティングシステム及び方法 |
US5721922A (en) * | 1994-10-13 | 1998-02-24 | Intel Corporation | Embedding a real-time multi-tasking kernel in a non-real-time operating system |
US5903752A (en) * | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
US6466962B2 (en) * | 1995-06-07 | 2002-10-15 | International Business Machines Corporation | System and method for supporting real-time computing within general purpose operating systems |
DE19648422C2 (de) * | 1996-11-22 | 2000-03-30 | Hans Beckhoff | Verfahren und Vorrichtung zum Implementieren eines echtzeitfähigen Steuerprogramms in einem nicht-echtzeitfähigen Betriebsprogramm |
US5995745A (en) * | 1996-12-23 | 1999-11-30 | Yodaiken; Victor J. | Adding real-time support to general purpose operating systems |
US6766515B1 (en) * | 1997-02-18 | 2004-07-20 | Silicon Graphics, Inc. | Distributed scheduling of parallel jobs with no kernel-to-kernel communication |
US6772419B1 (en) * | 1997-09-12 | 2004-08-03 | Hitachi, Ltd. | Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS |
FI108478B (fi) * | 1998-01-21 | 2002-01-31 | Nokia Corp | Sulautettu jõrjestelmõ |
JP4072271B2 (ja) * | 1999-02-19 | 2008-04-09 | 株式会社日立製作所 | 複数のオペレーティングシステムを実行する計算機 |
US20040172631A1 (en) * | 2001-06-20 | 2004-09-02 | Howard James E | Concurrent-multitasking processor |
US6782424B2 (en) * | 2002-08-23 | 2004-08-24 | Finite State Machine Labs, Inc. | System, method and computer program product for monitoring and controlling network connections from a supervisory operating system |
US20040088704A1 (en) * | 2002-10-30 | 2004-05-06 | Advanced Simulation Technology, Inc. | Method for running real-time tasks alongside a general purpose operating system |
US7509644B2 (en) * | 2003-03-04 | 2009-03-24 | Secure 64 Software Corp. | Operating system capable of supporting a customized execution environment |
DE60323811D1 (de) * | 2003-04-09 | 2008-11-13 | Jaluna S A | Betriebssysteme |
-
2005
- 2005-06-29 US US11/169,542 patent/US20060010446A1/en not_active Abandoned
- 2005-07-01 WO PCT/US2005/023525 patent/WO2006014354A2/en active Search and Examination
- 2005-07-01 JP JP2007520404A patent/JP2008506187A/ja active Pending
- 2005-07-01 EP EP05768081A patent/EP1789874A2/en not_active Ceased
- 2005-07-01 KR KR1020077001072A patent/KR20070083460A/ko not_active Application Discontinuation
-
2007
- 2007-08-14 HK HK07108854.1A patent/HK1104102A1/xx unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008506187A5 (ja) | ||
EP2519877B1 (en) | Hypervisor-based isolation of processor cores | |
JP5405320B2 (ja) | 仮想計算機制御装置、仮想計算機制御方法及び仮想計算機制御プログラム | |
US7734833B2 (en) | Method for scheduling operations called by a task on a real-time or non-real time processor | |
US6823517B1 (en) | Multi-tasking-real-time operating system for microprocessors with limited memory that constrains context switching to occur only at task level | |
US20090077564A1 (en) | Fast context switching using virtual cpus | |
US9298504B1 (en) | Systems, devices, and techniques for preempting and reassigning tasks within a multiprocessor system | |
JP5244160B2 (ja) | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム | |
US7366814B2 (en) | Heterogeneous multiprocessor system and OS configuration method thereof | |
US9529625B2 (en) | Method and system for providing stack memory management in real-time operating systems | |
US20170076421A1 (en) | Preemptive context switching of processes on an accelerated processing device (apd) based on time quanta | |
US20150234640A1 (en) | System and Method for Isolating I/O Execution via Compiler and OS Support | |
US20120284720A1 (en) | Hardware assisted scheduling in computer system | |
CN111209046A (zh) | 一种面向多任务处理的嵌入式sparc处理器操作系统设计方法 | |
US20170212852A1 (en) | Method and accelerator unit for interrupt handling | |
US7818558B2 (en) | Method and apparatus for EFI BIOS time-slicing at OS runtime | |
JP2008108075A (ja) | タスク切替え制御方法及びコンピュータシステム | |
WO2005099334A2 (en) | Event handling mechanism | |
WO2004111840A2 (en) | Customer framework for embedded applications | |
Kato et al. | A loadable real-time scheduler suite for multicore platforms | |
JP2008523491A (ja) | アクティブオブジェクトへのアクセスを提供する方法及びシステム | |
US20120151111A1 (en) | Apparatus and method of processing interrupt for improving user input processing performance in mobile device virtualization environment | |
US7516311B2 (en) | Deterministic microcontroller context arrangement | |
JP5308383B2 (ja) | 仮想マルチプロセッサシステム | |
JP2005293070A (ja) | タスク実行システム |