操作系統基礎與實踐——基於openEuler平臺
郝家勝
- 出版商: 人民郵電
- 出版日期: 2024-10-01
- 定價: $479
- 售價: 8.5 折 $407
- 語言: 簡體中文
- 頁數: 290
- ISBN: 7115647879
- ISBN-13: 9787115647870
-
相關分類:
Operating-system
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書圍繞操作系統基礎、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