xv6 為 MIT 用於教學所開發的作業系統,希望在本系列文章中,能夠藉由學習與閱讀 xv6 程式碼達到以下目標:
* 了解 C 程式的行為,如 violiate, inline,以及記憶體佈局。
* 了解 process, thread, memory paging, virtual memory 等虛擬化概念。
* trap, exception, interrupt 概念以及處理。
* RISC-V 基本暫存器,CSR 的使用與操作,特權模式。
本文為筆者在對於作業系統零基礎概念的情況下,開始學習xv6所進行的一些系統性整理以及心得記錄,拋磚引玉,還請各位多多指教。
前言 前面我們看到了整個 Switch Thread 的運作,首先會有 Timer Interrupt 產生 trap,接著 yield() 會將 Proce...