僕の抱いている野望(追加版)

(OSASK計画)

− 僕がいつか実現させたいと思っているOSの話 −
ここでは、視点を変えて説明を試みています。



目次

概容/あらすじ
OS本体について
目指している状態
計画


概容/あらすじ
 一言でいえば、もっと快適で使いやすいOSを作って、そのOS上でエミュ
レーターを使ってほとんどのソフトウェアを動作させようという試みです



OS本体について
 OSASKはカーネルがコンパクトなOSで、初期バージョンからマルチタス
ク/マルチユーザーをサポートし、仮想記憶にも対応します。将来のバー
ジョンでは、ネットワークに対応することを予定しています。

 カーネル及び各種のシステムルーチンはパーツ化されており、パーツご
とにバージョンアップ・組み合わせが可能なため、柔軟なシステム構築が
できます。さらにソース/データー構造は全て公開し、OSはフリーソフト
(ただし、寄付は歓迎します)にするつもりです。もし、使っていて気に
入らない部分があれば、その部分だけを作り直すことでOS全体を生まれ変
わらせることができます。そのパーツを公開して下さるなら、川合堂では
普及を全面的にサポートします。

 OSASKではシステムにウイルスが侵入しない限り、システムがウイルス
に感染することはありません。各アプリケーションは完全に独立している
ためです。またシステムにウイルス/バグがないことは、公開されたソー
スをチェックすることで実現します。もしあなたが一流のプログラマーで
この計画に賛同してくださるなら、是非公開されたソースをパーツごとに
読んでチェックして下さい。そして、問題点の有無とお名前(ハンドル名
でも構いません)をメールでお知らせ下さい。そうして下されば、我々は
その内容を川合堂ホームページで公開します。・・・ユーザーはダウンロ
ードの際に、この信頼性チェックの報告を参照することで、そのパーツを
利用するかしないかを選択できます。我々はこのようにしてOSASKの信頼
性を維持したいと考えています。

 OSASKの開発コンセプトの基本は、高速性です。高速化のためにはアプ
リの機種依存も辞しません。OSのカーネルが担うことは、安定性と高速化
のための処理の分業であり、互換性は上位に位置するエミュレーターで解
決します。もちろん、高速性を要求しないアプリケーションなどは機種に
依存しないで書くことは可能で、その場合はエミュレーターがなくとも実
行できます。このため、OSの各パーツも汎用性を追求するだけでは良いと
はいえず、充分な高速性が期待されます。実際、僕が作るコードは高速性
を追求したいと思います。

 ユーザーインターフェイスについては、キャラクターベースのものと、
グラフィカルなものを考えています。しかし、この辺は個人によってもっ
とも好みが厳しいところです。ですから、多くのユーザーはシェルを自分
で作ると思われます。したがって多くのシェルが存在し、それを選んで使
えるようになります。


目指している状態
 OSASKが目指しているのは、世の中の全てのソフトウェアが、対応機種
や対応アプリケーションを気にすることなく、実行できる環境です。そし
て、それは充分に高速でなくてはなりません。

 まず、ハードウェア的に読み込みが可能である限り、メディアのフォー
マットを意識しないでアクセスできるようにします。例えば、MS-DOSフォ
ーマットのディスクを入れても、MacOSフォーマットのディスクを入れて
も、ワープロ専用機のディスクを入れても、ドライバが自動的にフォーマ
ットを認識しアクセスします。ユーザーはそのフォーマット状態を特に気
にする必要はありません(もちろん、どのフォーマットになっているかを
知ることもできますし、フォーマットを指定してメディアを初期化するこ
ともできます)。

 次にエミュレーターを各種取りそろえ、アプリケーションの対応機種、
対応OSに応じて起動するようにしておきます。ですから、結局ユーザーは
何も考えずにアプリケーションのディスクを入れて、そこに出てきたアイ
コンをクリックすれば、いきなり起動するわけです。もちろん、最初はシ
ェルがそのアプリケーションの対応機種や対応OSを特定できないかもしれ
ません。そのときは、ちょっと設定することになるかもしれませんが、で
もそれも最初だけです。その後には、とても快適な環境が実現するでしょ
う。

 現在、実現させたいと思っているのは、以下のエミュレーターです。AT
