Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

2. 下準備

xv6に自作プロトコルスタックを移植するにあたって、いくつか下準備をしておきます。

自作プロトコルスタックは、通常のC言語プログラムとして標準ライブラリやビット幅指定の整数型、コンソール出力、時刻の取得といった機能を前提に書かれています。しかし、これらはxv6のカーネル内にそのままは存在しません。そこで移植を始める前に、本体のコードが期待する「足回り」をxv6の側に用意しておきます。

具体的には、ビット幅指定の整数型の追加、ログ出力に必要なprintk()の機能拡張、現在時刻を取得する仕組みの実装を順に行います。これらを土台として、最後に標準ライブラリを肩代わりする簡易libcと便利ライブラリを移植します。あわせて、深い呼び出しになりがちなプロトコル処理に耐えられるよう、カーネルスタックの拡張も行います。

この章を終えると、#include <stdio.h>のように書かれた本体のコードを、ほとんど手を加えずにxv6のカーネル内でビルドできる状態になります。