UNIX_V7で遊ぶ
なんかこつこつ書いたのが全部消えちゃったんだけども ...
しばらく、UNIX の V7 の カーネルコード見てました。
- 公開 サイトは、Tiki:UNIX とかを参照。
- あ、Omicron:Unixからリンクが張られている。
直接関係ないけど drum の 起源は、Omicron:Atlasだったのか。
Disk の前に ドラム という記憶装置があったのは まだ覚えていたけども、
どういうマシンで なんのために使われたかは すっかり忘却。
- コードの解説も 読むついでに 書いた(3,4割かなぁ)けども、
それは永久に消えてしまった。残念。
もう一回書くだけの気力があるかなぁ。まあ カーネルコードは、
7000 行ぐらいで小さいから、いつか再開するかも。
コードみるついでに、V7 のファイルシステムだけ抜いて link できるように
したもの ...
v7em-003.tgz
というのをでっちあげたりして ...
- 3/2 Caldera のライセンス を添付。これで配布できるはず。
ちゃんとした内容は、.. Tiki:UNIX からたどれる ライセンス参照してね。
- えっとこいつのステータスは、どうだったか ... あ、思いだした。
v7-tar とかいうのを使って Disk イメージ からファイルを吸い上げたり、
逆に 書き込んだりできるぐらいにはなった。v7-ls とかも動いたか。
Grub とかで遊ぶときは、これ くっつけると 面白いかも。
- ちなみに、sleep はスタブでなにもしない。--- 実際に
sleep にいくケースはないため。プロセススイッチも 割り込みなしで、
ちゃんと動く。(はず)。でもちゃんと バッファリングはできている。
構造は非同期だけども、実際は 同期で動く ...
そういう不思議なものが出来てしまった。
- 調子にのって、UFS もやりたいんだが .. とか思っていろいろ検討
したんだが、なかなか 手ごわい。4.3BSD-Reno あたりが
手頃かなぁということで。とりあえず、抜いてきて単独でコンパイルできる
ようにしたもの。
ufsem43r-000.tgz
こっちは、コード読む最小環境 というのが現状。
あとは、V7 の ユーザランドのコードは、小さいから、オリジナル awk とかで
遊んでみるのも いいかも知れない。java に移植したりして ...
- やっぱ java は、スクリプト環境が弱いと思う。...
最近はどうかしらないけど。
こういう小さいコード使って、java 組み込み環境を 整備するのはどうだろう。
- あ、そういやぁ。大昔 ksr さんとやってたか。
- 結局自作VMは、waba見てからほってあります。(なんつうか自分の力のなさに愕然としたというか。。) どこまでやったんだっけか。gc, Threadは動いてないなたぶん。
- VM をつくる GUI をつくる ... いろいろやって挫折というか完成していない
わけですが、head とか tail とか UNIX ぽいフィルタとかを
class レベルで作ろうみたいなのもあったと思うんですが、
それの話。awk とか sed を作るのは、無理かなぁと思っていたんですが、
小さい オリジナルソースがあればできるかも。
- 全然忘れてたり。awk風の処理だとOreo のパッケージの中に入ってました。
v7em-003.tgz
ベースで 改造してみる。
どうなるかわからんけども →
ジャーナリングファイルシステム/V7を改造してみる
(最終更新 Thu Mar 30 18:37:30 2006)