00-01.プロジェクトOSとは何か?
このドキュメントを進める前に、ちょっと昔話をします。
時は1990年ころ、NECのマシンに
PC98という名機がありました。いわゆる
パソコンブームの火付け役になったマシンです。
16ビットのマシンでCPUはインテルの
80868018680286を積んでました。
そのころ、僕はパソコンショップをやっていて、
PC98本体とそのソフトウェアをメインに販売していました。
本体は結構高く30万から40万くらいしてたんです。僕のパソコンショップではほかの安売り店とは戦えず、あんまり本体は売れませんでしたが、ソフトは結構売れました。ワープロの
一太郎とか表計算の
Lotus123とか。
そのころ
PC98のOSは
MS-DOSが主流でした。あのビル君が作った
ディスクOSで、フロッピーで起動します。
MS-DOSのフロッピーディスクをマシンに挿入して電源を入れると
ピコッと音がして起動します。
起動すると
コマンドプロンプトが出るので、
一太郎とかを起動します。
そしてそれらの
真面目なソフトに比べ、とにかくよく売れたのが
ゲームソフトです。
信長の野望とか
三国志とか、
大戦略とか、あと成人向けのゲームも山ほどありました。今をときめく
ソフトバンクさんも、実はそのころは
パソコンソフトの問屋さんでした。僕のショップもソフトバンクから仕入れてました。
そのころのゲームソフトはMS-DOSを必要とするものもありましたが、そうではなくて、ゲームのフロッピーを入れて起動すると、いきなりゲームが始まるのも多数ありました。つまり、ゲームにOSがついていたんですね。
で、僕は
PC98ゲームソフトを売るかたわら、店番しながら、
MSC(マイクロソフトC)というVisualC++の元になるコンパイラと、
MASM(マイクロソフトのアセンブラ)を入手して、もっぱら、PC98のVRAMに直接画像を書き込んだり、ブロックくずしのようなしょーもないゲームを作ったりしてました。
ゲームをプレイしてもみたのですが、どうも、僕自身ゲームを遊ぶのには向いてないらしく、ただの1つも攻略できませんでした。なので、もっぱら、PC98プログラミング、で暇つぶしをしてました。
なんで、こんな話から始まったのかというと、今、このような
シングルタスク、シングルユーザーなOSは、存在しないなあ、と思ったのです。
WindowsにせよLinuxにせよ、複数のアプリケーションを同時に動かします。パソコンのハードウェア資産は、複数のアプリやユーザーで共有するわけです。現在のハイスペックなハードウェアだからこそなしえることです。
ですが、あえて、この強力なハードウェアを独占出来たらどうでしょう。
ハイスペックなCPU、装着されている大量のメモリ、そして3D環境でガンガン動く、アクセラレータ。
これらを、1つのアプリで独占できたら、どんなに素晴らしいか?
というわけで、
シングルタスク、シングルユーザー、シングルアプリのOSを作成してみたい、と思ったのです。
これから挑戦するOSは以下の基本仕様とします。
1、USBから起動するOSである。
2、起動後、唯一のアプリケーションを動かす。
3、そのアプリはできるだけ多くのハードウェア資産を独占できる。
それでは、早速、開発環境の構築からやっていきましょう。
2019年秋 WiZ非常勤講師(C/C++担当) 山ノ井靖