Task state segment
TR(タスクレジスタ)は16ビットのレジスタでTSSディスクリプタのセグメントセレクタを保持する。これは特権命令であるLTR命令を使用して行われる。LTR命令を実行しても初期タスクのTSSを指定するだけで、ハードウェアタスクスイッチは起こらない。
80286以降のCPUでは、タスクがI/Oポートアクセス命令(IN, OUTなど)を実行したとき、CPUはフラグレジスタのIOPL(I/O privilege level)とタスクの特権レベルであるCPL(Current privilege level) を比較し、CPLのほうが特権が高いか同じであればすべてのI/Oポートアクセスが許可される。CPLがIOPLより特権が低い場合は、すべてのI/Oポートアクセスは許可されない。
80386以降ではTSSが拡張され、I/O許可ビットマップがTSSに追加された。このビットマップは、オペレーティングシステムにより設定され、どのI/Oポートがアクセス可能かを指定する。CPLのほうがIOPLより特権が高いか同じであればすべてのI/Oポートアクセスが許可される。CPLがIOPLより特権が低い場合、CPUはI/O許可ビットマップをチェックし、アクセスしようとしているI/Oポートのビットが0であればそのI/Oポートのアクセスは許可される。ビットが1であればそのポートへのアクセスはできず、一般保護例外が発生する。この機能により、オペレーティングシステムはタスクに対してI/Oポートごとにアクセス権を制限することができる。