①スレッドを実現するためには、スレッドリストの構造が必要。
スレッドはリストに登録され、その順番にスレッドがscheduleされて、レジスタにスレッド固有の内容が反映されdispatchされる。

②スタートスレッド
スレッドリストを作るための処理が必要でそれがスタートスレッドで実施される。
起動の最初の処理として、まずスタートスレッドをスレッド登録し無理やりディスパッチする。
それというのもKOZOSの設計はスレッドからシステムコールを実施することができる設計になっているから。
ロケットが衛星軌道に達するためには多段式でないとだめなようなのだが、打ち上げ台がbootloaderで第一ロケットがスタートスレッドで途中で切り離され、コマンドスレッドが衛星軌道で活躍するようなイメージかな。

③システムコール
システムコールを実施するときはソフトウェア割込みを実施する。
システムコールを実施する理由は2種類用意されていてスレッドを登録するためのRUNとスレッドを終了させるためのEXIT。
その処理が終了するのを契機にスレッドリストに登録されている次のスレッドを選択し動作させる。
いわばシステムコールはスレッド切替の1つのタイミングになっている。