| 10 | | PC/AT互換機を用いたプログラミング言語Perlによる高水準言語マシン。開発言語にはPerl([http://www.foo.be/docs/tpj/issues/vol5_3/tpj0503-0003.html Microperl]5.8.8|5.10.0) + C + x86アセンブリを用いる。ソフトウェア階層(オペレーティングシステム、デバイスドライバ、スレッドライブラリ、ファイルシステム、TCP/IPプロトコルスタック、ウィンドウシステム、応用アプリケーション)のほとんどすべてをPerlで記述することを目標とする。現在までに試作したものとして、キーボードドライバ、読込み専用のフロッピーディスクドライバ、FAT/ext2ファイルシステムドライバがある。今後は、ithread対応、各種デバイスドライバの増強(特にIDEハードディスクとUSBストレージ)、demo用のアプリケーションの作成を予定している。 |
| 11 | | [[BR]] |
| 12 | | [[BR]] |
| 13 | | いろいろと煩雑でなのでいくつかの切込み口を用意… |
| 14 | | |
| 15 | | '''linux上で動作するプログラム''' |
| 16 | | |
| 17 | | * [http://coderepos.org/share/browser/lang/perl/PerlMachine/tags/microperl-linux Microperl-Linux]:Linux上で手軽にPerl5.10.0の中身をいじれる。perlembedやperlapiを試す用途から、処理系内部の動作を探りたいときに使う。 |
| 18 | | |
| 19 | | '''ベアマシン上で動作するプログラム''' |
| 20 | | |
| 21 | | * [http://coderepos.org/share/browser/lang/perl/PerlMachine/tags/perlos-libc PerlOS-libc]:PerlOSの基底部分。特権モードで動作するように調整した[http://sourceware.org/newlib/ libc]、[http://elm-chan.org/fsw/ff/00index_j.html FatFs]、フロッピーディスクドライバが搭載されている。 |
| 22 | | * [http://coderepos.org/share/browser/lang/perl/PerlMachine/tags/perlos-microperl5.8.8-singleinterp PerlOS-Microperl5.8.8-SingleInterp]:上記のlibcを用いてベアマシン上で動作するMicroperl(5.8.8)。インタプリタインスタンスはメモリ上に1つだけ生成できる。 |
| 23 | | * [http://coderepos.org/share/browser/lang/perl/PerlMachine/tags/perlos-microperl5.10.0-singleinterp PerlOS-Microperl5.10.0-SingleInterp]:Microperlを5.10.0に置き換えたバージョン。 |
| 24 | | * [http://coderepos.org/share/browser/lang/perl/PerlMachine/branches/perlos-fs PerlOS-FAT]:Microperl(5.8.8)をマルチインスタンス生成に対応させ、Perlで読込み専用のフロッピーディスクドライバ、FATファイルシステムドライバを実装した例。 |
| 25 | | * [http://coderepos.org/share/browser/lang/perl/PerlMachine/tags/perlos-microperl5.10.0 PerlOS-Microperl5.10.0]:本流の基本部分。マルチインスタンス生成に対応したMicroperl(5.10.0)。 |
| | 10 | PerlでOS書こうぜ!書けるの?書いていいの?書いたっていいんじゃないの?いいよね? |
| | 11 | Perlでカーネル層のプログラムを書くためのOSを作っています。PC/AT互換機で試作ちゅう。ぼくの修論! |