残るステップもあと2つとなりました. このステップではスレッドの導入を行い, 最後のステップではスレッド間で排他制御に使用されるミューテックスの説明を行います. スレッドに関するステップが最後に2つ続きます. スレッドの説明に必要な用語としてプロセスという用語があります. 本ドキュメントで使用するタスクという用語と合わせて少し整理したいと思います.
- プロセス 保護された(=他プロセスからアクセスできない)アドレス空間と少なくとも1つの実行単位で構成される kernel の管理単位 特に実行単位が1つの場合, スレッドと対比する意味でプロセスと呼ばれることがある
- スレッド プロセス内の実行単位 同じプロセス内で複数実行可能 同じプロセス内に複数の実行単位が存在する場合マルチスレッドと呼ばれることがある
- タスク 実行の単位 本ドキュメントでの用語
上の説明ではよくわからないと思いますので本ドキュメントの用語を使用して実装寄りにかみ砕きます.
- プロセス 独立した PTE とタスク構造体
- スレッド 独立あるいは共有の PTE とタスク構造体 マルチスレッドは PTE を共有する複数のタスク構造体
- タスク タスク構造体 前置きが長くなりましたがこのステップでは同じプロセス内に複数のスレッド(=マルチスレッド)を実行させる環境を構築します.