教育版UNIX v6解説 ~詳解xv6~

詳解xv6 目次

はじめに

本記事はMITのOSの授業で使われているxv6の解説をコードレベルでする記事です。
xv6はUNIX v6をベースとし、x86で動くようにANSI Cで再実装されたOSです。

もっとはじめに

  • xv6の特徴
  • 書くこと書かないこと
  • 本記事の読み方
  • xv6の動かし方、デバッグ方法

本編

  1. Page tables 1
    • アドレススペースの作成
    • カーネルのページング設定
  2. Page tabels 2
    • メモリアロケータ
    • sbrk()
    • exec()
  3. Traps, interrupts, and drivers 1
    • IDT
    • システムコール
  4. Traps, interrupts, and drivers 2(coming soon)
    • 割り込み
    • ディスクドライバ
  5. Locking (coming soon)
    • 並列処理
  6. Scheduling 1
    • コンテキストスイッチ
    • スケジューリング
  7. Scheduling 2(coming soon)
    • sleepとwakeup
    • パイプ
    • wait, exit, kill
  8. File system 1 (coming soon)
    • ファイルシステムの概要
    • Bufferキャッシュ層
    • Logging層
    • ジャーナリング
    • ブロックアロケータ
  9. File system 2 (coming soon)
    • Inode層
  10. File system 3 (coming soon)
    • Directory層
    • Path name
  11. File system 4 (coming soon)
    • Descriptor層

コメントや間違いなどがある場合はTwitterに連絡してもらうか Issueに書いていただくと助かります。

xv6  os