互換機エミュレーター、TOWNSエミュレーター、98エミュレーター、MSX、
ファミコン、8801、FM-7、などなどなど・・・。特に機種を選ばずにOSレ
ベルで実現させたいのは、Win95エミュレーター、MacOSエミュレーター、
UNIXエミュレーターなどです。エミュレーターなのですから、実機よりも
高度な機能を盛り込むことは容易です。任意の時点で全状態を保存して、
それを後日再開することもできますし、ハードディスク上に作ったディス
クイメージで、フロッピーディスクをサポートする事もできます。キー配
置は自由に変更できますし、実行画面を保存することもできます。BGMだ
けを抽出することもできるでしょう。

 そのエミュレーターの分を差し引いても、我々プログラマーにとっては
便利な環境が実現します。どんなに暴走してもダウンしないシステム、気
に入らなければ改造してしまえばいいシェル。カーネルだって機能ごとに
差し替えが可能であり、デバドラも書き直したければ書き直せばいい。エ
ミュレーターの事も考えれば、機種に依存して書くことはもはや悪いこと
ではなくなるし、特定の機種でしか使えなかった言語も使えます。エミュ
レーターはある時は究極のデバッガとしても機能するかもしれません。そ
して、それらの環境はコンパクトで高速で、そして安価に手に入れられる
・・・。


計画
 以上のような大きなソフトウェアを僕一人で成し遂げようなどとは思っ
ておりません。どうしても、みなさまのお手を貸していただかねばなりま
せん。僕は、以下のような計画でこの大事を成し遂げようと考えておりま
す。

 まず、僕はOSASKのカーネルを書きます。これは、i386ファミリーで走
るようにしておきます(予定ではPentium用に最適化します)。このカー
ネルを、FM-TOWNSで起動できるようにします。FM-TOWNSを選んだ理由は、
手元に充分な資料が揃っているからです。これは、1997年12月頃を目指し
ています。

 そのあと、i386ファミリーエミュレーターを作ります。これは、簡単に
いえばi386ファミリーマシンでi386ファミリーマシンのエミュレートを行
う際に必要なルーチンをまとめたもので、これさえあれば、あとはハード
ウェアのサポートルーチンを作るだけになります。これで、エミュレータ
ーの製作効率は向上します。サンプルとして、TOWNS用のTOWNSエミュレー
ターやTOWNS用の98エミュレーターを製作する予定です。これは1998年6月
頃を目指しています。

 ここまで来たら、OSASKカーネルをAT互換機用に移植します。AT互換機
では多くのハードウェアが存在し、その全てに対応させることは難しいこ
とです。ですから、自分のマシンに関係するものや、メジャーなものや資
料が入手できたものが優先されます。それに合わせて、TOWNSエミュレー
ターや98エミュレーターも移植され、ATエミュレーターも製作されます。
この時期は未定です。そして、このころからみなさまのご協力が得られる
よう、ホームページなどで積極的な広報活動を展開する予定です。そして
この計画に賛同された方は、自分の欲しい機能をこのOSに追加していって
下さい。

 その後は、僕はMC680x0系列のエミュレーターや、PowerPC、Z80、MC6
800系のエミュレーターを書いたり、シェルの設計に手を出したり、カー
ネルの見直しをしたりすると思います。PowerPC系へのカーネルの移植も
やるかもしれません。そして、少しでも多くの環境をサポートするために
、開発を続けていくことでしょう。

− 概略 − (ただし、予定通りに行くかどうか・・・)
1997年08月川合秀実の大学院入試のため、開発中断
1997年09月PAPI(カーネルの一部)の製作
1997年10月MAPI(カーネルの一部)の製作
1997年11月TAPI(カーネルの一部)の製作
1997年12月TOWNS版カーネルの製作
以後並行してこのカーネルを元に環境を整備
1998年01月

1998年03月
i386ファミリーエミュレーターの製作
1998年04月

1998年06月
OSASK用TOWNSエミュレーター製作
期日未定AT互換機版カーネルの製作
OSASK用98エミュレーター製作


このページに関するお問い合わせは川合秀実(kawai@osask.jp)まで
総目次へ戻る