EN帶你寫個作業系統:來趟RISC-V開發輕旅行(iThome鐵人賽系列書); J( Q9 a) H9 r9 s* K3 `
作者: 陳毅(Ian)
/ \+ P; ~2 C+ g0 f5 m+ S 出版社:博碩
! L4 M% K( N# x) I3 } 出版日期:2022/08/31; P% \/ t# t! m0 m, |
內容簡介( @ p$ a: t) Z
「計算機結構X作業系統實務X開發工具鏈」
- U* ]# L# U+ O3 J7 t2 X 一本全方位的作業系統開發入門指南
/ t2 i- ?0 O0 K' z. `* Z& @ 本書內容改編自【 第 13 屆】2021 iThome 鐵人賽,Software Development 組佳作《微自幹的作業系統輕旅行》。王佑中博士曾說:「寫一個 OS 是多麼美好的事,在有限的生命中千萬不要遺漏了它。」如果你不知道從何下手,就跟著 EN 一起體驗 DIY 作業系統的樂趣吧!3 z$ L7 {3 R$ S
本書特色
1 `, P1 ]4 t9 v) h 1.第一本繁體中文的 RISC-V 相關書籍
0 E& P1 K) r/ C ?不知道處理器的運作模式?沒關係!本書帶你學習處理器快取、流水線設計。& T) Z8 x+ j' h# h, J& v
?深入探討 RISC-V 架構,涵蓋 RV32I 指令集介紹、呼叫慣例與中斷處理。
3 c/ t2 z$ k" }+ \ 2.探討數個開放原始碼專案的設計細節!* m1 O; g. D7 m8 @. F
?成功大學資工系師生團隊開發的 rv32emu
0 r3 r+ P7 J2 h8 _7 M+ w ?MIT 開發的 xv6 作業系統; Y; z- f5 b% E6 o% t" i* N Y f% ]! Z
?金門大學資工系陳鍾誠教授開發的 mini-riscv-os( x7 l" x8 I% {* H+ G' |& N, C
3.實務與理論兼具的技術書籍沒有碰過作業系統沒關係!! A+ u. X' K) T8 p
本書將會帶你探討以下內容:
! Y# X- c) ]6 V o ?基礎計算機科學知識
; Y7 c9 k) d, c' R+ N+ V ?RISC-V 架構探討
2 G: v: a9 i$ z# C. D; [$ }! q ?作業系統概論與實作
" g* m6 L1 E5 @ ?並行程式設計基礎! A" g* w/ E0 M T- _" B
?開發作業系統所需的工具包
9 S& |/ C# X7 w 專業推薦
: N" t. }2 G% c+ [ 『相信陳毅的這本書,也會讓你真正看懂《作業系統》到底為何物! 一個真正的程式人,一輩子當中至少要寫一個自己的作業系統,就讓陳毅帶你入門吧!』陳鍾誠 教授
; F6 H) u. P/ d3 z: ? 『陳毅的這本書以先理論後實作的方式,結合了Computer Science的基礎知識,進而探討作業系統設計並嘗試解讀開源專案的原始程式碼,能幫助讀者深入了解作業系統的核心價值。』謝致仁 教授
7 m, n0 |& H$ f! H 目錄
7 o5 i9 m- |2 @; w | CHAPTER 01 | 知己知彼百戰百勝
( }. o% m% C4 s+ D! Q, E 1-1 一次搞懂 ISA、CISC 與 RISC8 y5 h( z, C6 U
1-2 數值系統與補數
- E) T( p6 f. _0 i 1-3 關於計算機,你必須知道的事:CPU 快取
- P$ l0 F( E8 C7 k# l% t& |+ a7 h 1-4 透過數位邏輯電路學習 Bitwise 操作' m% W- G; J. `% {
1-5 透過 RISC-V 模擬器搞懂指令管線化' |5 i% Z5 m7 p0 ]3 E3 z1 x
1-6 淺談分支預測與 Hazards 議題8 S5 O# R7 U: ^# o) F
1-7 goto die? 那個 goto 到底能不能用啊?
c p' g1 o0 N8 K) y. A 1-8 IEEE-754 與浮點數運算
+ y) t/ v9 g8 n' ~ 1-9 組譯器與連結器
5 e+ p& c+ Y7 X, @8 a: d | CHAPTER 02 | ISA 是什麼? 能吃嗎?
\/ C, i0 f( m1 j: @. M 2-1 RISC V:: 關於基本暫存器
' F+ W, o) G9 u5 L 2-2 RISC V::RV32I 指令介紹/ t, Y# e* R! r# b
2-3 RISC V:: 中斷與異常處理 — 異常篇9 u9 ~, t& p& E: \ t
2-4 RISC V:: 中斷與異常處理 – 中斷篇0 G2 n9 d. K9 Q# e
2-5 RISC V:: 中斷與異常處理 -- PLIC 介紹
5 ^' z7 r8 i' @% z9 o/ X | CHAPTER 03 | 必須要會的實用工具5 Z/ e* @: g5 e1 M T, f) ^
3-1 GNU Debugger
$ p& Q6 S; D' a" `6 Y- M 3-2 GNU Compiler Collection( L! A6 }& Y5 R7 Z3 n0 g W6 f
3-3 Git
A+ i- z3 G9 |, e5 W 3-4 學習撰寫Makefile
/ z( a9 S9 X" p$ V( [. O# L 3-5 善用 Linux man-pages
: ]* g& ]$ A! |9 E6 x | CHAPTER 04 | 學習作業系統,從自幹開始!
; ?* n( y/ k. u; w 4-1 UNIX、BSD 與 Linux 的愛恨情仇
" Z; q9 r `4 [; [! i4 ^, n! Q 4-2 Hello, OS!
# O( j, w5 a: D* {0 q9 ]. [ 4-3 實作動態記憶體分配
5 R8 T+ L& Z+ Q) z7 p. x9 } 4-4 學習上下文交換( z8 O2 _) `; M
4-5 任務排程( |2 h0 `) l3 ~2 L( r1 H- m
4-6 再談中斷與異常/ ~; M* h, c( T. f4 H8 d& W2 M) v2 V
4-7 軟體與硬體的距離
1 i# d4 p6 }9 C% h. \8 M) a 4-8 淺談檔案系統
$ Z% ?' B& m+ A3 x* R/ _# d0 @0 e( _ 4-9 實作 Shell
+ E, O' |7 @6 ~# G 4-10 淺談特權模式與模式切換
8 f; c% b9 d H/ |4 H* x! c9 N8 E 4-11 認識 Microkernel
6 ]+ S! |/ s, k9 ~- T6 K- [ | CHAPTER 05 | 並行程式設計(使用 C 語言)- ~6 k' i+ H0 W# z; f! A6 F
5-1 Program, Process and Thread
& h5 ]/ f5 B0 x6 X2 P! g+ j 5-2 POSIX Thread 介紹& {/ w6 }# @& [: R! a4 |
5-3 並行程式的潛在問題 (一)
/ x/ P8 d2 V/ P. B( y' b 5-4 並行程式的潛在問題 (二)
' p# ^; ]" e# U0 }' {9 h: U, h* s1 O2 Z 5-5 並行程式的潛在問題 (三)
; s/ e' I; H! ^, ?# v
剩余 3% 内容需要支付 3.00×2共享币 后可完整阅读并提供下载链接
共享资料赚共享币,鼓励用户共享优质资料
|