6: 2009-11-17 (火) 12:08:34 |
現: 2024-01-08 (月) 12:58:42 lina |
- | * ぐいぐい01に関するメモ-10 | + | TITLE:x |
| + | * ぐいぐい01に関するメモ-10 [#jb38fd27] |
| -(by [[K]], 2008.11.24) | | -(by [[K]], 2008.11.24) |
| -メモのうち重要な部分をそのうちまとめてまともなページを作る | | -メモのうち重要な部分をそのうちまとめてまともなページを作る |
- | *** (22) efg01は非常にOSASK的なソフトウェア | + | *** (22) efg01は非常にOSASK的なソフトウェア [#b5f333ba] |
| -OSASKはハードウェアの性能を完全に引き出すことを目的としているわけだが、それはつまり、ハードウェアが本来持っている力を全部出させてあげることである。それに対してefg01.exeを見ると、これはWindowsというOSが実は(こんな小さなパッチみたいなものだけで)ここまでできるんだということを実証していることになっているので、そういう意味ではOSが本来持っている力を出させていることになると思う(特にアプリのサイズについての本来の力を出させている)。 | | -OSASKはハードウェアの性能を完全に引き出すことを目的としているわけだが、それはつまり、ハードウェアが本来持っている力を全部出させてあげることである。それに対してefg01.exeを見ると、これはWindowsというOSが実は(こんな小さなパッチみたいなものだけで)ここまでできるんだということを実証していることになっているので、そういう意味ではOSが本来持っている力を出させていることになると思う(特にアプリのサイズについての本来の力を出させている)。 |
| -この観点で見る限り、efg01は非常にOSASK的であり、単にその対象がハードウェアかOSかというだけの違いでしかない。そして僕はハードウェアだろうとOSだろうとなんだろうと、みんな実力を全部出せることは基本的にいいことだと思う。もちろんライバルが実力を出せずにいればそれだけ競争では有利かもしれないけど、そんなので勝っても意味はないと思っている。だからたとえライバルであっても、実力が出せるならそのほうがいい。 | | -この観点で見る限り、efg01は非常にOSASK的であり、単にその対象がハードウェアかOSかというだけの違いでしかない。そして僕はハードウェアだろうとOSだろうとなんだろうと、みんな実力を全部出せることは基本的にいいことだと思う。もちろんライバルが実力を出せずにいればそれだけ競争では有利かもしれないけど、そんなので勝っても意味はないと思っている。だからたとえライバルであっても、実力が出せるならそのほうがいい。 |
| -アプリ資産を「ぐいぐい01」で持っておけば、気分でOSを毎日変更しても大丈夫(笑)。カーネルなんて飾りです?!・・・いろんなOSを気軽に使い比べられたら、それはとてもステキだと思うのだ。「ブラウザさえあればOSなんてなんだって同じ」なんてことを言う人が最近出てきたそうだが、「efg01さえあればOSなんてなんだって同じ」と僕は言えるようになりたい。 | | -アプリ資産を「ぐいぐい01」で持っておけば、気分でOSを毎日変更しても大丈夫(笑)。カーネルなんて飾りです?!・・・いろんなOSを気軽に使い比べられたら、それはとてもステキだと思うのだ。「ブラウザさえあればOSなんてなんだって同じ」なんてことを言う人が最近出てきたそうだが、「efg01さえあればOSなんてなんだって同じ」と僕は言えるようになりたい。 |
| --仮に「ブラウザさえあればOSなんてなんだって同じ」が真だとすると、もしかしてfirefox.g01とかができたら、「efg01さえあればOSなんてなんだって同じ」も自動的に真になる???(笑)。 | | --仮に「ブラウザさえあればOSなんてなんだって同じ」が真だとすると、もしかしてfirefox.g01とかができたら、「efg01さえあればOSなんてなんだって同じ」も自動的に真になる???(笑)。 |
- | *** (23) efg01/OSASK-HBまでの道 | + | *** (23) efg01/OSASK-HBまでの道 [#e3f86ce4] |
| -サイズ追求編: | | -サイズ追求編: |
| --1.Win95って大きいなあ。DOSのサイズであれだけできたんだからもっと小さくできるんじゃないのかなあ。じゃあOS作ってみるか(OSを作り始めた動機は他にも多数)。 | | --1.Win95って大きいなあ。DOSのサイズであれだけできたんだからもっと小さくできるんじゃないのかなあ。じゃあOS作ってみるか(OSを作り始めた動機は他にも多数)。 |
| -「ぐいぐい01」を作る過程で得た教訓(っていうかKHBIOSで得た教訓かも): | | -「ぐいぐい01」を作る過程で得た教訓(っていうかKHBIOSで得た教訓かも): |
| --IA-32用に作るからといって、IA-32ではどうしたらいいかを最初から考えて設計するな。まずどんな処理をやらせたい・できるようにしたいのかを明確に決めて、そのためにどんな命令・機能・仕様がCPUやOS(=efg01の移植先のOS)に「最低限」必要なのか制約なく考えろ。そしてそのような「最低限」の機能しか持たないが、それを効率よく実行できる都合のよいCPUが実際に実在すると仮定して(もしくはFPGAで誰かが作ってくれると仮定して)、そのCPUに最適な設計をまず作る。これはいわば最善解だ。・・・その上で、それをIA-32上に実装するにあたり、実CPUや実OSでの制約を意識し、妥協すべきところがあれば妥協し、そのまま行くべきところはそのままいく。これが最適解だ。最善解を出す前に最適解をだそうと横着すれば、CPUの仕様や得意なことを重視するあまりに(たとえばIA-32ならメモリはたくさん使えるのが当たり前なので、もっと節約できるところを見過ごしがち)、最善解を経由しないと見えてこないことに気付けないまま、全ての可能な設計を検討しつくした気になってしまう。 | | --IA-32用に作るからといって、IA-32ではどうしたらいいかを最初から考えて設計するな。まずどんな処理をやらせたい・できるようにしたいのかを明確に決めて、そのためにどんな命令・機能・仕様がCPUやOS(=efg01の移植先のOS)に「最低限」必要なのか制約なく考えろ。そしてそのような「最低限」の機能しか持たないが、それを効率よく実行できる都合のよいCPUが実際に実在すると仮定して(もしくはFPGAで誰かが作ってくれると仮定して)、そのCPUに最適な設計をまず作る。これはいわば最善解だ。・・・その上で、それをIA-32上に実装するにあたり、実CPUや実OSでの制約を意識し、妥協すべきところがあれば妥協し、そのまま行くべきところはそのままいく。これが最適解だ。最善解を出す前に最適解をだそうと横着すれば、CPUの仕様や得意なことを重視するあまりに(たとえばIA-32ならメモリはたくさん使えるのが当たり前なので、もっと節約できるところを見過ごしがち)、最善解を経由しないと見えてこないことに気付けないまま、全ての可能な設計を検討しつくした気になってしまう。 |
- | *** (24) 「ぐいぐい01」のライバル「COM64-GRE」 | + | *** (24) 「ぐいぐい01」のライバル「COM64-GRE」 [#p3b2b5cf] |
| -「おれんじぺこ」のPhase-5 (RC-1)が先日リリースされたが、このOSはrungre.comというプログラムを利用することによって、「COM64-GRE」形式のアプリを実行できるらしい。またこの「COM64-GRE」形式のアプリは同OSにバンドルされているgre.dllを使うことによって、win32上でも実行できる。・・・ということで、「COM64-GRE」は「ぐいぐい01」のライバルな存在といえると思う。 | | -「おれんじぺこ」のPhase-5 (RC-1)が先日リリースされたが、このOSはrungre.comというプログラムを利用することによって、「COM64-GRE」形式のアプリを実行できるらしい。またこの「COM64-GRE」形式のアプリは同OSにバンドルされているgre.dllを使うことによって、win32上でも実行できる。・・・ということで、「COM64-GRE」は「ぐいぐい01」のライバルな存在といえると思う。 |
| -しかも実は「COM64-GRE」が実行可能な環境さえあれば、efg01.comという「COM64-GRE」形式のアプリによって「ぐいぐい01」のアプリも実行できてしまう。これはすごい。この状況を前提にするなら、OS開発者としては、自分のOSにはrungreだけを移植すればいい事になる。そうすれば、「COM64-GRE」も「ぐいぐい01」もどちらのアプリも使えるのだから。・・・逆にアプリを作る側から言えば、とりあえず「ぐいぐい01」用に作っておけばrungreかefg01のどちらかがサポートされていれば動くともいえる。 | | -しかも実は「COM64-GRE」が実行可能な環境さえあれば、efg01.comという「COM64-GRE」形式のアプリによって「ぐいぐい01」のアプリも実行できてしまう。これはすごい。この状況を前提にするなら、OS開発者としては、自分のOSにはrungreだけを移植すればいい事になる。そうすれば、「COM64-GRE」も「ぐいぐい01」もどちらのアプリも使えるのだから。・・・逆にアプリを作る側から言えば、とりあえず「ぐいぐい01」用に作っておけばrungreかefg01のどちらかがサポートされていれば動くともいえる。 |
| -なんか「おれんじぺこ」に入っているrungre.comのソースを見ていたら、これくらいなら(いろいろごまかせば)rungre.g01も作れそうな気がしてきた・・・気がしただけだが。 | | -なんか「おれんじぺこ」に入っているrungre.comのソースを見ていたら、これくらいなら(いろいろごまかせば)rungre.g01も作れそうな気がしてきた・・・気がしただけだが。 |
| | | |
- | * こめんと欄 | + | * こめんと欄 [#q024d10d] |
| #comment | | #comment |