TSSディスクリプタ Edit

目次 Edit

TSSディスクリプタとは Edit

TSSを指すディスクリプタ。
セグメント・ディスクリプタの一種。

GDTにのみ入れることができ、IDTLDTには入れられない。

TSSディスクリプタの構造 Edit

セグメント・ディスクリプタとほぼ同じ内容なので、そちらも参考にしてください。

0x0f0x0e0x0d0x0c0x0b0x0a0x090x080x070x060x050x040x030x020x010x00
Limit[15-0]0x00000x0000
Base[15-0]0x0002
PDPLS:0TypeBase[23-16]0x00040x0004
Base[31-24]G予約AVLLimit[19-16]0x0006

Limit : セグメント・リミット(Byte:0,1,6[bit:0-3]) Edit

セグメントのサイズを指定する。全20bit構成。
グラニュラリティフラグによって、解釈が変わる。

Base : セグメントのベースアドレス(Byte:2-4,7) Edit

セグメントの開始リニアアドレスで、全32bit構成。
ここがこのセグメントの0Byte目になる部分。
ベースアドレスを16Byte境界にアライメントすることで、最大の能力を発揮する。

Type : セグメント・タイプ(Byte:5[bit:0-3]) Edit

4bit構成で、セグメントの種類を指定します。

TSSディスクリプタに関するタイプは以下の4つです。

Byte:5説明
Hex3210
0x01000116ビットTSS(使用可能)
0x03001116ビットTSS(ビジー)
0x09100132ビットTSS(使用可能)
0x0b101132ビットTSS(ビジー)

S : ディスクリプタ・タイプ(Byte:5[bit:4]) Edit

システム・セグメントか、コード、データ・セグメントかを指定する。

DPL : ディスクリプタの特権レベル(Byte:5[bit:5,6]) Edit

セグメントの特権レベルを0~3で指定する。
特権レベルを参照。

P : セグメント存在フラグ(Byte:5[bit:7]) Edit

  • 0:セグメントがメモリ上に存在しないことを表す。
  • 1:セグメントがメモリ上に存在することを表す。

AVL(Available) : 自由利用可(Byte:6[bit:4]) Edit

システムソフトウェアが、何かの用途で自由に使用可能。

G : グラニュラリティフラグ(Byte:6[bit:7]) Edit

  • 0:セグメント・リミットをバイト単位で解釈する。
  • 1:セグメント・リミットをページ単位(4KiB)で解釈する。

グラニュラリティ(Granularity)は、粒度、細かさなどの意味。

関連リンク Edit


Since 2008 July. OS Project Wiki
リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS