コンテキスト_(計算機科学)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > コンテキスト_(計算機科学)の意味・解説 

コンテキスト (計算機科学)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/05/05 10:20 UTC 版)

コンピュータおよび計算機科学におけるコンテキスト: context)とは、何らかのタスクプロセススレッド、またはファイバー)によって使用されるデータの最小セットである。英語のcontextは文脈や状況といった意味を持ち[1]、タスクの状態(ステート)の集合を表すためにコンテキストという概念が用いられる。

概要

複数のタスクが同時並行的に動作するマルチタスク環境では、1つのタスクのみに計算資源CPU)を占有させることはできず、短時間でタスクを切り替えながら(プロセッサ時間を割り当てながら)少しずつ実行する必要がある。オペレーティングシステム (OS) がタスクを中断する場合、タスクが再開された際に中断箇所からタスクを継続するため、プロセッサが実行中のタスクの内容(プログラムの実行状態)を保存しておく必要がある。この保存される一連の情報がコンテキストである[2]。タスクの割り込みが発生すると、OSはタスクを中断してプロセッサのコンテキストを保存し、割り込みハンドラ(interrupt service routine: ISR)が動作する。したがって、コンテキストが小さいほど、タスク切り替え(コンテキストスイッチ)のレイテンシ(遅延)はより小さくなる。

コンテキストのデータは、プロセッサレジスタ、タスクによって使用されるメモリ、またはタスクを管理するためにOSが使用する制御レジスタ内に配置されることがある。

ストレージメモリ(タスクで使用されるファイル)は、コンテキストスイッチの場合は「タスクコンテキスト」にとって重要ではない。

プロセッサ自身がコンテキストスイッチの仕組みをハードウェアによって実装していることもあるが、大規模な汎用OSの場合、一般的にはこの仕組みを使わず、OS側が制御する[3]

ソフトウェアレベル

OSやデバイスドライバーが管理するプロセッサ状態のようなハードウェアレベルの情報に限らず、各種APIなど、アプリケーションソフトウェアレベルの抽象化された状態情報に関しても、コンテキストという概念が使われることがある。以下はその例である。

  • Microsoft WindowsGDIおよびDirect3D/Direct2Dには「デバイスコンテキスト」の概念があり、グラフィックスオブジェクト集合の保持、グラフィックスパイプラインステートの設定、描画命令の発行などを担当する[4][5][6]
  • OpenGLには「OpenGLコンテキスト」の概念があり、OpenGLインスタンスに関連付けられたステートを保持する[7]。WindowsのWGLでは「レンダリングコンテキスト」とも呼ばれ、すべてのOpenGL命令を通過させるポートの役割を果たす[8]。OpenGL呼び出しを実行するスレッドはカレントコンテキストを持つ必要があり、スレッドローカルストレージの変数により保持される。
  • macOS/iOSQuartz 2D(Core Graphics)には、描画パラメータや描画に必要なデバイス固有の情報を保持・管理する「グラフィックスコンテキスト」を表現するクラスとしてCGContextがある[9]
  • Androidには、アプリケーション環境に関する情報にアクセスするための抽象クラスとしてandroid.content.Contextがある[10]
  • .NETには、論理的な実行スレッドに関する情報を格納するコンテナとして「実行コンテキスト」ExecutionContextがある[11].NET Frameworkでは、実行コンテキストはセキュリティコンテキスト、呼び出しコンテキスト、同期コンテキストを含んでいる。

脚注

関連項目

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  コンテキスト_(計算機科学)のページへのリンク

辞書ショートカット

すべての辞書の索引

「コンテキスト_(計算機科学)」の関連用語

コンテキスト_(計算機科学)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



コンテキスト_(計算機科学)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのコンテキスト (計算機科学) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS