JP2009282987A - 割込みスケジューリング方法 - Google Patents
割込みスケジューリング方法 Download PDFInfo
- Publication number
- JP2009282987A JP2009282987A JP2009123423A JP2009123423A JP2009282987A JP 2009282987 A JP2009282987 A JP 2009282987A JP 2009123423 A JP2009123423 A JP 2009123423A JP 2009123423 A JP2009123423 A JP 2009123423A JP 2009282987 A JP2009282987 A JP 2009282987A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- priority
- target process
- current process
- target
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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/22—Microcontrol or microprogram arrangements
-
- 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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
【解決手段】本発明による割込みスケジューリング方法は、割込み発生時、ウェイクアップされるターゲットプロセスを実行可能待ち行列に進入させないで、ウェイクアップされたターゲットプロセスと割込み発生以前に行った現在プロセスとの優先順位を直接比較して、その比較結果によって再スケジューリングを設定する段階及び再スケジューリングが設定されたか否かによって現在プロセスからターゲットプロセスへ直接コンテキストスイッチングをする段階を含む。本発明の割込みスケジューリング方法によれば、ウェイクアップされたターゲットプロセスを実行可能待ち行列に進入させる過程と、実行可能待ち行列で優先順位が一番高いプロセスを選択する過程を省略することにより、コンピュータシステムのオペレーティングシステムで割込みによって発生される先取り延期時間を最小化させることができる。
【選択図】図3
Description
図1を参照すれば、従来の割込みスケジューリング方法は、先にコンピュータオペレーティングシステムで割込みが発生されれば(101)、現在実行中のプロセスの実行をしばらく中断させて、現在実行中のプロセスのコンテキストで割込みハンドラ関数の実行が始まる(103)。
以後、ターゲットプロセスはいつでもオペレーティングシステムスケジューラーによって選択されて直ちに実行されるように、実行可能待ち行列に進入してスケジューラーが選択するのを待つようになる(107)。
また、本発明による割込みスケジューリング方法を実行するためのプログラムが記録された、コンピュータで読み取り可能な記録媒体を提供することを目的とする。
図3を参照すれば、先ず、コンピュータシステムのオペレーティングシステムで割込みが発生(300)すると、現在実行中のプロセスの実行がしばらく中断され、現在プロセスのコンテキストで割込みハンドラ関数による実行が始まる(301)。この時、割込みハンドラ関数は当該割込みを待ちながらスリープ(Sleep)状態にあるターゲットプロセスをウェイクアップする。
一方、ターゲットプロセスの優先順位が実行中のプロセスの優先順位より低い場合、ターゲットプロセスは実行可能待ち行列に進入して、以後、割込みハンドラ関数の実行が終わる(309)。
すなわち、ターゲットプロセスが現在プロセスの優先順位より高い場合、既存のターゲットプロセスの先取り過程の中、論理的に不必要な過程であるターゲットプロセスの実行可能待ち行列への進入を遅延させることで、ターゲットプロセスの先取り延期時間を減らすことができる。また、ターゲットプロセスが現在プロセスの優先順位より低い場合、すなわち直ちに先取りしなければならないプロセスが無い場合、既存の方法によって実行することでオペレーティングシステムをそのまま実行させることができる。
Claims (8)
- 割込み発生時、ウェイクアップされるターゲットプロセスを実行可能待ち行列(ready queue)に進入させないで、前記ウェイクアップされたターゲットプロセスと前記割込み発生以前に実行されていた現在プロセスとの優先順位を直接比較して、その比較結果によって再スケジューリングを設定する段階と、
前記再スケジューリングが設定されたか否かによって、前記現在プロセスから前記ターゲットプロセスへ直接コンテキストスイッチング(context switching)をする段階と、
を含む割込みスケジューリング方法。 - 前記コンテキストスイッチングをする段階以後、
前記現在プロセスが実行可能待ち行列に進入されたか否かを判別する段階と、
前記現在プロセスが実行可能待ち行列に進入されている場合、オペレーティングシステムスケジューラーを実行させ、前記現在プロセスが前記実行可能待ち行列に進入されていない場合、前記現在プロセスを前記実行可能待ち行列に進入させた後、前記オペレーティングシステムスケジューラーを実行させる段階と、
をさらに含む請求項1に記載の割込みスケジューリング方法。 - 前記再スケジューリングを設定する段階は、
前記ターゲットプロセスがウェイクアップされたか否かを判別する段階と、
前記ターゲットプロセスがウェイクアップされた場合、前記ウェイクアップされたターゲットプロセスの優先順位と前記現在プロセスの優先順位とを直接比較する段階と、
前記ターゲットプロセスの優先順位が前記現在プロセスの優先順位より高い場合、前記再スケジューリングを設定した後、割込みハンドラの実行を終了して、前記ターゲットプロセスの優先順位が前記現在プロセスの優先順位より低い場合、前記ターゲットプロセスを前記実行可能待ち行列に進入させた後、前記割込みハンドラの実行をに終了する段階と、
を含む請求項1に記載の割込みスケジューリング方法。 - 前記コンテキストスイッチングをする段階は、
前記再スケジューリングが設定されたか否かを判別する段階と、
前記再スケジューリングが設定された場合、前記現在プロセスから前記ターゲットプロセスへ直接コンテキストスイッチングをし、前記再スケジューリングが設定されていない場合、前記現在プロセスの演算を継続して進行する段階と、
を含む請求項1に記載の割込みスケジューリング方法。 - 割込み発生時、ウェイクアップされるターゲットプロセスを実行可能待ち行列(ready queue)に進入させないで、前記ウェイクアップされたターゲットプロセスと前記割込み発生以前に実行していた現在プロセスとの優先順位を直接比較する段階と、
前記ターゲットプロセスの優先順位が前記現在プロセスの優先順位より高い場合、前記現在プロセスから前記ターゲットプロセスへ直接コンテキストスイッチング(context switching)して、前記ターゲットプロセスの優先順位が前記現在プロセスの優先順位より低い場合、前記現在プロセスを実行する段階と、
を含む割り込みスケジューリング方法。 - 前記コンテキストスイッチングをする場合,
前記現在プロセスが実行可能待ち行列に進入されたのか否かを判別する段階と、
前記現在プロセスが実行可能待ち行列に進入されている場合、オペレーティングシステムスケジューラーを実行させて、前記現在プロセスが前記実行可能待ち行列に進入されていない場合、前記現在プロセスを前記実行可能待ち行列に進入させた後、前記オペレーティングシステムスケジューラーを実行させる段階と、
をさらに含む請求項5に記載の割込みスケジューリング方法。 - 前記ターゲットプロセスの優先順位が前記現在プロセスの優先順位より低い場合、
前記ターゲットプロセスを前記実行可能待ち行列に進入させる段階と、
割込みハンドラの実行を終了して、前記現在プロセスの演算を進行する段階と、
を含む請求項5に記載の割込みスケジューリング方法。 - 請求項1乃至4の何れかの割込みスケジューリング方法を実行するためのプログラムが記録されたコンピュータで読み取り可能な記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080047036A KR100959548B1 (ko) | 2008-05-21 | 2008-05-21 | 인터럽트 스케줄링 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009282987A true JP2009282987A (ja) | 2009-12-03 |
Family
ID=41342909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009123423A Pending JP2009282987A (ja) | 2008-05-21 | 2009-05-21 | 割込みスケジューリング方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090292846A1 (ja) |
JP (1) | JP2009282987A (ja) |
KR (1) | KR100959548B1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9418005B2 (en) | 2008-07-15 | 2016-08-16 | International Business Machines Corporation | Managing garbage collection in a data processing system |
US9176783B2 (en) | 2010-05-24 | 2015-11-03 | International Business Machines Corporation | Idle transitions sampling with execution context |
US8843684B2 (en) | 2010-06-11 | 2014-09-23 | International Business Machines Corporation | Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration |
US8799872B2 (en) | 2010-06-27 | 2014-08-05 | International Business Machines Corporation | Sampling with sample pacing |
KR20120065097A (ko) * | 2010-12-10 | 2012-06-20 | 한국전자통신연구원 | 단말 가상화 환경에서 사용자 입력 처리 성능 향상을 위한 인터럽트 처리 장치 및 그 방법 |
US8799904B2 (en) | 2011-01-21 | 2014-08-05 | International Business Machines Corporation | Scalable system call stack sampling |
JP6615726B2 (ja) * | 2016-09-16 | 2019-12-04 | 株式会社東芝 | 情報処理装置、情報処理方法及びプログラム |
CN110673937B (zh) * | 2019-09-19 | 2022-11-15 | 惠州志顺电子实业有限公司 | 单片机及其同步异步控制方法 |
CN111813531B (zh) * | 2020-08-31 | 2020-11-27 | 北京国科环宇科技股份有限公司 | 一种操作系统时钟调度方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0328933A (ja) * | 1989-06-26 | 1991-02-07 | Matsushita Electric Ind Co Ltd | タスク制御方法 |
JP2001323840A (ja) * | 2000-05-12 | 2001-11-22 | Keihin Corp | 自動車用制御ユニット |
JP2002318780A (ja) * | 2001-04-19 | 2002-10-31 | Toyoda Mach Works Ltd | リアルタイム制御システム |
JP2007249357A (ja) * | 2006-03-14 | 2007-09-27 | Toyota Motor Corp | 情報処理装置、分散処理システム及びタスク管理方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414858A (en) * | 1992-12-11 | 1995-05-09 | International Business Machines Corporation | System and method for dynamically varying between interrupt and polling to service requests of computer peripherals |
US5630049A (en) * | 1994-11-30 | 1997-05-13 | Digital Equipment Corporation | Method and apparatus for testing software on a computer network |
US5675800A (en) * | 1994-11-30 | 1997-10-07 | Digital Equipment Corporation | Method and apparatus for remotely booting a computer system |
JP2002014841A (ja) * | 2000-06-30 | 2002-01-18 | Esol Co Ltd | デバッグカーネルシステム |
US7159216B2 (en) * | 2001-11-07 | 2007-01-02 | International Business Machines Corporation | Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system |
KR20030042069A (ko) * | 2001-11-20 | 2003-05-28 | 주식회사 하이닉스반도체 | 인터럽트 제어기 및 인터럽트 제어 방법 |
US7448036B2 (en) * | 2002-05-02 | 2008-11-04 | International Business Machines Corporation | System and method for thread scheduling with weak preemption policy |
US7003610B2 (en) * | 2002-09-20 | 2006-02-21 | Lsi Logic Corporation | System and method for handling shared resource writes arriving via non-maskable interrupts (NMI) in single thread non-mission critical systems with limited memory space |
KR20050062298A (ko) * | 2003-12-20 | 2005-06-23 | 엘지전자 주식회사 | 고속의 인터럽트 처리기 및 처리 방법 |
JP2005301666A (ja) * | 2004-04-12 | 2005-10-27 | Seiko Epson Corp | 情報処理装置 |
US7765547B2 (en) * | 2004-11-24 | 2010-07-27 | Maxim Integrated Products, Inc. | Hardware multithreading systems with state registers having thread profiling data |
JP4387970B2 (ja) * | 2005-03-31 | 2009-12-24 | 富士通株式会社 | データ入出力プログラム,装置,および方法 |
JP2006309311A (ja) * | 2005-04-26 | 2006-11-09 | Oki Electric Ind Co Ltd | 割込制御回路 |
US8527958B2 (en) * | 2005-05-16 | 2013-09-03 | Texas Instruments Incorporated | Profiling operating context and tracing program on a target processor |
-
2008
- 2008-05-21 KR KR1020080047036A patent/KR100959548B1/ko not_active IP Right Cessation
-
2009
- 2009-05-21 US US12/469,936 patent/US20090292846A1/en not_active Abandoned
- 2009-05-21 JP JP2009123423A patent/JP2009282987A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0328933A (ja) * | 1989-06-26 | 1991-02-07 | Matsushita Electric Ind Co Ltd | タスク制御方法 |
JP2001323840A (ja) * | 2000-05-12 | 2001-11-22 | Keihin Corp | 自動車用制御ユニット |
JP2002318780A (ja) * | 2001-04-19 | 2002-10-31 | Toyoda Mach Works Ltd | リアルタイム制御システム |
JP2007249357A (ja) * | 2006-03-14 | 2007-09-27 | Toyota Motor Corp | 情報処理装置、分散処理システム及びタスク管理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20090292846A1 (en) | 2009-11-26 |
KR100959548B1 (ko) | 2010-05-27 |
KR20090120970A (ko) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009282987A (ja) | 割込みスケジューリング方法 | |
US8347296B2 (en) | Priority control apparatus and priority control method | |
US8909962B2 (en) | System and method for controlling central processing unit power with guaranteed transient deadlines | |
CN108595256B (zh) | 一种基于risc-v架构芯片采用软件实现中断嵌套的方法 | |
JP5411587B2 (ja) | マルチスレッド実行装置、マルチスレッド実行方法 | |
AU2003298240A1 (en) | Method and apparatus for switching between processes | |
JP2009541848A5 (ja) | ||
JP2011508328A (ja) | データ・プロセッサのパフォーマンス予測 | |
JP2009163658A (ja) | 入出力制御装置およびそのファームウェア更新方法 | |
US20170212852A1 (en) | Method and accelerator unit for interrupt handling | |
JP2001160041A (ja) | オンラインシステムのcpu負荷軽減方式 | |
JP2005228300A (ja) | 割込み処理制御の方法と装置 | |
JP5195408B2 (ja) | マルチコアシステム | |
JP2006146758A (ja) | コンピュータシステム | |
JP2001236236A (ja) | タスク制御装置およびそのタスクスケジューリング方法 | |
KR100930009B1 (ko) | 인터럽트 처리방법 | |
JP3830133B2 (ja) | 電力制御装置及び方法並びに電力制御プログラム | |
JP2000172514A (ja) | タスク管理装置及びタスクスケジューリング方法 | |
TWI463406B (zh) | 具搶占功能的即時中斷處理系統及其方法 | |
JP2011048619A (ja) | プロセッサ | |
JP2003337634A (ja) | コンピュータ装置及びプロセッサ制御方法及びプロセッサ制御方法をコンピュータに実行させるためのプログラム及びプロセッサ制御方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH06149592A (ja) | マイクロコンピュータの割り込み処理方式 | |
JPH11249908A (ja) | 割込処理方法 | |
KR20140070308A (ko) | 병렬 처리를 위한 재구성형 프로세서 및 재구성형 프로세서의 동작 방법 | |
TW202338566A (zh) | 降低中央處理單元等待之功耗之方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120612 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121106 |