タイトルMac OS 9やMac OS Xでのスレッドのアーキテクチャを解説した文書が掲載カテゴリーTechnote, Mac OS X, Mac OS 9
作成日2001/8/9 17:17:8作成者新居雅行
Technical Noteに、Mac OSでのスレッドのアーキテクチャを解説した文書が掲載されている。Mac OS 9およびMac OS Xのいずれもカバーしており、全体的な概略が理解できるだろう。Mac OS 9では、Thread Managerを使うものと、nanokernelベースのMP Taskの2種類がある。Mac OS 9でのプロセスについての動作が非常に詳しく掲載されており、通常の場合とMT Taskが稼動している場合での説明がある。Mac OS Xには5つのスレッドのAPIが用意されている。Machのスレッドがシステムの一番奥深いレベルで、その上位レイヤにPOSIXのスレッド(pthreads)、さらにその上位にCocoaのスレッド(NSThreads)がある。また、CarbonのMP TaskやThread Maanagerは、いずれもpthreadsの上位レイヤで稼動している。これらのどれを選択するべきかといったことや、スレッドの動作、APIを混合して使う場合の注意などが記載されている。CarbonでのI/Oレベルの割り込みに、Mac OS Xではスレッドが使われるなどの動作上の違いについても記載されている。
(スレッド:マルチタスクを実現するためのOSが提供する機能。たとえば、1つのアプリケーションの中で、複数の処理を並行的に稼動させる場合、プロセスを「スレッド」として生成して実行させる。複雑なマルチタスク処理でも、スレッド関連のAPIを利用すると、一般には非常に簡単に並行的に動作する複数のプロセスを稼動させることができる。その意味ではスレッドは、プログラミング上の手法だとも言えるだろう。)
関連リンクTN2028: Threading Architectures