ポストPC時代のキーワード「エンベデッド」のすべて ――転換点はカー・ナビゲーション・システム

今村義幸

tag: 組み込み

技術解説 2001年5月17日

●タイム・シェアリングとプリエンプティブの違い

 ソフトウェアを並行処理させる方法には,時分割で処理するタイム・シェアリング(時分割)方式と,優先度を考慮したプリエンプティブ(割り込み優先権)方式がある(図2)

 高価なコンピュータ資源をなるべく多くの人がストレスなく使えるようにしたのがタイム・シェアリング方式である.また,より優先度の高い処理を優先的に処理して空いている時間に優先度の低い処理を行うのがプリエンプティブ方式である(図3).両者とも複数の処理をどのような手順で処理していくかという基本概念である.制御用では,とくに後者が好んで採用された.

 リアルタイムOSではプリエンプティブ方式が基本的なタスクのスケジューリング方式となる.ただし,同一優先度の複数タスクにおいて,明示的にタイム・シェアリングで処理することも可能である.この場合,明示的に同一優先度に複数のタスクを割り当てるため,大型コンピュータのようにストレスなく複数の人がCPUタイムをシェアすることと意味が違い,あくまで全体のタスク構成の中で,そのほうが実装面
で有利な場合に使われる.

f02_01.gif
〔図2〕マルチタスク・プログラムとシーケンシャル・プログラムの違い
マルチタスク・プログラムは,(1)プログラムをタスクに分割,(2)各タスクは並列的に動作,(3)各タスクは優先度を持つ,(4)各タスク間で通信や同期も必要に応じて行っている.並行処理や外部からの割り込みに応答するようなプログラムに最適である.シーケンシャル・プログラムは,一つの処理を順番に逐次処理を行っており,小型プログラムに適している.また逐次処理で演算を行う科学技術計算に最適である.

f03_01.gif
〔図3〕タイムシェアリングとプリエンプティブの違い
タイムシェアリング処理では,各プロセスに均等なCPU時間を割り当てて実行していく.プリエンティブ処理では,優先度に基づいて,実行条件が成立した処理から実行していく.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日