ATTEMPT-1 モニタ


ATTEMPT-1 モニタとはどんなテーマなの?

現在、ATTEMPTグループでは可変構 造並列計算機テストベッドATTEMPT-1の実装を行っています。プロトタイプの プロセッサボード既に実装されており、単体で動作可能な状態になっています。 ただ、計算機はハードウェアだけでは動作しません。ハードウェアとソフトウェ アがそろって初めて計算機として動作するようになります。現在のATTEMPT-1 にはまだソフトウェアがが実装されていないのです。
そのソフトウェアの中でも最もハードウェアに近い部分となるのがモニタです。 モニタは計算機の電源投入直後から動作を開始し、プロセッサの初期化、メモ リのチェック、デバイスの初期化や動作テストなどを行います。一通りの初期 化が終わると、プログラムのロードなどを行います。
ATTEMPT-1の実装と並行し、SEDグループではATTEMPT-1モニタの実装を行って います。このモニタはATTEMPT-1の持つデバイスを直接操作するプログラム部 分を担当しているため、それぞれのデバイスに対する操作方法を熟知した上で 実装しなければなりません。また、起動時に動作する部分などは``生''の状態 の計算機を使うことになるため、モニタの一部はアセンブラで記述する必要が あります。

現在の状況は?

ATTEMPT-1上でプログラムを実行できる環境として、ATTEMPT-1上に ATTEMPT-1モニタシステム、ワークステーション上に汎用並列計算機モニタシ ステムPotを開発しました。この環境により、ワークステーション上からネッ トワーク経由でアプリケーションプログラムをATTEMPT-1上で実行することが できるようになっています。しかし、アプリケーションプログラムの開発には、ロー カルメモリと共有メモリ、使用するプロセッサ数を意識しなければならなりません。こ れはATTEMPT-1に特有の概念であって、一般的であるとは言えずプログラムの開発 環境として十分であるとはいえません。マルチスレッドプログラミング等、機種 依存がなくユーザアプリケーションが開発可能な環境が望まれています。また、単一科学技術計算の高速実行を目的とする ATTEMPT-1はオペレーティングシステムにより、ユーザアプリケーションの性能 の低下を抑えるために、マイクロカーネルによる並列オペレーティングシステム が必要になります。
そこでSEDグループではマルチスレッドプログラミングをサポートするカーネル実装の 足掛かりとしてATTEMPT-1単一ボード上で標準入出力を行なうCのプログラムをユー ザプロセスで動作させることを目標して、それを達成するために、システムコー ルによるファイル入出力、カーネルモードとユーザモードの切り替え機構、ユー ザメモリ空間管理機構の実装を行ないました。

今後の課題は?

  1. 本格的なメモリ管理機能
  2. プロセス管理
  3. マルチスレッドのプログラミングをサポートする
  4. マイクロカーネル化
  5. 複数ボードによる並列OS化
  6. etc