EN帶你寫個作業系統:來趟RISC-V開發輕旅行(iThome鐵人賽系列書)
M. T, F0 o) O* d" A8 k' i 作者: 陳毅(Ian)& e5 q0 h- h# E
出版社:博碩7 s* f O: R& Q$ {+ k/ r
出版日期:2022/08/31% ]% c3 w& f5 [3 h9 t4 W: X' f1 Q
內容簡介2 l: |" A1 v; T6 h
「計算機結構X作業系統實務X開發工具鏈」 r6 Z) z" S3 A/ ?3 S
一本全方位的作業系統開發入門指南
& V# Y, J- i- ?; _" {( {+ d( X 本書內容改編自【 第 13 屆】2021 iThome 鐵人賽,Software Development 組佳作《微自幹的作業系統輕旅行》。王佑中博士曾說:「寫一個 OS 是多麼美好的事,在有限的生命中千萬不要遺漏了它。」如果你不知道從何下手,就跟著 EN 一起體驗 DIY 作業系統的樂趣吧!
/ i" |' }3 X9 d& U$ J6 k 本書特色
5 i6 E. e9 Z" T# I8 ? 1.第一本繁體中文的 RISC-V 相關書籍) |' k* F( P9 H6 N- \# K
?不知道處理器的運作模式?沒關係!本書帶你學習處理器快取、流水線設計。
' Z9 e$ C( ~2 l% R3 Q7 L; ^& m ?深入探討 RISC-V 架構,涵蓋 RV32I 指令集介紹、呼叫慣例與中斷處理。' C" o: \8 A3 |
2.探討數個開放原始碼專案的設計細節!$ h& |" b* a9 h6 A1 _! ]# C- g6 h# [
?成功大學資工系師生團隊開發的 rv32emu3 d2 e- j4 v' W% U; q. m
?MIT 開發的 xv6 作業系統8 L, X2 t) o9 N4 |3 S0 M9 W x
?金門大學資工系陳鍾誠教授開發的 mini-riscv-os4 Y. H! v+ _- j( e, g; A, i
3.實務與理論兼具的技術書籍沒有碰過作業系統沒關係!
" o: k# f8 ~! e, D% u1 L 本書將會帶你探討以下內容:
6 c1 ?; F1 L- z3 Z8 S2 J0 i ?基礎計算機科學知識
! X" R( {9 }2 u ]$ Y ?RISC-V 架構探討
2 q& ?4 |, }% l* m( ^ ?作業系統概論與實作3 w. R% G2 K& E- }+ j
?並行程式設計基礎
9 O: M. k$ ]8 Z, d, f- T ?開發作業系統所需的工具包4 q7 u& h; N1 \7 @- G9 z: i. m
專業推薦
2 a1 S" D4 `' J! L2 Y' { 『相信陳毅的這本書,也會讓你真正看懂《作業系統》到底為何物! 一個真正的程式人,一輩子當中至少要寫一個自己的作業系統,就讓陳毅帶你入門吧!』陳鍾誠 教授
. g$ m* V6 b8 _# ]6 _" Q1 y: Y 『陳毅的這本書以先理論後實作的方式,結合了Computer Science的基礎知識,進而探討作業系統設計並嘗試解讀開源專案的原始程式碼,能幫助讀者深入了解作業系統的核心價值。』謝致仁 教授5 G2 _0 G! q m: B& }% l
目錄
) V: [2 A+ S/ n- P- x | CHAPTER 01 | 知己知彼百戰百勝
/ N- d6 B& N' |$ U) f 1-1 一次搞懂 ISA、CISC 與 RISC4 [! t, Z5 a; F' S j* A
1-2 數值系統與補數
0 k# `& k( D9 n 1-3 關於計算機,你必須知道的事:CPU 快取
! Q! l! n, [$ n4 O 1-4 透過數位邏輯電路學習 Bitwise 操作$ H& I6 }( r% K0 Z @
1-5 透過 RISC-V 模擬器搞懂指令管線化
8 Z# C$ L* z% P6 g. \9 f5 q 1-6 淺談分支預測與 Hazards 議題& ]$ V/ M8 I6 `
1-7 goto die? 那個 goto 到底能不能用啊?. H* u) W) |$ t. H
1-8 IEEE-754 與浮點數運算) V) g4 u# q9 F. t
1-9 組譯器與連結器' |1 U! ]0 s. |2 j( E1 u0 Q
| CHAPTER 02 | ISA 是什麼? 能吃嗎?
& L. C* {- `' _$ S( v& T; z+ f 2-1 RISC V:: 關於基本暫存器. v) [- q$ [; Z2 u9 D
2-2 RISC V::RV32I 指令介紹
8 w5 k; }: D) E- C% ~. ~ 2-3 RISC V:: 中斷與異常處理 — 異常篇
2 q4 g. {3 s3 v$ ^ 2-4 RISC V:: 中斷與異常處理 – 中斷篇0 _7 k, K. i7 y9 i
2-5 RISC V:: 中斷與異常處理 -- PLIC 介紹
% ^; Z9 q6 M0 q9 ~9 j, e | CHAPTER 03 | 必須要會的實用工具' {% U$ h3 y4 f- `/ b
3-1 GNU Debugger
. Q# C0 G. [8 `2 m( \$ | 3-2 GNU Compiler Collection% Y2 d3 G: H, y7 c6 a
3-3 Git. ^" E/ v, ^6 x
3-4 學習撰寫Makefile
2 ^1 j; O/ R& z5 P% W& u0 h 3-5 善用 Linux man-pages# _, h3 ]1 c; J8 B
| CHAPTER 04 | 學習作業系統,從自幹開始!( ? ~: B% _* ^0 T: |$ f
4-1 UNIX、BSD 與 Linux 的愛恨情仇8 ?9 A( h1 I; ~4 L6 J3 p% y X
4-2 Hello, OS!
' E1 A$ M- v; i* s. k! ~ 4-3 實作動態記憶體分配0 D) ?) k. [2 G0 d
4-4 學習上下文交換
; Z t/ [1 h& ?5 }; a7 M 4-5 任務排程
/ I. c0 K9 S$ b& {: J7 g1 V 4-6 再談中斷與異常! a' P5 |* {6 j; E
4-7 軟體與硬體的距離& n8 f# w% ]# @
4-8 淺談檔案系統
) B {- _7 _# W' n* L) z 4-9 實作 Shell
6 |8 t7 M/ ~ Y6 a 4-10 淺談特權模式與模式切換
* x5 g/ Z) {; k, Y# e8 F 4-11 認識 Microkernel
& T' k s7 w% |# B! F4 h# }4 _7 X | CHAPTER 05 | 並行程式設計(使用 C 語言)' |/ J; W" M" ~# |
5-1 Program, Process and Thread1 [3 ^5 A5 }; Q8 i
5-2 POSIX Thread 介紹
8 q1 N% ^& n$ ]( a. X 5-3 並行程式的潛在問題 (一)2 H& e% }1 B2 j7 B# a
5-4 並行程式的潛在問題 (二)- F; N- C7 H; q5 j
5-5 並行程式的潛在問題 (三)2 `" l( b7 @8 y0 \- a
剩余 3% 内容需要支付 3.00×2共享币 后可完整阅读并提供下载链接
共享资料赚共享币,鼓励用户共享优质资料
|