【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

V6移植ハッカソン

【追記】残念ながら参加者が少なかったため中止とさせていただきました。今後は池袋バイナリ勉強会の中で作業を進める予定です。

お盆休みの四日間に渡ってUNIX V6を8086に移植するハッカソンを開催します。

ご都合の良い日だけでも結構ですので、ご参加をお待ちしています。

経緯

今までOS学習の取っ掛かりとしてUNIX V6を取り上げていました。一部PDP-11固有の知識を必要とするため、セットでPDP-11の命令も説明する必要がありました。しかしPDP-11の知識は現代のシステムではそのまま使えないというもどかしさがあったため、x86への移植を計画しました。せっかく移植するならイベントとして開催しようという流れです。

xv6V7/x86の存在は知っていますが、以下の理由で移植を選択しました。

  • xv6はV6とは別物。
    • V6のような各種UNIXへの歴史的なコードのつながりが失われている。
    • V6はUNIX/32Vから4BSDへとたどる入口として位置付けたい。
  • V6はカーネルだけでなく、ツールチェーン(コンパイラアセンブラ・リンカなど)を含めたシステムとして学習したい。
    • V6のccを学習用のシンプルなコンパイラだと捉える立場。
    • もちろん単なる学習用のコンパイラではなく、C言語の誕生とともに発展しながら実際に使われたもの。
    • V7はpccに置き換えられている。
    • V7/x86はACKと独自アセンブラに置き換えられている。

バイナリ学習の観点からツールチェーンを重視しているため、ハッカソンではツールチェーンの移植から取り掛かります。詳細は募集ページを参照してください。