id:oraccha:20101101の手順を参考に、UNIX V6をSIMHで動かしてみました。分析のためファイルを取り出そうとしたのですが、TCP/IP以前のOSのためネットワークが使えるのか不明で、ディスクイメージからファイルを取り出す方法も分かりません。仕方ないのでカーネルのソースを読みながらファイルを取り出してみました。
読み込みツールはF#で実装しました。ブラウザ上から実行できるようにSilverlight化しました。id:n7shi:20101004で作成したZIP圧縮コードにより、ファイルシステム全体をZIPファイルとして保存することができます。
【追記:2015.11.12】ローカルで動かすGUI版もあります。(Silverlight非依存)
- リポジトリ ⇒ https://bitbucket.org/7shi/v6fs/
- GUI版ダウンロード ⇒ https://bitbucket.org/7shi/v6fs/downloads
- ディスクイメージ ⇒ http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v6/
Silverlightで開く ⇒ http://7shi.net/v6fs/
以下、UNIX V6のC言語ソースを引用しながら簡単に説明します。ソースコードはタブで整形されていますが、レイアウトが崩れるのを防ぐためスペースに置換して引用しました。タブは8文字を想定しているようです。
続きを読む