はじめに本記事はMITのOSの授業で使われているxv6の解説をコードレベルでする記事です。 xv6はUNIX v6をベースとし、x86で動くようにANSI Cで再実装されたOSです。 もっとはじめに xv6の特徴書くこと書かないこと本記事の読み方xv6の動かし方、デバッグ方法本編Page tables 1アドレススペースの作成カーネルのページング設定Page tabels 2メモリアロケータsbrk()exec()Traps, interrupts, and drivers 1IDTシステムコールTraps, interrupts, and drivers 2(coming soon)割り込みディスクドライバLocking (coming soon)並列処理Scheduling 1コンテキストスイッチスケジューリングScheduling 2(coming soon)sleepとwakeup