ページへ戻る
印刷
第二世代OSASKについて
をテンプレートにして作成 ::
OSASK計画
osaskwiki
:第二世代OSASKについて をテンプレートにして作成
開始行:
TITLE:x
*第二世代OSASKとは?
ものすごく簡単に言えば、ほぼゼロから新しく興しなおす。第...
-第一世代OSASKとは?
--2000年5月頃から川合秀実氏が発表を続けていた独自OS。2004...
COLOR(blue){''※''以下、上記第一世代OSASKを第一世代、第二...
**なぜ作り直すのか
-ことの経緯は第一世代の Ver.4.8(試作。一般公開はなし)に...
-この頃はKHBIOS、はりぼてOSが作くられていた。特にはりぼて...
-川合氏曰く、これらを作るために猛烈に新しい技術等を勉強し...
-さてはりぼても無事完成。ひさしぶりに第一世代のソースを眺...
-・・・で! それら新しい技術で試しにいくつかのAPIやツー...
-「こりゃばかばかしい。これで最初から作っちゃったほうがい...
-で、手元にある改良が容易なはりぼてOSにAPIをどんどん乗せ...
-そんなわけで、はりぼてを土台にした第二世代の試作が形にな...
-COLOR(blue){もっとも改良しすぎてもうはりぼては見る影もな...
第一世代を建て増してゆくのに限界が出てきた。ヘタに手直し...
COLOR(green){''※''ただし。この第二世代は第一世代のように...
COLOR(blue){よく「OSASKはもう終わった」という発言がありま...
*作り直しによる成果
せっかく動いていた第一世代を事実上凍結してまで行った作り...
**アプリのサイズ:
まずは川合氏拘り(笑)のファイルサイズについてです。((この...
アプリの実行ファイルがコンパクトにできることを最優先に、...
川合氏にとって「人生の最高傑作」といっても恥ずかしくない...
-いくつかの例
--コンソール画面に「hello, world\n」と表示するアプリを、...
---アプリの先頭の2バイトは誤認防止用のシグネチャが入って...
---「hello, world\n」はそれだけで13バイトあります。アプリ...
---「hello, world\n」に特化したAPIを持つなどの卑怯なこと...
---(参考:DOSの.COMファイルで書くと22バイトになります)。
--コンソールに「 !"#$%&'() ... uvwxyz{|}~」と、キャラクタ...
---あったりまえですがこれは16bitアプリではなくもちろん32b...
---(参考:DOSの.COMファイルで書くと17バイトになります)。
--第二世代用のアプリにはcpy.g01というものがあり、これはフ...
>> usage>cpy.g01 [in:]input-file [[in:]inp...
---これの文字数を数えると、66文字あります。しかしながらこ...
---第一世代用のものでもとても小さいことがウリでしたが、第...
-誤解がありそうなので書いておきますが、ただアプリを縮める...
**アプリの互換性
第二世代~のアプリは他のOS上で実行可能!??
第一世代のアプリはQEMU等のエミュレータ無しではWindows上で...
しかし第二世代用のアプリはのエミュレータを使わずに''efg01...
-COLOR(Purple){efg01つーのが専用のエミュレータってところ...
-COLOR(blue){そんなふうに考えてもらっていいと思います。}
-COLOR(Purple){「なんだよQUMEがあるのにわざわざ独自エミュ...
-COLOR(blue){まぁそんなふうに考えることもできるでしょう。}
-なんでヘンな独自エミュ作るの?qumeでいいじゃん!
--まずは。圧倒的に小さい小さいってこと。QUME等はPC/ATが持...
他の独自OS(第一世代を含む)
ネイティブアプリ → 各種独自OS → QEMU → 実際のOS(Win・Lin...
efg01を使い、OSASK-HBアプリを実行~
ネイティブアプリ → eg01 → 実際のOS(Win・Linux・MacOSX等...
--これを見ただけでも無駄を大きく省いていることが解ると思...
***efg01は既にLinux用・MonaOS用・MEG-OS用もある
はりぼてOS用・第一世代用、その気になればTownsOS用やDOS汎...
基本的にx86用32bitOSであれば、ほとんど対応可能なはずです...
第二世代用(のAPIを利用した)アプリは単に機能密度が高いと...
-COLOR(purple){Javaでいいじゃんwww}
--Javaや.netというすばらしい先人がいます。これらはx86とい...
しかしその代償としてJavaや.netのランタイムは非常に大きく...
また第二世代用のアプリはx86ネイティブなので、JIT等が不要...
この「エミュレータなしで実行可能にする」を実現しようとす...
***バイナリのまま互換を保てることで生まれる可能性
-当然ですが、第一世代用に作ったアプリを他のOSで動かそうと...
-せっかく苦労してアプリを作ってもOSASKでしか動かない。ア...
-しかし第二世代用に作ったアプリはソース互換どころかefg01...
*実用性
COLOR(purple){APIがいくらもない物が小さくても当たり前だろ...
おっと。こう考える人もいるかもしれませんね。(現にまだま...
でもそう考えるのは早計ですよ。アナタが望むアプリはまだ作...
-例:nask
--第一世代(OSASK)や「はりぼてOS」の開発ツールの定番に、na...
--naskはwin32版で27,648というサイズで、x86用アセンブラと...
--このnaskはすでに第二世代用(efg01で動く)に移植が完了し...
--naskは決して多機能とは呼べない(GAS等のモンスター級に比...
--先のefg01を持っていれば、この小さくなったnaskもWindows...
--こんなに小さくなったのに・・・・
移植したのはnaskだけではありません。以下に代表的な例を挙...
・obj2bim 12,800 → 6,272 汎用リンカ
・gas2nask 11,155 → 4,559 gccの出力する...
・bim2hrb 4,096 → 384 「はりぼてOS」用...
・makefont 3,072 → 72 OSASKと「はりぼて...
これはある意味福音かもしれませんな。
実際に極初期のこれらのツールをLinuxに移植した時はすごく大...
(今は元の段階から他OSへの移植を考慮されているので技術的...
技術的なことはもちろんでしたがとにかく数が多い!
アレを移植して次にこれを移植して・・・
少なくともバイナリのままで動き、移植はefg01のみに集中でき...
*問題点は?
-残念ながら現時点ではGUIまわりのAPIが装備されていません。
-第二世代用のアプリケーションフォーマットやAPIは、残念な...
-ドキュメントやサンプル等、作ってみたい人へのフォローが貧...
*リンク
技術的な細部に興味があるひとは、とりあえず http://wiki.os...
第二世代の構想の最中、K氏によって書かれた文書郡
#ls2(GUIGUI01/)
----
#ls2(OSASK-HB/)
終了行:
TITLE:x
*第二世代OSASKとは?
ものすごく簡単に言えば、ほぼゼロから新しく興しなおす。第...
-第一世代OSASKとは?
--2000年5月頃から川合秀実氏が発表を続けていた独自OS。2004...
COLOR(blue){''※''以下、上記第一世代OSASKを第一世代、第二...
**なぜ作り直すのか
-ことの経緯は第一世代の Ver.4.8(試作。一般公開はなし)に...
-この頃はKHBIOS、はりぼてOSが作くられていた。特にはりぼて...
-川合氏曰く、これらを作るために猛烈に新しい技術等を勉強し...
-さてはりぼても無事完成。ひさしぶりに第一世代のソースを眺...
-・・・で! それら新しい技術で試しにいくつかのAPIやツー...
-「こりゃばかばかしい。これで最初から作っちゃったほうがい...
-で、手元にある改良が容易なはりぼてOSにAPIをどんどん乗せ...
-そんなわけで、はりぼてを土台にした第二世代の試作が形にな...
-COLOR(blue){もっとも改良しすぎてもうはりぼては見る影もな...
第一世代を建て増してゆくのに限界が出てきた。ヘタに手直し...
COLOR(green){''※''ただし。この第二世代は第一世代のように...
COLOR(blue){よく「OSASKはもう終わった」という発言がありま...
*作り直しによる成果
せっかく動いていた第一世代を事実上凍結してまで行った作り...
**アプリのサイズ:
まずは川合氏拘り(笑)のファイルサイズについてです。((この...
アプリの実行ファイルがコンパクトにできることを最優先に、...
川合氏にとって「人生の最高傑作」といっても恥ずかしくない...
-いくつかの例
--コンソール画面に「hello, world\n」と表示するアプリを、...
---アプリの先頭の2バイトは誤認防止用のシグネチャが入って...
---「hello, world\n」はそれだけで13バイトあります。アプリ...
---「hello, world\n」に特化したAPIを持つなどの卑怯なこと...
---(参考:DOSの.COMファイルで書くと22バイトになります)。
--コンソールに「 !"#$%&'() ... uvwxyz{|}~」と、キャラクタ...
---あったりまえですがこれは16bitアプリではなくもちろん32b...
---(参考:DOSの.COMファイルで書くと17バイトになります)。
--第二世代用のアプリにはcpy.g01というものがあり、これはフ...
>> usage>cpy.g01 [in:]input-file [[in:]inp...
---これの文字数を数えると、66文字あります。しかしながらこ...
---第一世代用のものでもとても小さいことがウリでしたが、第...
-誤解がありそうなので書いておきますが、ただアプリを縮める...
**アプリの互換性
第二世代~のアプリは他のOS上で実行可能!??
第一世代のアプリはQEMU等のエミュレータ無しではWindows上で...
しかし第二世代用のアプリはのエミュレータを使わずに''efg01...
-COLOR(Purple){efg01つーのが専用のエミュレータってところ...
-COLOR(blue){そんなふうに考えてもらっていいと思います。}
-COLOR(Purple){「なんだよQUMEがあるのにわざわざ独自エミュ...
-COLOR(blue){まぁそんなふうに考えることもできるでしょう。}
-なんでヘンな独自エミュ作るの?qumeでいいじゃん!
--まずは。圧倒的に小さい小さいってこと。QUME等はPC/ATが持...
他の独自OS(第一世代を含む)
ネイティブアプリ → 各種独自OS → QEMU → 実際のOS(Win・Lin...
efg01を使い、OSASK-HBアプリを実行~
ネイティブアプリ → eg01 → 実際のOS(Win・Linux・MacOSX等...
--これを見ただけでも無駄を大きく省いていることが解ると思...
***efg01は既にLinux用・MonaOS用・MEG-OS用もある
はりぼてOS用・第一世代用、その気になればTownsOS用やDOS汎...
基本的にx86用32bitOSであれば、ほとんど対応可能なはずです...
第二世代用(のAPIを利用した)アプリは単に機能密度が高いと...
-COLOR(purple){Javaでいいじゃんwww}
--Javaや.netというすばらしい先人がいます。これらはx86とい...
しかしその代償としてJavaや.netのランタイムは非常に大きく...
また第二世代用のアプリはx86ネイティブなので、JIT等が不要...
この「エミュレータなしで実行可能にする」を実現しようとす...
***バイナリのまま互換を保てることで生まれる可能性
-当然ですが、第一世代用に作ったアプリを他のOSで動かそうと...
-せっかく苦労してアプリを作ってもOSASKでしか動かない。ア...
-しかし第二世代用に作ったアプリはソース互換どころかefg01...
*実用性
COLOR(purple){APIがいくらもない物が小さくても当たり前だろ...
おっと。こう考える人もいるかもしれませんね。(現にまだま...
でもそう考えるのは早計ですよ。アナタが望むアプリはまだ作...
-例:nask
--第一世代(OSASK)や「はりぼてOS」の開発ツールの定番に、na...
--naskはwin32版で27,648というサイズで、x86用アセンブラと...
--このnaskはすでに第二世代用(efg01で動く)に移植が完了し...
--naskは決して多機能とは呼べない(GAS等のモンスター級に比...
--先のefg01を持っていれば、この小さくなったnaskもWindows...
--こんなに小さくなったのに・・・・
移植したのはnaskだけではありません。以下に代表的な例を挙...
・obj2bim 12,800 → 6,272 汎用リンカ
・gas2nask 11,155 → 4,559 gccの出力する...
・bim2hrb 4,096 → 384 「はりぼてOS」用...
・makefont 3,072 → 72 OSASKと「はりぼて...
これはある意味福音かもしれませんな。
実際に極初期のこれらのツールをLinuxに移植した時はすごく大...
(今は元の段階から他OSへの移植を考慮されているので技術的...
技術的なことはもちろんでしたがとにかく数が多い!
アレを移植して次にこれを移植して・・・
少なくともバイナリのままで動き、移植はefg01のみに集中でき...
*問題点は?
-残念ながら現時点ではGUIまわりのAPIが装備されていません。
-第二世代用のアプリケーションフォーマットやAPIは、残念な...
-ドキュメントやサンプル等、作ってみたい人へのフォローが貧...
*リンク
技術的な細部に興味があるひとは、とりあえず http://wiki.os...
第二世代の構想の最中、K氏によって書かれた文書郡
#ls2(GUIGUI01/)
----
#ls2(OSASK-HB/)
ページ名: