中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
庖丁解牛LINUX操作系統分析

包郵 庖丁解牛LINUX操作系統分析

出版社:人民郵電出版社出版時間:2023-08-01
開本: 16開 頁數: 394
中 圖 價:¥69.9(7.0折) 定價  ¥99.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

庖丁解牛LINUX操作系統分析 版權信息

庖丁解牛LINUX操作系統分析 本書特色

本書榮獲:
國家精品在線開放課程、國家一流本科課程、華為“智能基座”精品慕課、中國高校計算機教育MOOC聯盟優秀課程,堪稱“Linux操作系統分析”的結晶; 涵蓋openEuler操作系統、ARM64匯編語言、虛擬化技術KVM和LXC容器技術,涵蓋了Linux操作系統各個主要方面;
本書適合作為高等院校計算機、軟件工程專業高年級本科生和研究生教材,同時可供計算機軟件相關從業人員學習參考。

庖丁解牛LINUX操作系統分析 內容簡介

本書將可移植操作系統 POSIX 標準和 CPU 指令集架構 ISA 兩層接口通過 Linux 操作系統貫通起來,涵蓋了 Linux 操作系統的各個主要方面,主要有以 openEuler 操作系統為例的 POSIX 工具集、計算機系統的工作原理、x86 和 ARM64 匯編語言、系統調用的工作機制、進程描述和內存管理、可執行程序工作原理、內核線程和 I/O 驅動框架、進程調度和進程切換、KVM 和容器技術、Linux 安全相關技術等 Linux 系 統運作的各個關鍵機制。 本書首先以 Linux 社區規則、Linux 發展的淵源、Linux 基本使用和命令工具作為導引;然后以存儲程序計算機相關的工作原理、x86 和 ARM64 匯編語言、指令亂序問題、mykernel 精簡內核實驗以及 Linux內核源代碼編譯和系統構建作為 Linux 內核的入門基礎;接著焦深入理解系統調用,并在 x86 和 ARM64系統調用實現的基礎上延伸到進程的創建、可執行程序的加載和進程的切換,其中涉及了進程描述符、進程地址空間和程序編譯構建等相關的內容;*后總結了 Linux 系統的一般執行過程和系統架構,并拓展到KVM 和容器技術,以及 Linux 系統安全相關技術。

庖丁解牛LINUX操作系統分析 目錄

