Linux作業系統:基礎、原理與套用(第2版)

Linux作業系統:基礎、原理與套用(第2版)

《Linux作業系統:基礎、原理與套用(第2版)》是2019年清華大學出版社出版的圖書,作者是張玲張玲。

基本介紹

  • 中文名:Linux作業系統:基礎、原理與套用(第2版)
  • 作者:張玲
  • ISBN:9787302494072
  • 出版社:清華大學出版社
  • 出版時間:2019.08.01
內容簡介,目錄,

內容簡介

本書以理論結合實踐,注重套用為原則,全面、系統地講述作業系統的基本原理,並將其與Linux的實現和套用技術緊密結合。全書內容分為3部分:第1部分為基礎篇,包括Linux系統概述、Linux系統的操作基礎、vi文本編輯器的使用以及Linux C編程基礎;第2部分為原理篇,介紹作業系統的基本原理和Linux核心實現技術,包括進程管理、存儲管理、檔案管理、設備管理和作業系統接口;第3部分為套用篇,包括Shell程式設計、Linux系統管理和網路與通信套用。

目錄

第1部分 基礎篇
第1章作業系統概述/ 3
1.1 認識作業系統 3
1.1.1 作業系統的概念 3
1.1.2 作業系統的功能 4
1.2 作業系統的發展與現狀 5
1.2.1 作業系統的發展 5
1.2.2 作業系統的分類與現狀 7
1.3 Linux作業系統概述 11
1.3.1 Linux的發展背景與歷史 11
1.3.2 Linux作業系統的特點 13
1.3.3 Linux作業系統的組成 14
1.3.4 Linux作業系統的版本 14
1.3.5 Linux作業系統的套用與發展 17
習題 17
第2章Linux操作基礎/ 18
2.1 Linux基本操作 18
2.1.1 登錄 18
2.1.2 修改口令 19
2.1.3 退出 20
2.1.4 系統的關閉與重啟 20
2.2.1 命令的格式 21
2.2.2 命令的輸入與執行 21
2.2.3 幾個簡單命令 22
2.2.4 在線上幫助 25
2.3Linux檔案操作 25
2.3.1Linux系統的檔案 26
2.3.2Linux系統的目錄 32
2.3.3常用的目錄操作命令 33
2.3.4常用的檔案操作命令 37
2.4輸入輸出重定向 53
2.4.1命令的輸入與輸出 53
2.4.2輸入重定向 54
2.4.3輸出重定向 55
2.4.4管道 59
習題 61
3.1vi文本編輯器概述 63
3.1.1vi文本編輯器介紹 63
3.1.2vi的工作模式 64
3.1.3vi的基本工作流程 64
3.2vi基本命令 65
3.2.1游標定位與移動 66
3.2.2文本輸入與刪除 67
3.2.3文本修改與替換 68
3.2.4文本複製、貼上與選擇 69
3.2.5撤銷與重做 71
3.3vi常用末行命令 71
3.3.1搜尋與替換命令 71
3.3.2檔案操作與退出命令 73
3.3.3其他常用命令 73
習題 74
第4章LinuxC編程基礎/75
4.1LinuxC編程方法概述 75
4.2gcc編譯基礎 76
4.2.1gcc編譯過程 76
4.2.2gcc命令 78
4.2.3gcc套用舉例 79
4.3在線上手冊 82
習題 82
第2部分原理篇
第5章進程管理/87
5.1進程 87
5.1.1程式的順序執行與並發執行 87
5.1.2進程的概念 89
5.1.4Linux系統中的進程 92
5.2進程的運行模式 95
5.2.1作業系統的核心 95
5.2.2中斷與系統調用 97
5.2.3進程的運行模式 98
5.3進程的描述與組織 98
5.3.1進程的資源 98
5.3.2進程的描述結構 100
5.3.3進程的組織 100
5.4進程控制 101
5.4.1進程控制的功能 101
5.4.2Linux系統的進程控制 102
5.4.3Shell命令的執行過程 109
5.5進程調度 110
5.5.1進程調度的基本原理 110
5.5.2Linux系統的進程調度 112
5.5.3Linux系統的進程切換 117
5.6進程的互斥與同步 120
5.6.1進程間的制約關係 120
5.6.2信號量同步機制 121
5.6.3Linux的信號量機制 123
5.6.4死鎖問題 124
5.7進程通信 125
5.7.1進程通信的方式 126
5.7.2Linux信號通信原理 127
5.7.3Linux管道通信原理 132
5.8執行緒 132
5.8.1執行緒的概念 132
5.8.2執行緒與進程的比較 133
5.8.3核心級執行緒與用戶級執行緒 133
5.8.4Linux系統的執行緒 134
習題 135
第6章存儲管理/137
6.1存儲管理概述 137
6.1.1記憶體的分配與回收 137
6.1.2存儲地址變換 137
6.1.3記憶體的保護 140
6.1.4記憶體的擴充 140
6.2存儲管理方案 141
6.2.1段式存儲管理 141
6.2.2頁式存儲管理 143
6.3虛擬存儲管理 146
6.3.2頁式虛擬存儲器原理 147
6.4Linux的存儲管理 150
6.4.1Linux的記憶體訪問機制 150
6.4.2進程地址空間的管理 154
6.4.3記憶體空間的管理 159
6.4.4頁面的交換 162
習題 165
第7章檔案管理/166
7.1檔案管理技術 166
7.1.1檔案與檔案系統 166
7.1.2檔案的邏輯結構與存取方式 168
7.1.3檔案的物理結構與存儲方式 169
7.1.4檔案的共享與保護 173
7.1.5檔案存儲空間的管理 173
7.2Linux檔案系統概述 174
7.2.1Linux檔案系統的特點 174
7.2.2Linux檔案系統的結構 175
7.3Ext檔案系統 177
7.3.1Ext檔案的結構 177
7.3.2Ext檔案系統的磁碟布局 183
7.3.3Ext檔案存儲分配策略 187
7.4虛擬檔案系統 188
7.4.1VFS的對象 188
7.4.2VFS對象的關聯結構 192
7.4.3VFS檔案與進程的接口 192
7.4.4VFS檔案與快取的接口 194
7.4.5檔案系統的註冊與掛裝 195
7.4.6檔案的操作 196
習題 198
第8章設備管理/199
8.1設備管理概述 199
8.1.1設備管理的功能 199
8.1.2設備的分類 200
8.1.3設備與系統的接口 200
8.1.4I/O系統的硬體結構 203
8.1.5I/O系統的軟體結構 204
8.2設備管理的相關技術 205
8.2.1中斷技術 205
8.2.2緩衝與快取技術 207
8.2.3DMA技術 209
8.3I/O控制方式 210
8.3.1程式控制I/O方式 211
8.3.2中斷I/O方式 211
8.3.3DMA方式 212
8.3.4通道方式 212
8.4設備的分配與調度 213
8.4.1設備分配的方法 213
8.4.2虛擬設備技術 214
8.5設備的驅動 215
8.5.1設備的驅動方式 215
8.5.2驅動程式與中斷處理程式 215
8.6Linux設備管理 216
8.6.1Linux設備管理綜述 216
8.6.2LinuxI/O系統的軟體結構 218
8.6.3Linux的設備管理機制 219
8.6.4字元設備的管理與驅動 221
8.6.5塊設備的管理與驅動 222
8.6.6檔案的塊I/O操作 225
8.6.7Linux的中斷處理 229
習題 233
第9章作業系統接口/234
9.1作業系統接口概述 234
9.1.1作業與作業調度 234
9.1.2作業系統的接口 235
9.1.3Linux系統的接口 236
9.2Shell命令接口 236
9.2.1Shell界面的組成 236
9.2.2Shell的功能 236
9.2.3Shell的版本 237
9.2.4Shell的工作流程 238
9.3Linux圖形用戶界面 239
9.3.1XWindow系統概述 239
9.3.2X系統的體系結構 240
9.3.3X圖形界面的組成 242
9.3.4新一代圖形系統 246
9.3.5Linux桌面系統簡介 248
9.4Linux系統調用接口 252
9.4.1系統調用接口概述 252
9.4.2系統調用接口的組成 253
9.4.3系統調用的分類 254
9.4.4系統調用的執行過程 255
習題 257
第3部分套用篇
第10章Shell程式設計/261
10.1Shell語言概述 261
10.1.1Shell語言的特點 261
10.1.2Shell程式 261
10.1.3Shell程式的建立與執行 262
10.2Shell特殊字元 263
10.2.1通配符 263
10.2.2輸入輸出重定向與管道符 264
10.2.3命令執行控制符 266
10.2.4命令組合符 267
10.2.5命令替換符 267
10.2.6其他元字元 268
10.2.7元字元的引用 268
10.3Shell變數 269
10.3.1變數的定義與使用 269
10.3.2變數的作用域 271
10.3.3變數的分類 272
10.3.4環境變數 273
10.3.5特殊變數 275
10.4Shell表達式 279
10.4.1數字運算表達式 279
10.4.2邏輯測試表達式 281
10.5Shell控制結構 284
10.5.1條件與條件命令 284
10.5.2分支控制命令 284
10.5.3循環控制命令 286
10.5.4退出循環命令 288
10.5.5退出命令 289
10.6Shell程式綜合舉例 290
習題 293
第11章Linux系統管理/295
11.1系統管理概述 295
11.1.1系統管理工作的內容 295
11.1.2系統管理工具 295
11.1.3root的權威性與危險性 296
11.2啟動與關閉系統 296
11.2.1Linux系統的引導方式 296
11.2.2Linux系統的初始化機制 297
11.2.3系統的啟動與關閉操作 300
11.3用戶與用戶組管理 301
11.3.1用戶與用戶組 301
11.3.2用戶管理 303
11.3.3用戶組管理 307
11.3.4用戶許可權管理 307
11.4檔案系統維護 309
11.4.1檔案系統的目錄結構 309
11.4.2檔案存儲設備及命名規則 311
11.4.3建立檔案系統空間 314
11.4.4建立檔案系統 316
11.4.5掛裝與拆卸檔案系統 316
11.4.6修復檔案系統 319
11.5系統備份 319
11.5.1備份策略 320
11.5.2備份命令 320
11.6系統監控 323
11.6.1監視用戶的登錄 323
11.6.2監控進程的運行 324
11.6.3監視記憶體的使用 329
11.6.4監視檔案系統的使用 329
11.7軟體安裝 331
11.7.1軟體的打包與安裝 331
11.7.2RPM軟體包管理工具 332
11.7.3DNF軟體包管理工具 335
習題 337
第12章網路與通信套用/338
12.1TCP/IP網路相關概念 338
12.1.1TCP/IP協定概述 338
12.1.2IP位址與域名 339
12.1.3協定連線埠 340
12.1.4客戶/伺服器軟體模型 341
12.2Linux網路套用技術 342
12.2.1網路套用軟體概述 342
12.2.2網路探詢 343
12.2.3DNS查詢 344
12.2.4遠程執行命令 344
12.2.5檔案傳輸 346
12.2.6電子郵件 347
習題 350
附錄ALinux系統的安裝/351
A.1安裝準備 351
A.1.1獲得安裝映像 351
A.1.2確定安裝方式 352
A.2在虛擬機中安裝Linux系統 352
A.2.1虛擬機技術簡介 352
A.2.2安裝虛擬機軟體 353
A.2.3創建虛擬機 353
A.2.4在虛擬機中安裝Linux 358
A.3在硬碟中安裝Linux系統 363
A.3.1製作安裝引導盤 363
A.3.2安裝前操作 364
A.3.3安裝過程 365
A.3.4設定系統引導 366
附錄BLinuxC開發工具簡介/369
B.1LinuxC開發環境 369
B.2make工具介紹 371
B.2.1makefile檔案 372
B.2.2make命令 374
B.3調試工具介紹 376
B.3.1gdb命令 376
B.3.2gdb的使用 377
參考文獻/385

相關詞條

熱門詞條

聯絡我們