JP2008506187A5 - - Google Patents

Download PDF

Info

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
Application number
JP2007520404A
Other languages
English (en)
Other versions
JP2008506187A (ja
Filing date
Publication date
Priority claimed from US11/169,542 external-priority patent/US20060010446A1/en
Application filed filed Critical
Publication of JP2008506187A publication Critical patent/JP2008506187A/ja
Publication of JP2008506187A5 publication Critical patent/JP2008506187A5/ja
Pending legal-status Critical Current

Links

Claims (36)

  1. 埋め込みシステムの動作を制御するための方法であって、
    前記埋め込みシステムのプロセッサによって、当該埋め込みシステムの動作を制御するための1次カーネルを起動するステップと、
    前記プロセッサによって、前記埋め込みシステムの動作を制御するための1次カーネルを補助し、前記埋め込みシステムの機能を拡張するための少なくとも1つの2次カーネルを起動するステップであって、前記少なくとも1つの2次カーネルが、前記1次カーネルの少なくとも部分的制御下にあるステップと、
    前記プロセッサによって、前記1次カーネルおよび少なくとも1つの前記2次カーネルに対するプロセスの実行をスケジュールする共通スケジューラとしてスケジューラを実行するステップと、を含む方法。
  2. 前記1次カーネルが、汎用オペレーティングシステムである、請求項1に記載の方法。
  3. 前記少なくとも1つの2次カーネルのうち少なくとも1つが、リアルタイム・オペレーティングシステムである、請求項1に記載の方法。
  4. 前記1次カーネルが、前記少なくとも1つの2次カーネルのそれぞれより能力がある、請求項1に記載の方法。
  5. 前記プロセッサによって、前記1次カーネルおよび少なくとも1つの前記2次カーネルに対する割り込みを処理する共通割り込みハンドラとして割り込みハンドラを実行するステップを更に含む、請求項1に記載の方法。
  6. 前記プロセッサによって、前記1次カーネルのスケジューラと前記少なくとも1つの2次カーネルの1つ以上のスケジューラとの間でより能力のあるものを選択するステップを更に含む、請求項1に記載の方法。
  7. 前記プロセッサによって、前記1次カーネルの割り込みハンドラと前記少なくとも1つの2次カーネルの1つ以上の割り込みハンドラとの間でより能力のあるものを選択するステップを更に含む、請求項5に記載の方法。
  8. 前記選択するステップが、前記プロセッサが前記1次カーネルの割り込みを前記共通割り込みハンドラとして選択するか、又は前記1次カーネルのスケジューラを前記共通スケジューラとして選択することを含む、請求項6又は7に記載の方法。
  9. 前記埋め込みシステムをブートすると、前記プロセッサが、前記1次カーネルを、前記少なくとも1つの2次カーネルの起動に先立って起動する、請求項1に記載の方法。
  10. 前記プロセッサが、前記少なくとも1つの2次カーネルのうち少なくとも1つを、前記1次カーネルのランタイム動的モジュールとして起動する、請求項1に記載の方法。
  11. 前記プロセッサによって一意のカーネル識別子を前記1次カーネルに割り当てるステップと、
    前記1次カーネルに対して許可される前記割込みを決定する、少なくとも1つの割込みマスクレベルを前記1次カーネルに割り当てるステップと、を更に含む請求項5に記載の方法。
  12. 前記プロセッサによって、一意のカーネル識別子を前記少なくとも1つの2次カーネルに割り当てるステップと、
    前記プロセッサによって、特定の2次カーネルに対して許可される前記割込みを決定する少なくとも1つの割込みマスクレベルを、少なくとも1つの2次カーネルに割り当てるステップと、を更に含む請求項5に記載の方法。
  13. 前記プロセッサによって、前記少なくとも1つの2次カーネルの少なくとも1つに対するフックを、前記共通スケジューラまたは前記共通割込みハンドラにインストールするステップを更に含む、請求項5に記載の方法。
  14. 前記プロセッサによって、プロセス実行制御を、現在アクティブのカーネルから次のアクティブカーネルに切り替えるタスクを実行するステップであって、前記次のアクティブカーネルが、前記少なくとも1つの2次カーネルのうちの1つであるステップを更に含む、請求項1に記載の方法。
  15. 前記プロセス実行制御タスクは周期タスクであり、前記プロセッサが、前記1次カーネルを実行しながら、前記少なくとも1つの2次カーネルを前記次のアクティブカーネルとして、2次カーネル・ポーリング優先順位スキームに従ってポーリングによって決定するステップであって、前記次にアクティブな2次カーネルは少なくとも1つの実行すべき保留プロセスを有する最も高い優先順位の2次カーネルであり、前記プロセス実行制御が、前記最高優先順位の2次カーネルの前記少なくとも1つの保留プロセスの少なくとも一部分の完了の後に、前記1次カーネルに戻されるステップを更に含む、請求項14に記載の方法。
  16. 前記プロセッサによって、前記共通割込みハンドラを呼び出すステップであって、前記共通割込みハンドラは、その後、少なくとも1つのカーネル非依存割込み処理機能を実行し、次いでプロセス実行制御を、前記割込みに関連付けられたターゲットカーネルの割込みサービスルーチンに渡すステップを更に含む、請求項1に記載の方法。
  17. 前記ターゲットカーネルは、前記少なくとも1つの2次カーネルのマスクレベルによって決定される、請求項12に記載の方法。
  18. 前記プロセッサによって、前記共通スケジューラを呼び出すステップと、
    前記プロセッサによって、どのカーネルが現在実行中のカーネルであるかを決定するステップと、
    前記プロセッサによって、プロセス実行制御を、前記現在実行中のカーネルに転送するステップと、
    前記プロセッサによって、少なくとも1つのカーネル特定スケジューリング機能を前記現在実行中のカーネルに対して実行するステップとを更に含む、請求項4に記載の方法。
  19. 前記1次カーネルが、プロセス実行制御を、前記少なくとも1つの2次カーネルのうちの1つに渡し、それによって、前記少なくとも1つの2次カーネルのうちの1つが、アクティブカーネルになるステップと、
    前記1次カーネルが、その割込みマスクレベルを、前記アクティブカーネルになった2次カーネルの受け取ったプロセス実行制御を反映するように変更するステップと、
    前記1次カーネルが、現在実行中のカーネル識別コードを、前記アクティブカーネルとして実行制御を受け取った2次カーネルを識別する識別コードに変更するステップとを更に含む、請求項12に記載の方法。
  20. 前記プロセッサによって、前記1次カーネルと前記少なくとも1つの2次カーネルの間のリソース共有のためのアプリケーション・プログラム・インターフェース(API)をインストールするステップを更に含む、請求項1に記載の方法。
  21. マルチカーネル環境における複数のカーネル間でシステムリソースを共有するための方法であって、
    プロセッサによって、前記マルチカーネル環境から1次カーネルを選択するステップと、
    前記プロセッサによって、前記1次カーネルを起動するステップと、
    前記プロセッサによって、少なくとも1つの2次カーネルを追加するステップであって、前記少なくとも1つの2次カーネルは、前記1次カーネルの少なくとも部分的制御下にあるステップと、
    前記プロセッサによって、前記1次カーネルと、前記少なくとも1つの2次カーネルとの間でのシステムリソース共有のためのアプリケーション・プログラム・インターフェース(API)をインストールするステップであって、前記第1のカーネルには、前記少なくとも1つの第2のカーネルに対する適切なダミーAPIコールが提供されるステップと、を含む方法。
  22. 前記少なくとも1つの2次カーネルが前記1次カーネルからの前記ダミーAPIコールによってアクティブ化されると、前記少なくとも1つの2次カーネルは、前記ダミーAPIコールを、実APIコールで置き換えるステップを更に含む、請求項21に記載の方法。
  23. 前記1次カーネルからの前記実APIコールがあると、前記少なくとも1つの2次カーネルの特定のシステム機能を実行し、それによって、前記1次カーネルにおいて前記少なくとも1つの2次カーネルのリソースを使用可能にするステップを更に含む、請求項22に記載の方法。
  24. 複数のカーネルを含む1つ以上の不揮発性記憶装置と、プロセッサからなる埋め込みシステムであって、
    前記プロセッサが、
    前記複数のカーネルから、1次カーネルを選択し、
    前記1次カーネルを起動し、
    前記複数のカーネルの少なくとも他の1つを、2次カーネルとして選択して起動し、当該2次カーネルが、少なくとも部分的に前記1次カーネルの制御下にあり、
    前記1次カーネルおよび前記少なくとも1つの2次カーネルに対するプロセスの動作をスケジュールする共通スケジューラとして、スケジューラを稼働する、
    ように構成されていることを特徴とするシステム。
  25. 前記プロセッサが更に、前記1次カーネルおよび前記2次カーネルの間で資源を共有するためのアプリケーション・プログラム・インターフェース(API)をインストールするように構成されていることを特徴とする、請求項24記載の埋め込みシステム。
  26. 前記1次カーネルが、汎用オペレーティングシステムであり得ることを特徴とする、請求項24記載の埋め込みシステム。
  27. 前記2次カーネルが、リアルタイム・オペレーティングシステムであり得ることを特徴とする、請求項24記載の埋め込みシステム。
  28. 前記プロセッサが更に、前記1次カーネルおよび前記2次カーネルに対する割り込みを処理する共通割り込みハンドラとして、割り込みハンドラを稼働するように構成されていることを特徴とする、請求項24記載の埋め込みシステム。
  29. 前記プロセッサが、アプリケーション特定集積回路、複合プログラマブル論理装置、又はフィールドプログラム可能ゲートアレイである、請求項24記載の埋め込みシステム。
  30. 前記プロセッサが、もっとも望ましい能力を有する複数のカーネルの中から共通割り込みハンドラを選択するように構成されていることを特徴とする、請求項28記載の埋め込みシステム。
  31. 前記プロセッサが更に、
    前記1次カーネルに一意のカーネル識別子を割り当て、
    前記1次カーネルに対して許された割り込みを決定する、少なくとも1つの割り込みマスクレベルを前記1次カーネルに割り当て、
    前記少なくとも1つの2次カーネルに一意のカーネル識別子を割り当て、
    前記2次カーネルの特定のものに許された割り込みを決定する、少なくとも1つの割り込みマスクレベルを前記少なくとも1つの2次カーネルに割り当てる、
    ように構成されていることを特徴とする、請求項28記載の埋め込みシステム。
  32. 前記プロセッサが更に、プロセス実行制御を現在のアクティブカーネルから次のアクティブカーネルへスイッチするタスクを実行するように構成されており、前記次のアクティブカーネルが、前記2次カーネルのうちの1つであることを特徴とする請求項24記載の埋め込みシステム。
  33. 前記プロセス実行制御タスクが周期タスクであり、前記次のアクティブカーネルが、2次カーネルのポーリング優先順位スキームに従って、ポーリングによって決定され、最高優先順位の2次カーネルに対する前記複数の2次カーネルが少なくとも1つの実行を保留されたプロセスを有し、前記少なくとも1つの2次カーネルにおける前記保留されたプロセスの少なくとも1部が完了した後に、前記1次カーネルへプロセス実行制御が転送されることを特徴とする請求項32記載の埋め込みシステム。
  34. 前記プロセッサが更に、前記共通割り込みハンドラを呼び出すように構成されており、前記共通割り込みハンドラが、その後少なくとも1つのカーネル非依存割り込み処理機能を実行し、プロセス実行制御を当該割り込みに関連するターゲットカーネルの割り込みサービスルーチンへ渡すことを特徴とする請求項31記載の埋め込みシステム。
  35. 前記プロセッサが更に、前記少なくとも1つの2次カーネルのマスクレベルによって、ターゲットカーネルを決定するように構成されていることを特徴とする請求項34記載の埋め込みシステム。
  36. 単一の集積回路に配置されていることを特徴とする請求項34記載の埋め込みシステム。
JP2007520404A 2004-07-06 2005-07-01 複数のカーネルの並列実行のための方法およびシステム Pending JP2008506187A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) タスク実行システム