loading
cover

EN帶你寫個作業系統:來趟RISC-V開發輕旅行(iThome鐵人賽系列書)

點閱數

作者
陳毅(Ian)

出版社
博碩文化

格式
PDF

「計算機結構X作業系統實務X開發工具鏈」
一本全方位的作業系統開發入門指南


本書內容改編自【第 13 屆】2021 iThome 鐵人賽,Software Development 組佳作《微自幹的作業系統輕旅行》。王佑中博士曾說:「寫一個 OS 是多麼美好的事,在有限的生命中千萬不要遺漏了它。」如果你不知道從何下手,就跟著 EN 一起體驗 DIY 作業系統的樂趣吧!

【書籍特色】

1.第一本繁體中文的 RISC-V 相關書籍
◾不知道處理器的運作模式?沒關係!本書帶你學習處理器快取、流水線設計。
◾深入探討 RISC-V 架構,涵蓋 RV32I 指令集介紹、呼叫慣例與中斷處理。

2.探討數個開放原始碼專案的設計細節!
◾成功大學資工系師生團隊開發的 rv32emu
◾MIT 開發的 xv6 作業系統
◾金門大學資工系陳鍾誠教授開發的 mini-riscv-os

3.實務與理論兼具的技術書籍沒有碰過作業系統沒關係!
本書將會帶你探討以下內容:
◾基礎計算機科學知識
◾RISC-V 架構探討
◾作業系統概論與實作
◾並行程式設計基礎
◾開發作業系統所需的工具包



【專業推薦】

『相信陳毅的這本書,也會讓你真正看懂《作業系統》到底為何物! 一個真正的程式人,一輩子當中至少要寫一個自己的作業系統,就讓陳毅帶你入門吧!』
───陳鍾誠 教授


『陳毅的這本書以先理論後實作的方式,結合了Computer Science的基礎知識,進而探討作業系統設計並嘗試解讀開源專案的原始程式碼,能幫助讀者深入了解作業系統的核心價值。』
───謝致仁 教授
陳毅( Ian )

Ian 目前是交大資工的碩士班學生,同時也是具有熱忱的 5G 軟體工程師。
喜歡學習各種不同新興技術,同時也深信技術分享能使自己成長,希望有朝一日能夠成為頂尖的軟體產業工作者。
這本書是我因為興趣學習作業系統時整理的筆記,很高興這個作品幫助到了很多像我一樣想要自學業系統的人,在我編寫內容的期間也收到了成功大學教授 Jserv 與金門大學陳鍾誠教授的協助肯定,相信這本書絕對能夠成為你系統開發的敲門磚。

✔臉書專頁:AwesomeCS
✔Software Developer @Saviah Technologies | Graduate Student @NYCU
✔Google DSC Leader @NCTU 2021
✔StarBugs 專欄寫手
✔COSCUP 2021 IT Team lead
✔曾在 SITCON、COSCUP、GDG DevFest、六角學院 擔任講者


※封面插圖繪製:陳佑青
| CHAPTER 01 | 知己知彼百戰百勝
1-1 一次搞懂ISA、CISC與RISC
1-2 數值系統與補數
1-3 關於計算機,你必須知道的事:CPU快取
1-4 透過數位邏輯電路學習Bitwise操作
1-5 透過RISC-V模擬器搞懂指令管線化
1-6 淺談分支預測與Hazards議題
1-7 goto die? 那個goto到底能不能用啊?
1-8 IEEE-754與浮點數運算
1-9 組譯器與連結器

| CHAPTER 02 | ISA 是什麼?能吃嗎?
2-1 RISC V:: 關於基本暫存器
2-2 RISC V::RV32I指令介紹
2-3 RISC V:: 中斷與異常處理 -- 異常篇
2-4 RISC V:: 中斷與異常處理 -- 中斷篇
2-5 RISC V:: 中斷與異常處理 -- PLIC介紹

| CHAPTER 03 | 必須要會的實用工具
3-1 GNU Debugger
3-2 GNU Compiler Collection
3-3 Git
3-4 學習撰寫Makefile
3-5 善用Linux man-pages

| CHAPTER 04 | 學習作業系統,從自幹開始!
4-1 UNIX、BSD與Linux的愛恨情仇
4-2 Hello, OS!
4-3 實作動態記憶體分配
4-4 學習上下文交換
4-5 任務排程
4-6 再談中斷與異常
4-7 軟體與硬體的距離
4-8 淺談檔案系統
4-9 實作Shell
4-10 淺談特權模式與模式切換
4-11 認識Microkernel

| CHAPTER 05 | 並行程式設計(使用C語言)
5-1 Program, Process and Thread
5-2 POSIX Thread介紹
5-3 並行程式的潛在問題 (一)
5-4 並行程式的潛在問題 (二)
5-5 並行程式的潛在問題 (三)

其他人也在看