rrxv6 : virtio

在去年五月上一回的文章 中,我們做到了 OS 版的 hello world, 讓 user process 呼叫 print 的 syscall,並由 OS 處理該 syscall 印出 hello world。
在這之後我花了一段時間(好長的一段)思考到底要做什麼,後面 xv6 依序初始化的東西包括幾個:

  1. buffer cache
  2. inode table
  3. file table
  4. virtio
  5. 做更多 user process 相關的部分

後來發現 1,2,3 都相依於 4,沒有 virtio 讀不了磁碟那還管什麼 file, inode; User process 在沒有 4 的狀況下,寫起來也是綁手綁腳,於是就決定先挑戰 qemu 的 virtio。

...