サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
4: 2008-11-26 (水) 11:45:35 ソース 5: 2008-11-30 (日) 11:15:06 ソース
Line 32: Line 32:
-「ぐいぐい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」
 +-「おれんじぺこ」の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のどちらかがサポートされていれば動くともいえる。
 +-今のところLinux向けやMonaOS向けのrungreは予定されていないようだ。まあ、rungre.g01を作ってしまえばもはや完全に相互運用可能となり、これらのOSへrungreを移植する必要などなくなるのだが(今の「ぐいぐい01」のAPI程度でrungre.g01が作成可能なのかは判らない。でもefg01.comは作成可能だったので、APIの機能的には「COM64-GRE」が同等かもしくは進んでいるのだと思う)。
 +-gre.dllやrungre.comのリリースは「おれんじぺこ」のPhase-5 (RC-1)が最初だと思っているのだが、もしそれに間違いがなければ、リリースとしてはこの手の仕組みとしては「ぐいぐい01」のほうが先ということになる。構想はどちらが先かは分からない。でもなんとなく「COM64-GRE」のほうが先に思える・・・。
 +-まあDOS汎用プログラムやDOSエクステンダなどのように、広い範囲で実行可能なものは以前でもあった。でもDOS汎用は16bit時代のもので今では使いたいと思う人はかなり少ないし、DOSエクステンダはその名のとおりDOSの拡張プログラムで、つまりDOS以外のOSでも使えるという形式を目指してはいなかった。ここで話題にしている「ぐいぐい01」や「COM64-GRE」は、32bitでかつ多様なOS上で利用可能なアプリを提供可能にすることを目的の一つとしており、従来のものでこれに相当するものはほとんどなかったのではないかと思われる(志したものはあったかもしれないが、これらほどには普及していない)。
 +~
 +~
 +-なんか「おれんじぺこ」に入っているrungre.comのソースを見ていたら、これくらいなら(いろいろごまかせば)rungre.g01も作れそうな気がしてきた・・・気がしただけだが。
* こめんと欄 * こめんと欄
#comment #comment

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。