[PREV] [NEXT] [INDEX]

【3】J3Wの動作

J3Wはプログラム(拡張子がJ3Dのアセンブラ出力)を読み込み,スター トボタンで実行を開始すると,起動時にプロセスを1つだけ生成し,そのプ ロセス(デフォルトプロセスと呼ぶ)に制御を渡します. デフォルトプロセ スはプログラムを先頭から順に実行します. デフォルトプロセスが DELPRC, STPALL などのプロセスを消滅させる命令に達したら,そのプログラムは終 了します. J3W自身は終了せず,次のプログラムを読み込んで,再度実行さ せることができます. (Linux版では終了します. )

デフォルトプロセスが別のプロセスを生成する命令を実行した場合,シス テム内には複数のプロセスが同時に存在して,それぞれ独立して命令を実 行します. 新しいプロセスは,どのプロセスが生成しても生成元のプロセ スとは関係なく独立して動作します. ただし生成されるプロセスは,生成 したプロセスのレジスタをコピーした状態で実行を開始します.

プロセスの生成は,新規のプロセスのデ-タメモリのサイズとそのプロセ スが実行を開始する命令のアドレスを指定することで行います.

デフォルトプロセスを含めて,プロセス群はそれぞれ同じ優先順位で実行 されます. プロセスは自分自身で消滅し,すべてのプロセスがなくなると, プログラムの実行も終了します. デフォルトプロセスが消滅しても他に動 作中のプロセスが存在する場合にはプログラムは終了しません.

プロセスは「物体」を生成し,形状を設定し,動作させることができます. プロセスが「物体」を1つだけ所有する形となります.


システム内には「物体」を所有する複数のプロセスと「物体」を持たない 複数のプロセスが存在することが可能です.

各プロセスはそれぞれ別のCPUとデータメモリを使って実行されます. 各プロセスが実行しているオブジェクトファイル(プログラム)の命令は 共有されます. つまり1つのプログラムを複数のプロセスが実行します. 通常,プロセスを初期化する場合などは,プログラム中でプロセス別に異 なるコード用意し,そこをを実行しますが,プロセスが同じ処理を必要と する場合は,同じコードを実行する事も可能です.

ある瞬間にプロセスが実行している命令は同じ位置の場合も,異なる場合 もあります(異なる場合が普通でしょう).


[PREV] [NEXT] [INDEX]
ご意見・ご感想は,水谷 純 <mizutani.jun@nifty.ne.jp>まで.