操作系統基礎與實踐——基於openEuler平臺
郝家勝
- 出版商: 人民郵電
- 出版日期: 2024-10-01
- 定價: $479
- 售價: 8.5 折 $407
- 語言: 簡體中文
- 頁數: 290
- ISBN: 7115647879
- ISBN-13: 9787115647870
-
相關分類:
Operating-system
下單後立即進貨 (約2週~3週)
商品描述
本書圍繞操作系統基礎、UNIX設計思想和openEuler實踐3個方面展開,並將理論知識、設計思想和應用實踐緊密結合。本書內容涵蓋緒論、操作系統初識、openEuler使用入門、操作系統原理與實踐、openEuler開發環境、嵌入式操作系統開發、網絡基礎與管理、服務器操作系統管理,以及openEuler開源創新等。本書合理安排理論知識、精心設計操作實例,註重有機結合、循序深入,以幫助讀者深入理解Linux優秀設計思想,靈活運用其高效系統功能,並從開源社區中更好地學習和成長。
本書適合作為高等院校電腦、自動化、電子測量等專業方向本科生和研究生學習操作系統的教材或參考書,也適合 Linux 系統開發和運維人員閱讀,對從事電腦相關工作的專業人員具有參考價值。
作者簡介
郝家勝
哈爾濱工業大學獲學士、碩士、博士畢業,美國賓夕法尼亞大學(UPenn)訪問學者。中國電腦學會(CCF)會員、四川省電腦協會虛擬現實專委會委員、IEEE Transactions on Instrument & Measurement 和 COMPEL 等國際期刊審稿人。主持或作為主研參與科研課題20餘項,其中國家自然科學基金等國家級項目4項(包括重點項目1項),研製了輪式移動機器人、四足機器人等智能系統以及鑽井智能技術系統等,以第一作者在IEEE Trans. on Instrument & Measurement等期刊和 CDC(美國控制與決策)等國際學術會議發表論文20餘篇,擁有國家發明專利授權12項。主要講授漫談人工智能(核心通識課程)、嵌入式系統設計(挑戰性課程)和機器學習(研究生精品課程)等課程,主持華為教育部產學合作協同育人項目等多項省部級教改研究課題,指導本科生參加 2021年全國大學生冰壺人工智能挑戰賽並獲全國冠軍,獲華為雲與計算“先鋒教師”、華為昇騰專家(HAE)等稱號,入選2022年度教育部-華為“智能基座”優秀教師獎勵計劃。
肖寅東
長期從事任意波形合成和集成電路測試相關研究工作,提出軟件定義波形合成技術、測試向量合成指令設計方法、復雜向量合成優化調度算法、模擬/射頻集成電路測試程序優化算法等一系列技術手段,解決測試系統向量合成速率、測試信號質量、單片測試效率等核心指標提升的難題。作為第一負責人主持國家級項目9項,其中重點項目4項,自然科學基金面上項目1項,項目經費共計4000餘萬元;發表學術論文20餘篇,其中SCI檢索論文10餘篇;擔任國際知名學術雜志《ISA Transaction》審稿人。獲得授權美國發明專利1項,中國發明專利25項;獲教育部技術發明獎一等獎1項(排名7)。研發全自主知識產權任意波形發生器、集成電路測試系統,技術水平達到國內領先水平,可完全替代行業高端儀器,滿足各行業研發、生產單位迫切的測試需求。作為敏捷數字設計開發庫SpinalHDL的主要貢獻者,研究下一代軟硬件結合的HDL描述語言及相關應用。
王培丞
高級實驗師,電子科技大學學士、碩士,全國大學生智能汽車競賽技術專家委員會委員,主要從事嵌入式系統設計、高速信號處理研究。近5年參與國家重大重點研發項目3項,榮獲中國儀器儀表學會技術發明一等獎1項,發表高水平論文6篇,申請發明專利5項。電子科技大學智能汽車競賽負責人,帶隊榮獲全國大學生智能汽車競賽國家級獎項20餘項,省部級獎項40餘項。四川省一流本科課程《智能循跡避障小車-項目式新生課程》負責人,承擔省部級教改項目4項,校級教改項目3項。主講綜合課程設計(初階、中階、高階)-智能車方向、通用電子測試技術實驗等課程。
周文建
電子科技大學學士、碩士畢業。圍繞電子測試儀器、復雜裝備綜合測試與健康管理領域國家重大需求開展研究工作,先後主持和參與多項裝備發展部、軍科委等國家級項目。參與形成了“多源異質信號可重構實時捕獲關鍵技術”成果。 多年連續承擔《微處理器系統結構》、《課程設計基礎》、《嵌入式系統設計》等課程的教學工作,多次獲得優秀評教。
目錄大綱
第 1章 緒論 1
1.1 操作系統與ICT時代 1
1.2 操作系統起源 2
1.2.1 Multics項目 2
1.2.2 UNIX誕生 2
1.3 操作系統發展 4
1.3.1 UNIX的繁榮與版權困境 4
1.3.2 桌面操作系統的崛起 5
1.3.3 GNU/Linux的開源創新 7
1.3.4 ICT時代操作系統的興起 8
1.4 openEuler新生態 11
1.4.1 openEuler概覽 11
1.4.2 openEuler社區 12
1.4.3 openEuler軟件生態 13
1.5 本章小結 13
第 2章 操作系統初識 14
2.1 操作系統的基本組成 14
2.1.1 典型體系結構 14
2.1.2 系統內核和系統調用接口 15
2.1.3 應用程序 16
2.1.4 用戶界面 21
2.2 主流操作系統簡介 24
2.2.1 桌面操作系統 24
2.2.2 服務器操作系統 24
2.2.3 嵌入式操作系統 25
2.3 GNU/Linux的優秀特性 25
2.3.1 秉承UNIX設計哲學 26
2.3.2 自由與開放 27
2.3.3 可移植性 29
2.4 openEuler簡介 29
2.4.1 系統架構 29
2.4.2 創新特色 30
2.4.3 開源貢獻 31
2.5 體驗openEuler 32
2.5.1 華為雲ECS主機 32
2.5.2 VMware安裝 32
2.5.3 Docker容器運行 32
2.6 本章小結 33
思考與實踐 33
第3章 openEuler使用入門 34
3.1 交互界面 34
3.1.1 GUI 35
3.1.2 CLI 37
3.2 使用命令行 38
3.2.1 控制台和終端 38
3.2.2 登錄系統 39
3.2.3 遠程登錄 40
3.2.4 使用命令 41
3.2.5 獲取幫助 43
3.3 命令行基本操作 45
3.3.1 使用目錄 46
3.3.2 查看文件 51
3.3.3 管理文件 56
3.3.4 查找文件 59
3.3.5 查看系統信息 62
3.3.6 管理系統 64
3.4 Shell:讓命令行更強大 65
3.4.1 Bash簡介 65
3.4.2 環境變量 66
3.4.3 通配符與自動補全 68
3.4.4 組合命令 69
3.4.5 重定向 70
3.4.6 管道 72
3.4.7 擴展命令 74
3.4.8 命令行編輯 76
3.5 用戶與權限 76
3.5.1 用戶模型 77
3.5.2 切換用戶身份 77
3.5.3 權限模型 78
3.5.4 修改權限 79
3.5.5 修改屬主 80
3.6 安裝DDE桌面環境 80
3.7 本章小結 81
思考與實踐 81
第4章 操作系統原理與實踐 83
4.1 操作系統設計理念 83
4.2 文件管理 85
4.2.1 文件樹 85
4.2.2 VFS 89
4.2.3 EulerFS簡介 91
4.2.4 實例4-1:文件系統操作 91
4.3 內存管理 93
4.3.1 內存保護 93
4.3.2 虛擬內存管理 96
4.3.3 openEuler內存技術 97
4.3.4 實例4-2:內存信息分析 98
4.4 進程管理 99
4.4.1 並行化模型 100
4.4.2 進程創建 100
4.4.3 進程調度 102
4.4.4 進程間通信 103
4.4.5 線程抽象 104
4.4.6 openEuler進程技術 106
4.4.7 實例4-3:進程監控與進程管理 108
4.5 本章小結 110
思考與實踐 111
第5章 openEuler開發
環境 112
5.1 文本處理 112
5.1.1 Vim編輯器 113
5.1.2 nano編輯器 118
5.1.3 文本搜索 119
5.1.4 文本替換與自動編輯 121
5.1.5 文本分析 123
5.1.6 文本格式化 124
5.1.7 使用Git管理版本 126
5.2 Shell腳本編程 127
5.2.1 猜數字小游戲 128
5.2.2 變量 129
5.2.3 表達式 131
5.2.4 分支結構 132
5.2.5 循環結構 133
5.2.6 函數 135
5.2.7 項目5-1:install-help命令 135
5.3 C/C++應用開發 136
5.3.1 my-nl小工具 136
5.3.2 編譯與調試 137
5.3.3 Makefile構建 140
5.3.4 CMake構建 142
5.3.5 自動化測試 145
5.3.6 性能優化 146
5.3.7 項目5-2:my-utils工具箱 148
5.4 可移植性開發與Docker容器部署 148
5.4.1 POSIX可移植性 148
5.4.2 C/C++可移植性 150
5.4.3 Docker容器可移植性 151
5.4.4 openEuler多場景可移植性 154
5.4.5 項目5-3:my-utils跨平臺構建 155
5.5 在開源社區中學習 155
5.5.1 Linux與開放源碼 155
5.5.2 openEuler社區 156
5.6 本章小結 156
思考與實踐 157
第6章 嵌入式操作系統開發 158
6.1 嵌入式操作系統簡介 158
6.1.1 嵌入式系統軟件體系 159
6.1.2 主要特點 160
6.1.3 常見嵌入式操作系統 160
6.2 嵌入式Linux 161
6.2.1 嵌入式Linux開發流程 162
6.2.2 實例6-1:嵌入式開發環境構建 163
6.3 Linux內核裁剪與開發 165
6.3.1 Linux內核簡介 166
6.3.2 內核構建機制 168
6.3.3 實例6-2:內核編譯與QEMU模擬 169
6.4 根文件系統開發 171
6.4.1 BusyBox簡介 171
6.4.2 實例6-3:根文件系統編譯與QEMU模擬 172
6.5 openEuler嵌入式操作系統 174
6.5.1 技術架構與主要特性 175
6.5.2 oebuild構建方法 176
6.5.3 實例6-4:openEuler嵌入式
操作系統QEMU構建與模擬 177
6.5.4 嵌入式ROS運行時 177
6.5.5 軟實時特性 178
6.6 本章小結 179
思考與實踐 180
第7章 網絡基礎與管理 181
7.1 TCP/IP網絡模型 181
7.1.1 IP地址 183
7.1.2 埠 186
7.1.3 socket 186
7.1.4 socket編程接口 187
7.2 網絡管理基礎 189
7.2.1 基本概念 189
7.2.2 主機名 191
7.2.3 網絡接口名 192
7.3 管理網絡 193
7.3.1 網絡管理工具 193
7.3.2 配置連接 197
7.3.3 ifcfg文件 198
7.3.4 配置路由 199
7.3.5 診斷網絡 199
7.3.6 實例7-1:創建VLAN 201
7.4 網絡防火牆 202
7.4.1 iptables 203
7.4.2 firewalld 205
7.4.3 實例7-2:配置firewalld 208
7.5 經典網絡工具 209
7.5.1 SSH安全連接 209
7.5.2 wget文件下載 211
7.5.3 curl網絡交互 211
7.5.4 tcpdump抓包 212
7.5.5 Netcat網絡助手 213
7.5.6 Nmap探測器 214
7.6 本章小結 215
思考與實踐 215
第8章 服務器操作系統
管理 216
8.1 典型服務器操作系統 216
8.1.1 Windows Server 217
8.1.2 主流Linux Server 217
8.1.3 興起中的openEuler 218
8.2 用戶和用戶組 219
8.2.1 用戶管理 220
8.2.2 用戶組管理 221
8.2.3 實例8-1:批量添加用戶 222
8.3 硬盤與邏輯捲 222
8.3.1 硬盤分區 223
8.3.2 MBR和GPT 223
8.3.3 實例8-2:分區創建與掛載 224
8.3.4 邏輯捲 226
8.3.5 實例8-3:邏輯捲創建與掛載 227
8.4 軟件包 229
8.4.1 RPM包管理 231
8.4.2 DNF包管理 232
8.4.3 源碼包管理 233
8.5 系統服務 234
8.5.1 systemd 235
8.5.2 systemctl 236
8.5.3 .service文件 236
8.5.4 SSH服務 237
8.5.5 實例8-4:安裝LAMP組合 238
8.6 計劃任務 239
8.6.1 單次任務 239
8.6.2 周期任務 240
8.7 系統安全 241
8.7.1 root權限 241
8.7.2 文件特殊權限機制 242
8.7.3 SELinux 244
8.7.4 日誌系統 245
8.7.5 安全審計 250
8.8 系統管理與維護實例 251
8.8.1 實例8-5:使用Cockpit管理系統 251
8.8.2 實例8-6:WordPress博客建站 252
8.9 本章小結 255
思考與實踐 256
第9章 openEuler開源創新 257
9.1 內核創新 257
9.1.1 SMT驅離優先級反轉特性 258
9.1.2 CPU QoS優先級負載均衡特性 259
9.1.3 潮汐affinity特性 259
9.2 基礎能力創新 260
9.2.1 iSulad輕量級容器引擎 260
9.2.2 StratoVirt虛擬化 262
9.2.3 Kmesh高性能服務管理工具 263
9.2.4 內核熱升級 264
9.2.5 安全和可靠性 265
9.3 全場景使能創新 269
9.3.1 服務器 269
9.3.2 雲計算 273
9.3.3 嵌入式 276
9.3.4 邊緣計算 278
9.4 工具鏈創新 280
9.4.1 GCC for openEuler 280
9.4.2 Compass-CI測試平臺 281
9.4.3 EulerLauncher 282
9.4.4 A-Ops智能運維 283
9.4.5 A-Tune智能調優引擎 285
9.5 行業應用案例 286
9.5.1 金融應用案例 286
9.5.2 能源應用案例 288
9.5.3 雲計算應用案例 288
9.5.4 科研應用案例 289
9.6 本章小結 290
思考與實踐 290