|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana)
コールゲートはx86 アーキテクチャのCPUに搭載されたセキュリティ機構である。CALL命令による呼び出しで上位の特権レベルのコードをあらかじめ登録されたものに限って実行することができる。 == 動作 == このような上位の特権レベルのコードを実行するための仕組みは、ユーザアプリケーションからのカーネルのファンクションやシステムコールの呼び出しをOSが制御することができるので、メモリ保護を行う現在のOSに必須のメカニズムである。 コールゲートを使った呼び出しでは、GDT (Global Descriptor Table) や LDT (Local Descriptor Table) にある特権障壁を越える呼び出しに必要な情報が記載されている特別なエントリを指すセレクタを使用する。 ソフトウェア割り込みと似たようなメカニズムである。 ユーザプログラムからコールゲートを使ってカーネルの機能を利用する場合、CALL FAR (LCALL) 命令に呼び出したい関数のコールゲートをセグメントセレクタに指定して実行するだけでよい (オフセット指定は無視される)。 コールゲートエントリのチェックと呼び出す権限の有無を確かめられた後、CS/EIP がセグメントデスクリプタから読み出され、呼び出し側の継続が新しいスタックに積まれる。(呼び出し側のSS, ESP, CS, EIPが順に積まれる) 必要な引数も呼び出し側の(低い権限の)スタックから呼ばれた側の(高い権限の)スタックにコピーされる。コピーする引数の数はコールゲートのセグメントデスクリプタで指定されている。 カーネルプログラムからはRET FAR (LRET)によって元の権限レベルに戻る。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「コールゲート」の詳細全文を読む スポンサード リンク
|