ページへ戻る

− Links

 印刷 

第二世代OSASKについて のバックアップ差分(No.3) :: OSASK計画

osaskwiki:第二世代OSASKについて のバックアップ差分(No.3)

« Prev[4]  Next »[5]
2: 2009-11-20 (金) 05:05:29 hideyosi[6] ソース[7] 3: 2009-11-20 (金) 17:09:48 hideyosi[6] ソース[8]
Line 40: Line 40:
*作り直しによる成果(OSASK-HBの特徴) [#p1a57760] *作り直しによる成果(OSASK-HBの特徴) [#p1a57760]
-せっかく動いていたOSASKを事実上凍結してまで行った作り直し。その成果は???+せっかく動いていた旧OSASKを事実上凍結してまで行った作り直し。その成果は???
**アプリのサイズ: [#l2770a83] **アプリのサイズ: [#l2770a83]
Line 59: Line 59:
なく、旧OSASKに対して見劣りすることを含めても、それでもこの成果は現段階でリリースするに値します(将来的にはもちろんGUIのAPIも追加されます)。世界中に似たようなことを志している人はいるかもしれませんが、その人たちが私たちの技術を学ばずにOSASK-HBを追い抜くことはまず無理でしょう。いや追いつくことすら無理でしょう。 なく、旧OSASKに対して見劣りすることを含めても、それでもこの成果は現段階でリリースするに値します(将来的にはもちろんGUIのAPIも追加されます)。世界中に似たようなことを志している人はいるかもしれませんが、その人たちが私たちの技術を学ばずにOSASK-HBを追い抜くことはまず無理でしょう。いや追いつくことすら無理でしょう。
-少し例を挙げます。 OSASK-HBにおいては、コンソール画面に「hello, world\n」と表示するアプリを、わずか16バイトで作ることができます。こんなサイズですがアプリの先頭の2バイトは誤認防止用の「47 01」というシグネチャが入っており、DOSの.COMファイルのようなヘッダのないフォーマットではありません(このシグネチャは全てのOSASK-HBアプリに共通して含まれます)。 +-いくつかの例
-さらに、注意してほしいのですが、「hello, world\n」はそれだけで13バイトあります。アプリのフォーマットの効率の高さ(無駄の少なさ)が察せられるのではないでしょうか?これはもちろん、「hello, world\n」に特化したAPIを持つなどの卑怯なことはしないで実現しています +
-(参考:DOSの.COMファイルで書くと22バイトになります)。+
-別の例です。コンソールに「 !"#$%&'() ... uvwxyz{|}~」と、キャラクタコード0x20から0x7eを出力するプログラムを作ると、OSASK-HB用は13バイトになります。念のために書いておきますが、これは16bitアプリではなくもちろん32bitのネイティブアプリです +--コンソール画面に「hello, world\n」と表示するアプリを、わずか16バイト! 
-(参考:DOSの.COMファイルで書くと17バイトになります)。+---アプリの先頭の2バイトは誤認防止用のシグネチャが入っており、DOSの.COMファイルのようなヘッダのないフォーマットではありません(このシグネチャは全てのOSASK-HBアプリに共通して含まれます)。 
 +---「hello, world\n」はそれだけで13バイトあります。アプリのフォーマットの効率の高さ(無駄の少なさ)が察せられるのではないでしょうか? 
 +---「hello, world\n」に特化したAPIを持つなどの卑怯なことはしないで実現しています 
 +---(参考:DOSの.COMファイルで書くと22バイトになります)。
-さらに別の例です。 OSASK-HBのアプリにはcpy.g01というものがあり、これはファイルのコピーや連結を行うことができるアプリです。このアプリは引数無しで起動すると、usageが出力されます。+--コンソールに「 !"#$%&'() ... uvwxyz{|}~」と、キャラクタコード0x20から0x7eを出力するプログラムを作ると、OSASK-HB用はたった13バイトになります。 
 +---あったりまえですがこれは16bitアプリではなくもちろん32bitのネイティブアプリです。 
 +---(参考:DOSの.COMファイルで書くと17バイトになります)。 
 + 
 +--OSASK-HBのアプリにはcpy.g01というものがあり、これはファイルのコピーや連結を行うことができるアプリです。このアプリは引数無しで起動すると、usageが出力されます。
     usage>cpy.g01 [in:]input-file [[in:]input-file]... out:output-file      usage>cpy.g01 [in:]input-file [[in:]input-file]... out:output-file
-これの文字数を数えると、66文字あります。 +---これの文字数を数えると、66文字あります。しかしながらこのcpy.g01というファイルは45バイトしかありません。たったの45バイトでも、コピーや連結ができる上に、66バイトものusage出力が可能なのです。それがOSASK-HBの常識であり、x86の本当の能力なのです。
- +
-しかしながら、このcpy.g01というファイルはたったの45バイトしかありません。たったの45バイトでも、コピーや連結ができる上に、66バイトものusage出力が可能なのです。それがOSASK-HBの常識であり、x86の本当の能力なのです。+
他のOSは機能密度の高いアプリを作りやすいAPIはどうあるべきかを考えていません。考えたつもりかもしれませんが、そんなのはOSASK-HBからすれば、考えていないに等しいのです。十分な汎用性や表現力を担保しつつ、かつ簡潔な表現を可能にするにはどうしたらいいのか、その答えがOSASK-HBのAPIにはつまっています。 他のOSは機能密度の高いアプリを作りやすいAPIはどうあるべきかを考えていません。考えたつもりかもしれませんが、そんなのはOSASK-HBからすれば、考えていないに等しいのです。十分な汎用性や表現力を担保しつつ、かつ簡潔な表現を可能にするにはどうしたらいいのか、その答えがOSASK-HBのAPIにはつまっています。
このほかにもhexdump.g01やcalendar.g01など、紹介したいものはたくさんありますが、きりがないのでここまでにしておきます。 このほかにもhexdump.g01やcalendar.g01など、紹介したいものはたくさんありますが、きりがないのでここまでにしておきます。
- 
*OSASK-HBの特徴(アプリの互換性): [#vb864eb7] *OSASK-HBの特徴(アプリの互換性): [#vb864eb7]
« Prev[4]  Next »[5]