xv6
陳鍾誠 edited this page Jun 7, 2023
·
37 revisions
- xv6: 前言 -- 在 RISCV 上從頭設計 C+UNIX 之路
- xv6: 行程 -- 核心 kernel -- 從 entry.S 開始追蹤
- xv6: 行程 -- 從 init 開始追蹤 fork+exec
- xv6: 檔案 -- 理解檔案表 -- 從 cat.c 的 write() 指令開始追蹤
- xv6: 檔案 -- 理解檔案系統結構 -- 從 cat.c 的 open() 指令開始追蹤
- xv6: 中斷 -- Interrupt (Trap)
- xv6: 通訊 -- 平行與鎖 lock -- 多核心的控管
- xv6: 輸出入 -- 磁碟驅動與 virtio 交互協議
- xv6: 記憶體 -- 分頁表與 MMU
- xv6: 行程 -- 四核心的處理器,會有多少個 kernel 在跑?
- xv6: 行程 -- 行程的資料結構
- xv6: 行程 -- 呼叫 read() 時,行程會中斷換別人嗎?
- xv6: 行程 -- 彈跳床如何切換分頁表?
- xv6: 行程 -- 時間中斷時,會發生甚麼事?
- xv6: 記憶體 -- 當存取的分頁未載入時 (page fault) 時,會發生甚麼事?
- xv6: 同步 -- 旋轉鎖如何實作?
- xv6: 同步 -- 如何設計才不會發生死結?
- xv6: 檔案 -- superblock 是甚麼?如何用來組織檔案系統?
- xv6: 檔案 -- inode 是甚麼?如何用來儲存檔案?
- xv6: 檔案 -- UNIX 是如何做到一切皆檔案的?
從 RISC-V 到 xv6 作業系統