第 1 章 Linux 操作系統概覽 1
1.1 自由軟件江湖里的“碼頭”和規矩 1
1.1.1 自由軟件世界的“擎天大柱”Linux 1
1.1.2 江湖的由來——自由軟件運動 1
1.1.3 江湖的規矩——開源軟件許可證 2
1.1.4 江湖的危局——GPLv2 和 GPLv3 3
1.2 操作系統成長記 4
1.2.1 操作系統誕生的背景 4
1.2.2 早期的軟件操作系統 5
1.2.3 系統調用的概念 6
1.2.4 多道程序操作系統 6
1.2.5 籠罩在 UNIX 上的陰影 7
1.2.6 早期個人計算機操作系統的大倒退 7
1.2.7 移動互聯網和 AIoT 時代的操作系統 8
1.3 國產操作系統概述... 9
1.3.1 國產操作系統的發展歷程 9
1.3.2 openEuler 操作系統 10
1.4 與 Linux 的第 一次親密接觸 13
1.4.1 Linux 內核發展簡史 13
1.4.2 安裝一個 Linux 系統 14
1.4.3 Linux 命令行簡明指南 17
1.5 openEuler 操作系統中的常用 Linux 命令參考 19
1.5.1 查看系統相關信息的命令 19
1.5.2 用戶管理和權限管理相關的命令 20
1.5.3 文件和目錄相關的命令 21
1.5.4 進程相關的命令 23
1.5.5 進程間通信(IPC)相關的命令 24
1.5.6 基本的開發者工具 24
1.5.7 I/O 相關的命令 25
1.5.8 Shell 腳本中的常用命令 25
本章實驗 26
第 2 章 計算機系統的基本工作原理 27
2.1 存儲程序計算機 27
2.1.1 哈佛結構與馮·諾依曼結構 27
2.1.2 復雜指令集和精簡指令集 29
2.1.3 深入理解馮·諾依曼體系結構 30
2.1.4 計算機的存儲系統 32
2.1.5 計算機的總線結構 33
2.2 x86 匯編語言基礎 35
2.2.1 x86 CPU 的寄存器 35
2.2.2 基本匯編語言語法規則 39
2.2.3 匯編語言代碼片段分析 43
2.2.4 分析完整的 x86 匯編程序 45
2.2.5 函數調用堆棧框架 53
2.2.6 C 語言代碼中內嵌匯編語言代碼 55
2.3 ARM64 匯編語言基礎 58
2.3.1 ARM64 CPU 的寄存器 58
2.3.2 常用的 ARM64 匯編指令 60
2.3.3 分析完整的 ARM64 匯編程序 62
2.4 指令亂序問題65
2.4.1 可重入函數與線程安全 65
2.4.2 編譯器指令亂序問題 69
2.4.3 CPU 指令亂序問題 72
2.5 編寫一個精簡的操作系統內核 75
2.5.1 虛擬一個 64 位 x86 的硬件平臺 75
2.5.2 精簡的操作系統內核范例代碼 76
2.5.3 精簡的操作系統內核關鍵代碼分析 80
本章實驗 87
第 3 章 Linux 內核源代碼及調試環境 90
3.1 Linux 內核源代碼.. 90
3.1.1 Linux 內核源代碼概述 90
3.1.2 用 VS Code 閱讀 Linux 內核源代碼 93
3.2 搭建 Linux 內核調試環境 96
3.2.1 編譯配置安裝 Linux 內核的步驟 96
3.2.2 下載編譯內核 97
3.2.3 制作內存根文件系統 98
3.2.4 跟蹤調試 Linux 內核的基本方法 99
3.2.5 配置 VS Code 調試 Linux 內核 101
3.3 跟蹤 Linux 內核的啟動過程103
3.3.1 Linux 內核的啟動過程概述 103
3.3.2 跟蹤分析 start_kernel 函數 105
本章實驗 111
第 4 章 深入理解系統調用 112
4.1 系統調用概述112
4.1.1 用戶態、內核態和中斷 112
4.1.2 系統調用的基本工作原理 115
4.1.3 x86 Linux 系統調用概述
4.1.4 ARM64 Linux 系統調用概述 118
4.2 觸發系統調用的方法 119
4.2.1 使用 C 語言庫函數 API 觸發系統調用 119
4.2.2 觸發系統調用的 32 位 x86 匯編語言代碼 121
4.2.3 觸發系統調用的 64 位 x86 匯編語言代碼 122
4.2.4 觸發系統調用的 ARM64 匯編語言代碼 123
4.3 深入理解 x86 Linux 系統調用 124
4.3.1 x86 Linux 系統調用的初始化 124
4.3.2 x86 Linux 系統調用的執行 127
4.3.3 x86 Linux 系統調用內核處理函數 132
4.3.4 x86 Linux 系統調用的內核堆棧 135
4.3.5 系統調用中的進程調度時機 137
4.4 深入理解 ARM64 Linux 系統調用 139
4.4.1 ARM64 Linux 異常向量表的初始化 139
4.4.2 ARM64 Linux 系統調用的執行 144
4.4.3 ARM64 Linux 系統調用內核處理函數 149
本章實驗 153
第 5 章 進程的描述和創建 154
5.1 進程的描述 154
5.1.1 Linux 進程描述符概覽 154
5.1.2 Linux 進程的狀態 156
5.1.3 Linux 進程鏈表結構及父子、兄弟關系 158
5.1.4 Linux 進程關鍵上下文 159
5.2 進程地址空間163
5.2.1 Linux 內存管理概述 163
5.2.2 Linux 進程地址空間 165
5.2.3 大頁內存 169
5.3 進程的創建 172
5.3.1 Linux 內核中進程的初始化 172
5.3.2 用戶態創建進程的方法 177
5.3.3 fork 系統調用 179
5.3.4 Linux 內核中進程創建過程 182
5.3.5 進程創建過程中 x86 相關代碼 190
5.3.6 進程創建過程中 ARM64 相關代碼 193
本章實驗 197
第 6 章 可執行程序工作原理 198
6.1 ELF 目標文件格式 198
6.1.1 ELF 目標文件格式概述 198
6.1.2 ELF 文件格式 199
6.1.3 ELF 相關操作命令 203
6.2 程序的編譯過程 204
6.2.1 預處理 204
6.2.2 編譯 205
6.2.3 匯編 206
6.2.4 鏈接208
6.3 鏈接與庫 208
6.3.1 符號與符號解析 209
6.3.2 重定位 212
6.3.3 靜態鏈接與動態鏈接 213
6.3.4 加載時動態鏈接 214
6.3.5 運行時動態鏈接 215
6.3.6 動態鏈接實驗 216
6.4 可執行程序的加載 218
6.4.1 程序加載概要 218
6.4.2 execve 與 fork 的區別和聯系 222
6.4.3 execve 系統調用的內核處理過程 223
6.4.4 start_thread 函數 229
6.5 系統調用、fork 和 execve 總結 231
本章實驗 233
第 7 章 中斷處理、內核線程和設備驅動 234
7.1 中斷處理概述 234
7.1.1 中斷的類型 234
7.1.2 中斷處理程序和下半部 235
7.1.3 軟中斷 239
7.2 內核線程概述 242
7.2.1 內核線程的概念 242
7.2.2 內核線程的創建管理 244
7.3 設備驅動程序 248
7.3.1 一切皆是文件 248
7.3.2 設備的定位和訪問 250
7.3.3 設備驅動程序代碼結構示例 252
本章實驗 254
第 8 章 進程調度與進程切換 255
8.1 進程調度概述 255
8.1.1 進程的分類 255
8.1.2 Linux 進程調度策略 256
8.1.3 CFS 進程調度算法 258
8.2 進程調度的時機... 261
8.3 進程上下文切換... 263
8.3.1 進程執行環境的切換 263
8.3.2 32 位 x86 架構下進程切換核心代碼分析 265
8.3.3 64 位 x86 架構下進程切換核心代碼分析 269
8.3.4 64 位 x86 架構下 fork 和 execve 相關的進程切換 272
8.3.5 ARM64 架構下進程切換核心代碼分析 274
本章實驗282
第 9 章 Linux 操作系統的軟件架構 283
9.1 Linux 操作系統的一般執行過程 283
9.1.1 32 位 x86 Linux 系統的一般執行過程 283
9.1.2 64 位 x86 Linux 系統的一般執行過程 284
9.1.3 ARM64 Linux 系統的一般執行過程 285
9.1.4 Linux 系統執行過程中的 5 種特殊情況 286
9.2 Linux 操作系統的軟件架構分析 287
9.2.1 Linux 操作系統的層次架構 287
9.2.2 Linux 操作系統的地址空間結構 288
9.2.3 Linux 操作系統的執行路徑 289
本章實驗 290
第 10 章 KVM 及虛擬機技術 291
10.1 虛擬機技術概述. 291
10.1.1 CPU 的虛擬化 292
10.1.2 內存的虛擬化 293
10.1.3 I/O 的虛擬化 294
10.2 KVM API 的使用方法 294
10.2.1 開啟或使能 KVM 硬件輔助虛擬化 294
10.2.2 安裝配置 KVM 297
10.2.3 使用 KVM API 創建一個虛擬機 297
10.2.4 KVM API 總結 300
10.3 QEMU-KVM 的實現原理 300
10.4 StratoVirt 302
10.4.1 StratoVirt 簡介 302
10.4.2 StratoVirt 和 QEMU 的區別 304
10.4.3 StratoVirt 的編譯構建 305
10.4.4 StratoVirt 的使用方法 306
本章實驗 308
第 11 章 Linux 容器技術.. 309
11.1 容器技術概述 309
11.2 Linux 容器技術的基本原理 311
11.2.1 chroot 技術 311
11.2.2 namespace 技術 315
11.2.3 Mount namespace 316
11.2.4 PID namespace 319
11.2.5 IPC namespace 320
11.2.6 UTS namespace 323
11.2.7 Network namespace 324
11.2.8 User namespace 325
11.2.9 cgroups 技術 326
11.3 如何創建一個容器 331
11.3.1 創建 namespace 的相關系統調用 331
11.3.2 制作 OCI 包并運行容器 332
11.4 Docker 334
11.4.1 Docker 技術概述 334
11.4.2 Dockerfile 和 Docker 鏡像 336
11.5 iSula 338
11.5.1 iSula 技術概述 338
11.5.2 iSula 的基本用法 339
11.5.3 iSulad 的系統架構 340
本章實驗353
第 12 章 Linux 系統安全相關技術 354
12.1 操作系統安全概述 354
12.1.1 信息安全的設計原則 354
12.1.2 操作系統安全的設計目標 356
12.2 Linux 系統的安全機制 359
12.2.1 Linux 系統的用戶賬號 359
12.2.2 Linux 文件系統的權限 360
12.2.3 Linux 的日志文件 363
12.2.4 Linux 縱深防御體系 364
12.3 Linux 系統的訪問控制 367
12.3.1 Linux 系統訪問控制概述 367
12.3.2 Linux Capabilities 374
12.3.3 AppArmor 377
12.3.4 SELinux 379
12.4 可信計算和機密計算 382
12.4.1 secGear 機密計算框架 382
12.4.2 secGear 開發指南 384
本章實驗 394
展開全部

