JP4170227B2 - 多重処理環境における処理の実行 - Google Patents
多重処理環境における処理の実行 Download PDFInfo
- Publication number
- JP4170227B2 JP4170227B2 JP2003562785A JP2003562785A JP4170227B2 JP 4170227 B2 JP4170227 B2 JP 4170227B2 JP 2003562785 A JP2003562785 A JP 2003562785A JP 2003562785 A JP2003562785 A JP 2003562785A JP 4170227 B2 JP4170227 B2 JP 4170227B2
- Authority
- JP
- Japan
- Prior art keywords
- priority
- processing
- low
- thread
- additional
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Description
−前記低優先度の処理(T1)が前記共有リソース(SM4)を使用する予定のときに、前記低優先度の処理(T1)の有効な優先度を一時的に上げるための手段を有し、前記有効な優先度が、前記多重環境における他の処理(T1、T2)の優先度より高く上げられること
を特徴とする。
Boolean B4:=false
永久に以下を実行する
{
S1Aを待つ; //T1がSM1に情報を入れるまで待つ
Mを待つ;
SM1からSM4にコピーする;
Mを解放する;
B4:=true //情報が存在することをT4に知らせる
S4を待つ; //T4がSM4の情報を使用するまで待つ
S1Bを解放する; //SM1が他の情報で満たされることができることをT1に知らせる
}
この実施例において、T4は多くの場合(例えばwhileループで)以下を実行する。
if(B4==true)
{
B4:=false;
Mを待つ;
SM4の情報を使用する;
Mを解放する;
S4を解放する
}
B4とS4はいくつかのアプリケーションで有用なことがある特別の同期を提供するが、更に実施例を複雑にする。その他に、B4とS4は実施例から取り除かれてもよい。
{S1Aを待つ; (T=1に対応する)
Mを待つ; (T=2)
SM1からSM4にコピーする; (T=2とT=5の間)
Mを解放する; (T=5)
B4:=true; (T=7の前)
S4を待つ; (T=7)
S1Bを解放する; (T=8)}
T1(T3)が終了される前にT4が既にSM4にアクセスを得る試みをするため、‘B4:=true’は、図1bの場合に実際に使用されない。そうでない場合、それは情報を取り出すためにSM4にアクセスしなければならないという信号をT4に送出する。
Claims (15)
- 低優先度の処理と高優先度の処理との実行を有する多重処理環境で、異なる優先度を備えた処理を実行する方法であって、
前記高優先度の処理と前記低優先度の処理とが所定のリソースを共有し、
前記方法は、前記低優先度の処理が前記共有リソースを使用する予定のときに、前記低優先度の処理の有効な優先度を一時的に上げるステップを有し、
前記有効な優先度が、前記多重処理環境における他の処理の優先度より高く上げられ、
前記方法は、前記低優先度の処理の代わりに実行する追加処理を用いるステップを有し、
前記有効な優先度を上げるステップが、前記低優先度の処理の代わりに前記共有リソースにアクセスする前記追加処理を実行する/割り当てるステップを有し、前記追加処理が前記有効な優先度と同じ優先度を有し、
前記有効な優先度は、前記追加処理が前記低優先度の処理の代わりに実行されていない場合、前記低優先度の処理の優先度と同じであり、
前記有効な優先度は、前記追加処理が前記低優先度の処理の代わりに実行されている場合、前記追加処理の優先度と同じであることを特徴とする方法。 - 請求項1に記載の方法であって、
前記追加処理が前記低優先度の処理と同期されることを特徴とする方法。 - 請求項1に記載の方法であって、
前記多重処理環境が、少なくとも所定の時間に単一のプロセッサで実行するリアルタイム・オペレーティングシステムと非リアルタイム・オペレーティングシステムとを有し、
前記リアルタイム・オペレーティングシステムが、前記高優先度のスレッドと前記追加処理とを有し、
前記非リアルタイム・オペレーティングシステムが前記低優先度のスレッドを有することを特徴とする方法。 - 請求項2に記載の方法であって、
前記追加処理と前記低優先度の処理とが、第1のセマフォ(semaphore)と第2のセマフォ(semaphore)を使用して同期される方法。 - 請求項1に記載の方法であって、
前記有効な優先度が、
少なくとも前記低優先度の処理が前記共有リソースにアクセス若しくは使用するまで、又は
前記低優先度の処理が前記共有リソースにアクセス若しくは使用する間に、前記高優先度の処理が前記共有リソースにアクセス若しくは使用することを試みた場合に、少なくとも前記高優先度の処理が前記共有リソースにアクセス若しくは使用するまで
上げられることを特徴とする方法。 - 請求項1に記載の方法であって、
前記低優先度の処理の前記有効な優先度が、前記高優先度のものより低くなり、他の処理のものより高くなるように上げられることを特徴とする方法。 - 請求項4に記載の方法であって、
前記共有リソースへのアクセスが相互排除によって制御され、
それにより前記追加処理が、前記追加処理が前記相互排除を所有する限り、前記低優先度の処理の実行を待たないことを特徴とする方法。 - 請求項1に記載の方法であって、
前記共有リソースが、
共有メモリと、
共有ファイルと、
共有入出力装置と
のグループから選択されることを特徴とする方法。 - 請求項1に記載の方法であって、
前記高優先度の処理が時間重視のタスクを実行することを特徴とする方法。 - 低優先度の処理と高優先度の処理とを実行するように適合された手段を有する、多重処理環境で異なる優先度を備えた処理を実行するためのシステムであって、
前記高優先度の処理と前記低優先度の処理とが所定のリソースを共有し、
前記システムは、前記低優先度の処理が前記共有リソースを使用する予定のときに、前記低優先度の処理の有効な優先度を一時的に上げるための手段を有し、
前記有効な優先度が、前記多重処理環境における他の処理の優先度より高く上げられ、
前記有効な優先度を上げるための手段は、前記低優先度の処理の代わりに前記共有リソースにアクセスする前記追加処理を実行する/割り当てるように構成され、追加処理が前記有効な優先度と同じ優先度を有し、
前記有効な優先度は、前記追加処理が前記低優先度の処理の代わりに実行されていない場合、前記低優先度の処理の優先度と同じであり、
前記有効な優先度は、前記追加処理が前記低優先度の処理の代わりに実行されている場合、前記追加処理の優先度と同じであることを特徴とするシステム。 - 請求項10に記載のシステムであって、
前記低優先度の処理と前記追加処理とを同期するように構成された同期手段を有することを特徴とするシステム。 - 請求項10に記載のシステムであって、
少なくとも所定の時間に単一のプロセッサで実行するリアルタイム・オペレーティングシステムと非リアルタイム・オペレーティングシステムとを有する単一のプロセッサを有し、
前記リアルタイム・オペレーティングシステムが、前記高優先度のスレッドと前記追加処理とを有し、
前記非リアルタイム・オペレーティングシステムが前記低優先度のスレッドを有することを特徴とするシステム。 - 請求項1ないし9のうちのいずれか1項に記載の方法を1つ以上の処理ユニットに実行させるための命令を保存したコンピュータ読み取り可能媒体。
- 請求項10に記載のシステムを有するセットトップボックス。
- 請求項10に記載のシステムを有するテレビセット。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP02075299 | 2002-01-24 | ||
| PCT/IB2002/005632 WO2003062988A2 (en) | 2002-01-24 | 2002-12-19 | Executing processes in a multiprocessing environment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005516281A JP2005516281A (ja) | 2005-06-02 |
| JP4170227B2 true JP4170227B2 (ja) | 2008-10-22 |
Family
ID=27589136
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003562785A Expired - Fee Related JP4170227B2 (ja) | 2002-01-24 | 2002-12-19 | 多重処理環境における処理の実行 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20050125789A1 (ja) |
| EP (1) | EP1497726A2 (ja) |
| JP (1) | JP4170227B2 (ja) |
| KR (1) | KR20040075960A (ja) |
| CN (1) | CN1327347C (ja) |
| WO (1) | WO2003062988A2 (ja) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006146678A (ja) * | 2004-11-22 | 2006-06-08 | Hitachi Ltd | 情報処理装置におけるプログラム制御方法、情報処理装置、及びプログラム |
| US8020141B2 (en) * | 2004-12-06 | 2011-09-13 | Microsoft Corporation | Operating-system process construction |
| CA2538503C (en) * | 2005-03-14 | 2014-05-13 | Attilla Danko | Process scheduler employing adaptive partitioning of process threads |
| US8255912B2 (en) * | 2005-04-13 | 2012-08-28 | Qualcomm Incorporated | Techniques for setting events in a multi-threaded system |
| US8849968B2 (en) * | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
| US20070039000A1 (en) * | 2005-08-10 | 2007-02-15 | Hewlett-Packard Development Company, L.P. | Lock order determination method and system |
| US20070094495A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Statically Verifiable Inter-Process-Communicative Isolated Processes |
| US8074231B2 (en) | 2005-10-26 | 2011-12-06 | Microsoft Corporation | Configuration of isolated extensions and device drivers |
| JP2007148582A (ja) * | 2005-11-24 | 2007-06-14 | Matsushita Electric Ind Co Ltd | タスク実行制御装置、タスク実行制御方法、及びプログラム |
| US7689838B2 (en) * | 2005-12-22 | 2010-03-30 | Intel Corporation | Method and apparatus for providing for detecting processor state transitions |
| US8032898B2 (en) * | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
| US7734879B2 (en) * | 2006-07-27 | 2010-06-08 | International Business Machines Corporation | Efficiently boosting priority of read-copy update readers in a real-time data processing system |
| KR101282139B1 (ko) * | 2006-09-11 | 2013-07-04 | 삼성전자주식회사 | 별도 버튼을 이용하여 성능모드 변경이 가능한컴퓨터시스템 및 그 제어방법 |
| KR20080064608A (ko) * | 2007-01-05 | 2008-07-09 | 삼성전자주식회사 | SPI(Simple PriorityInheritance) 방식에 따른 멀티태스킹 방법 및임베디드 시스템 |
| US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
| US20080244507A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Homogeneous Programming For Heterogeneous Multiprocessor Systems |
| US8495641B2 (en) * | 2007-06-29 | 2013-07-23 | International Business Machines Corporation | Efficiently boosting priority of read-copy update readers while resolving races with exiting and unlocking processes |
| JP4591480B2 (ja) | 2007-06-29 | 2010-12-01 | ブラザー工業株式会社 | コンピュータプログラム及びネットワーク端末 |
| JP2009025939A (ja) * | 2007-07-18 | 2009-02-05 | Renesas Technology Corp | タスク制御方法及び半導体集積回路 |
| US8095932B2 (en) * | 2007-08-14 | 2012-01-10 | Intel Corporation | Providing quality of service via thread priority in a hyper-threaded microprocessor |
| US8234647B1 (en) * | 2008-01-31 | 2012-07-31 | The Mathworks, Inc. | Checking for mutual exclusiveness of a shared resource |
| US9582768B1 (en) | 2008-01-31 | 2017-02-28 | The Mathworks, Inc. | Determining conditions associated with accessing data stores |
| US8280832B1 (en) | 2009-03-04 | 2012-10-02 | The Mathworks, Inc. | Proving latency associated with references to a data store |
| US8601457B1 (en) | 2008-01-31 | 2013-12-03 | The Mathworks, Inc. | Checking for access problems with data stores |
| US8429657B2 (en) | 2008-04-28 | 2013-04-23 | Oracle International Corporation | Global avoidance of hang states via priority inheritance in multi-node computing system |
| CN101751293B (zh) * | 2008-12-16 | 2013-10-30 | 智邦科技股份有限公司 | 程序的线程群组管理方法 |
| JP5482052B2 (ja) * | 2009-09-24 | 2014-04-23 | 富士通株式会社 | 観測分析装置および観測分析方法 |
| KR101500531B1 (ko) * | 2009-10-29 | 2015-03-09 | 엔이씨 디스플레이 솔루션즈 가부시키가이샤 | 시스템 및 소프트웨어 제품 |
| US9940670B2 (en) | 2009-12-10 | 2018-04-10 | Royal Bank Of Canada | Synchronized processing of data by networked computing resources |
| ES2754099T3 (es) * | 2009-12-10 | 2020-04-15 | Royal Bank Of Canada | Tratamiento sincronizado de datos mediante recursos informáticos en red |
| KR101644800B1 (ko) * | 2010-01-07 | 2016-08-02 | 삼성전자주식회사 | 컴퓨팅 시스템 및 방법 |
| JP5725162B2 (ja) * | 2011-03-31 | 2015-05-27 | 富士通株式会社 | 排他制御方法、および排他制御プログラム |
| CN102831007B (zh) * | 2011-06-14 | 2017-04-12 | 中兴通讯股份有限公司 | 实时处理系统中的共享资源访问方法和实时处理系统 |
| CN103870330A (zh) * | 2014-03-03 | 2014-06-18 | 大唐移动通信设备有限公司 | 一种基于dsp的任务调度方法和装置 |
| CN106095558B (zh) | 2016-06-16 | 2019-05-10 | Oppo广东移动通信有限公司 | 一种音效处理的方法及终端 |
| US10776156B2 (en) * | 2016-09-30 | 2020-09-15 | Intel Corporation | Thread priority mechanism |
| US10579417B2 (en) | 2017-04-26 | 2020-03-03 | Microsoft Technology Licensing, Llc | Boosting user thread priorities to resolve priority inversions |
| CN107133092A (zh) * | 2017-05-24 | 2017-09-05 | 努比亚技术有限公司 | 多线程同步处理方法、终端及计算机可读存储介质 |
| JP6796040B2 (ja) * | 2017-08-29 | 2020-12-02 | 日立オートモティブシステムズ株式会社 | アクセス制御装置 |
| US20190073243A1 (en) * | 2017-09-07 | 2019-03-07 | Alibaba Group Holding Limited | User-space spinlock efficiency using c-state and turbo boost |
| US10503550B2 (en) | 2017-09-30 | 2019-12-10 | Intel Corporation | Dynamic performance biasing in a processor |
| CN111506438A (zh) * | 2020-04-03 | 2020-08-07 | 华夏龙晖(北京)汽车电子科技股份有限公司 | 一种共享资源访问方法及装置 |
| CN114461353A (zh) * | 2020-11-09 | 2022-05-10 | 中兴通讯股份有限公司 | 调整线程优先级的方法、终端及计算机可读存储介质 |
| US12112193B2 (en) * | 2021-10-29 | 2024-10-08 | Blackberry Limited | Thread state transitions |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9024706D0 (en) * | 1990-11-14 | 1991-01-02 | Ferguson Ltd | Television receiver including pip processor |
| DE4104365C1 (ja) * | 1991-02-13 | 1992-03-05 | Siemens Ag, 8000 Muenchen, De | |
| US5333319A (en) * | 1992-03-02 | 1994-07-26 | International Business Machines Corporation | Virtual storage data processor with enhanced dispatching priority allocation of CPU resources |
| US6029190A (en) * | 1997-09-24 | 2000-02-22 | Sony Corporation | Read lock and write lock management system based upon mutex and semaphore availability |
| US6587955B1 (en) * | 1999-02-26 | 2003-07-01 | Sun Microsystems, Inc. | Real time synchronization in multi-threaded computer systems |
| US6874144B1 (en) * | 1999-04-05 | 2005-03-29 | International Business Machines Corporation | System, method, and program for implementing priority inheritance in an operating system |
| CN2377780Y (zh) * | 1999-04-09 | 2000-05-10 | 南京大学 | 一种机顶盒 |
| US6308245B1 (en) * | 1999-05-13 | 2001-10-23 | International Business Machines Corporation | Adaptive, time-based synchronization mechanism for an integrated posix file system |
| US6904483B2 (en) * | 2001-03-20 | 2005-06-07 | Wind River Systems, Inc. | System and method for priority inheritance |
-
2002
- 2002-12-19 JP JP2003562785A patent/JP4170227B2/ja not_active Expired - Fee Related
- 2002-12-19 CN CNB028274814A patent/CN1327347C/zh not_active Expired - Fee Related
- 2002-12-19 WO PCT/IB2002/005632 patent/WO2003062988A2/en not_active Ceased
- 2002-12-19 EP EP02790617A patent/EP1497726A2/en not_active Ceased
- 2002-12-19 US US10/502,144 patent/US20050125789A1/en not_active Abandoned
- 2002-12-19 KR KR10-2004-7011475A patent/KR20040075960A/ko not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| KR20040075960A (ko) | 2004-08-30 |
| EP1497726A2 (en) | 2005-01-19 |
| WO2003062988A3 (en) | 2004-11-04 |
| CN1615472A (zh) | 2005-05-11 |
| US20050125789A1 (en) | 2005-06-09 |
| CN1327347C (zh) | 2007-07-18 |
| JP2005516281A (ja) | 2005-06-02 |
| WO2003062988A2 (en) | 2003-07-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4170227B2 (ja) | 多重処理環境における処理の実行 | |
| US6772153B1 (en) | Method and apparatus to provide concurrency control over objects without atomic operations on non-shared objects | |
| US20040117793A1 (en) | Operating system architecture employing synchronous tasks | |
| US20070169123A1 (en) | Lock-Free Dual Queue with Condition Synchronization and Time-Outs | |
| JP2009294712A (ja) | 優先度制御装置及び優先度制御方法 | |
| JPH07191944A (ja) | 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法 | |
| US8413163B2 (en) | Program control device including per-timeslot switching of thread execution | |
| WO2009113381A1 (ja) | マルチプロセッサシステム、マルチプロセッサシステムのos間デバイス共有方法 | |
| JP2010140290A (ja) | マルチプロセッサシステム及びその排他制御の調停方法 | |
| US20020178208A1 (en) | Priority inversion in computer system supporting multiple processes | |
| US6721948B1 (en) | Method for managing shared tasks in a multi-tasking data processing system | |
| EP0715732B1 (en) | Method and system for protecting shared code and data in a multitasking operating system | |
| JP2004213628A (ja) | リソース・コンテンションを管理するための方法および装置 | |
| JP2000132529A (ja) | 並列処理装置、並列処理方法および記録媒体 | |
| US6507861B1 (en) | System and method for avoiding deadlock in a non-preemptive multi-threaded application running in a non-preemptive multi-tasking environment | |
| JP2006146758A (ja) | コンピュータシステム | |
| JPS6321941B2 (ja) | ||
| JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
| US20130290584A1 (en) | Sequence-based process locking | |
| JPH0877039A (ja) | テスト方法 | |
| JPS6336545B2 (ja) | ||
| CN114327828B (zh) | 一种共享数据的无锁并发访问方法、装置、设备及介质 | |
| CN121187791B (zh) | 基于多核CPU的Linux用户态下保证硬实时的方法 | |
| JP4984153B2 (ja) | 実時間タスクにおけるブロック回避方法 | |
| JP2000276360A (ja) | タスクスケジューリング方法及び装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051216 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071106 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080206 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080214 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080502 |
|
| 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: 20080708 |
|
| 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: 20080806 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |