2: 2009-11-20 (金) 05:05:29 hideyosi |
3: 2009-11-20 (金) 17:09:48 hideyosi |
| | | |
| *作り直しによる成果(OSASK-HBの特徴) [#p1a57760] | | *作り直しによる成果(OSASK-HBの特徴) [#p1a57760] |
- | せっかく動いていたOSASKを事実上凍結してまで行った作り直し。その成果は??? | + | せっかく動いていた旧OSASKを事実上凍結してまで行った作り直し。その成果は??? |
| | | |
| **アプリのサイズ: [#l2770a83] | | **アプリのサイズ: [#l2770a83] |
| なく、旧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] |