庖丁解牛LINUX操作系統分析 作者簡介

孟寧,任職于中國科學技術大學軟件學院,夢寧軟件創始人,多年來專注于自主可控基礎系統軟件研發和教學。曾榮獲華為歐拉&高斯開源貢獻領英教師獎。著作有《代碼中的軟件工程》和《庖丁解牛Linux操作系統分析》等圖書。主講課程“軟件工程”“Linux操作系統分析”等,曾獲評“國家精品在線開放課程”和“國家一流本科課程”,被中國高校計算機教育MOOC聯盟評為優秀課程,榮獲華為“智能基座”優秀教學資源獎、安徽省教學成果獎二等獎等獎項。 婁嘉鵬,高校教師,研究方向包括Linux內核及安全、密碼系統設計與實現、軟件工程等。曾承擔國家863計劃、國家科技專項課題多項,榮獲省部級科技進步獎一等獎、三等獎多項,擁有多項發明專利和軟件著作權。曾榮獲“北京市優秀教師”稱號,多次被北京藍墨大數據技術研究院授予“北京市十大魅力教師”榮譽稱號。主講Java程序設計、Linux內核原理與分析、網絡攻防實戰、密碼系統設計等課程。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | 福州仿石漆加盟_福建仿石漆厂家-外墙仿石漆加盟推荐铁壁金钢(福建)新材料科技有限公司有保障 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 合肥制氮机_合肥空压机厂家_安徽真空泵-凯圣精机 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 丹尼克尔拧紧枪_自动送钉机_智能电批_柔性振动盘_螺丝供料器品牌 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 网站优化公司_SEO优化_北京关键词百度快速排名-智恒博网络 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 超声波气象站_防爆气象站_空气质量监测站_负氧离子检测仪-风途物联网 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 浙江自考_浙江自学考试网| BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 吹田功率计-长创耐压测试仪-深圳市新朗普电子科技有限公司 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 成都思迪机电技术研究所-四川成都思迪编码器 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 煤棒机_增碳剂颗粒机_活性炭颗粒机_木炭粉成型机-巩义市老城振华机械厂 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 网站优化公司_SEO优化_北京关键词百度快速排名-智恒博网络 | MVE振动电机_MVE震动电机_MVE卧式振打电机-河南新乡德诚生产厂家 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 湖南教师资格网-湖南教师资格证考试网| 深圳APP开发公司_软件APP定制开发/外包制作-红匣子科技 | 高空重型升降平台_高空液压举升平台_高空作业平台_移动式升降机-河南华鹰机械设备有限公司 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 技德应用| 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 自动化改造_智虎机器人_灌装机_贴标机-上海圣起包装机械 | 定量包装秤,吨袋包装称,伸缩溜管,全自动包装秤,码垛机器人,无锡市邦尧机械工程有限公司 |