概容/あらすじ |
---|
一言でいえば、もっと快適で使いやすい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エミュレーター製作 |