求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

UNIX環境高級編程檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
UNIX環境高級編程

《UNIX環境高級編程》是2006年由人民郵電出版社出版的圖書,作者是(美)理查德·史蒂文斯、(美)拉戈,譯者是張亞英、戚正偉。

基本內容

定價:99.00元

出版時間:2006-05-01

譯者:張亞英戚正偉

ISBN:9787115147318

書名:UNIX環境高級編程

出版社:人民郵電出版社

作者:(美)理查德·史蒂文斯、(美)拉戈

頁數:759頁

類別:圖書 >> 計算機/網絡 >>操作系統/系統開發 >> UNIX Solaris

叢書名:圖靈計算機科學叢書

內容簡介

本書是被譽為UNIX編程「聖經」的Advanced Programming in the UNIX Environment一書的更新版。在本書第1版出版後的十幾年中,UNIX行業已經有了巨大的變化,特別是影響UNIX編程接口的有關標準變化很大。本書在保持了前一版的風格的基礎上,根據最新的標準對內容進行了修訂和增補,反映了最新的技術發展。書中除了介紹UNIX文件和目錄、標準I/O庫、系統數據文件和信息、進程環境、進程控制、進程關係、信號、線程、線程控制、守護進程、各種I/O、進程間通信、網絡IPC、偽終端等方面的內容,還在此基礎上介紹了多個應用示例,包括如何創建數據庫函數庫以及如何與網絡打印機通信等。此外,還在附錄中給出了函數原型和部分習題的答案。

本書內容權威,概念清晰,闡述精闢,對於所有層次UNIX程序員都是一本不可或缺的參考書。

作品目錄

第1章 UNIX基礎知識 1

1.1 引言 1

1.2 UNIX體系結構 1

1.3 登錄 1

1.4 文件和目錄 3

1.5 輸入和輸出 6

1.6 程序和進程 8

1.7 出錯處理 10

1.8 用戶標識 12

1.9 信號 14

1.10 時間值 15

1.11 系統調用和庫函數 16

1.12 小結 17

習題 18

第2章 UNIX標準化及實現 19

2.1 引言 19

2.2 UNIX標準化 19

2.2.1 ISO C 19

2.2.2 IEEE POSIX 20

2.2.3 Single UNIX Specification 25

2.2.4 FIPS 26

2.3 UNIX系統實現 26

2.3.1 SVR4 26

2.3.2 4.4BSD 27

2.3.3 FreeBSD 27

2.3.4 Linux 27

2.3.5 Mac OS X 28

2.3.6 Solaris 28

2.3.7 其他UNIX系統 28

2.4 標準和實現的關係 28

2.5 限制 29

2.5.1 ISO C限制 29

2.5.2 POSIX限制 30

2.5.3 XSI限制 32

2.5.4 sysconf、pathconf和fpathconf函數 32

2.5.5 不確定的運行時限制 38

2.6 選項 42

2.7 功能測試宏 44

2.8 基本系統數據類型 45

2.9 標準之間的衝突 45

2.10 小結 46

習題 46

第3章 文件I/O 47

3.1 引言 47

3.2文件描述符47

3.3 open函數 48

3.4 creat函數 49

3.5 close函數 50

3.6 lseek函數 50

3.7 read函數 53

3.8write函數54

3.9 I/O的效率 54

3.10 文件共享 56

3.11 原子操作 59

3.12 dup和dup2函數 60

3.13 sync、fsync和fdatasync函數 61

3.14 fcntl函數 62

3.15 ioctl函數 66

3.16 /dev/fd 67

3.17 小結 68

習題 68

第4章 文件和目錄 71

4.1 引言 71

4.2 stat、fstat和lstat函數 71

4.3 文件類型 72

4.4 設置用戶ID和設置組ID 74

4.5 文件訪問權限 75

4.6 新文件和目錄的所有權 77

4.7access函數77

4.8 umask函數 79

4.9 chmod和fchmod函數 81

4.10 粘住位 83

4.11 chown、fchown和lchown函數 84

4.12 文件長度 85

4.13 文件截短 86

4.14 文件系統 86

4.15 link、unlink、remove和rename函數 89

4.16 符號鏈接 91

4.17 symlink和readlink函數 94

4.18 文件的時間 94

4.19 utime函數 95

4.20 mkdir和rmdir函數 97

4.21 讀目錄 98

4.22 chdir、fchdir和getcwd函數 102

4.23 設備特殊文件 104

4.24 文件訪問權限位小結 106

4.25 小結 106

習題 107

第5章 標準I/O庫 109

5.1 引言 109

5.2 流和FILE對象 109

5.3 標準輸入、標準輸出和標準出錯 110

5.4 緩衝 110

5.5 打開流 112

5.6 讀和寫流 114

5.7 每次一行I/O 116

5.8 標準I/O的效率 117

5.9 二進制I/O 119

5.10 定位流 120

5.11 格式化I/O 121

5.12 實現細節 125

5.13臨時文件127

5.14 標準I/O的替代軟件 130

5.15 小結 130

習題 130

第6章 系統數據文件和信息 133

6.1 引言 133

6.2 口令文件 133

6.3 陰影口令 136

6.4 組文件 137

6.5 附加組ID 138

6.6 實現的區別 139

6.7 其他數據文件 139

6.8 登錄賬戶記錄 140

6.9 系統標識 141

6.10 時間和日期例程 142

6.11 小結 146

習題 146

第7章 進程環境 147

7.1 引言 147

7.2main函數147

7.3 進程終止 147

7.4 命令行參數 151

7.5 環境表 152

7.6 C程序的存儲空間布局 152

7.7 共享庫 154

7.8 存儲器分配 154

7.9 環境變量 157

7.10 setjmp和longjmp函數 159

7.11 getrlimit和setrlimit函數 164

7.12 小結 168

習題 168

第8章 進程控制 171

8.1 引言 171

8.2 進程標識符171

8.3 fork函數 172

8.4 vfork函數 176

8.5 exit函數 178

8.6 wait和waitpid函數 179

8.7 waitid函數 183

8.8 wait3和wait4函數 184

8.9 競爭條件 185

8.10 exec函數 188

8.11 更改用戶ID和組ID 192

8.12解釋器文件 196

8.13 system函數 200

8.14 進程會計 203

8.15 用戶標識 208

8.16 進程時間 208

8.17 小結 210

習題 211

第9章 進程關係 213

9.1 引言 213

9.2 終端登錄 213

9.3 網絡登錄 216

9.4 進程組 218

9.5 會話 219

9.6 控制終端 220

9.7 tcgetpgrp、tcsetpgrp和tcgetsid函數 221

9.8 作業控制 222

9.9 shell執行程序 225

9.10 孤兒進程組 228

9.11 FreeBSD實現 230

9.12 小結 231

習題 232

第10章 信號 233

10.1 引言 233

10.2 信號概念 233

10.3 signal函數 240

10.4 不可靠的信號 242

10.5 中斷的系統調用 244

10.6 可重入函數 246

10.7 SIGCLD語義 248

10.8 可靠信號術語和語義 250

10.9 kill和raise函數 251

10.10 alarm和pause函數 252

10.11 信號集 256

10.12 sigprocmask函數 258

10.13 sigpending函數 259

10.14 sigaction函數 261

10.15 sigsetjmp和siglongjmp函數 266

10.16 sigsuspend函數 268

10.17abort函數274

10.18 system函數 276

10.19 sleep函數 280

10.20 作業控制信號 282

10.21 其他特徵 284

10.22 小結 285

習題 285

第11章 線程 287

11.1 引言 287

11.2 線程概念 287

11.3 線程標識 288

11.4 線程的創建 288

11.5 線程終止 291

11.6 線程同步 297

11.7 小結 311

習題 311

第12章 線程控制 313

12.1 引言 313

12.2 線程限制 313

12.3 線程屬性 314

12.4 同步屬性 318

12.5 重入 324

12.6 線程私有數據 328

12.7 取消選項 331

12.8 線程和信號 333

12.9 線程和fork 336

12.10 線程和I/O 339

12.11 小結 340

習題 340

第13章 守護進程 341

13.1 引言 341

13.2 守護進程的特徵 341

13.3 編程規則 342

13.4 出錯記錄 345

13.5 單實例守護進程 348

13.6 守護進程的慣例 350

13.7 客戶進程-服務器進程模型 354

13.8 小結 354

習題 354

第14章 高級I/O 355

14.1 引言 355

14.2 非阻塞I/O 355

14.3 記錄鎖 357

14.4 STREAMS 370

14.5 I/O多路轉接 379

14.5.1 select和pselect函數 381

14.5.2 poll函數 384

14.6 異步I/O 386

14.6.1 系統V異步I/O 386

14.6.2 BSD異步I/O 387

14.7 readv和writev函數 387

14.8 readn和writen函數 389

14.9 存儲映射I/O 390

14.10 小結 395

習題 396

第15章 進程間通信 397

15.1 引言 397

15.2 管道 398

15.3 popen和pclose函數 403

15.4 協同進程 408

15.5 FIFO 412

15.6 XSI IPC 415

15.6.1 標識符和鍵 415

15.6.2 權限結構 416

15.6.3 結構限制 417

15.6.4 優點和缺點 417

15.7 消息隊列 418

15.8信號量422

15.9 共享存儲 427

15.10 客戶進程-服務器進程屬性 432

15.11 小結 434

習題 434

第16章 網絡IPC:套接字 437

16.1 引言 437

16.2 套接字描述符 437

16.3 尋址 439

16.3.1 字節序 440

16.3.2 地址格式 441

16.3.3 地址查詢 442

16.3.4 將套接字與地址綁定 449

16.4 建立連接 450

16.5 數據傳輸 452

16.6 套接字選項 464

16.7 帶外數據 466

16.8 非阻塞和異步I/O 467

16.9 小結 468

習題 468

第17章 高級進程間通信 469

17.1 引言 469

17.2 基於STREAMS的管道 469

17.2.1 命名的STREAMS管道 472

17.2.2 唯一連接 473

17.3 UNIX域套接字 476

17.3.1 命名UNIX域套接字 477

17.3.2 唯一連接 478

17.4 傳送文件描述符 482

17.4.1 經由基於STREAMS的管道傳送文件描述符 484

17.4.2 經由UNIX域套接字傳送文件描述符 486

17.5 open服務器版本1 493

17.6 open服務器版本2 498

17.7 小結 505

習題 505

第18章 終端I/O 507

18.1 引言 507

18.2 綜述 507

18.3 特殊輸入字符 512

18.4 獲得和設置終端屬性 516

18.5 終端選項標誌 516

18.6 stty命令 522

18.7 波特率函數 523

18.8 行控制函數 524

18.9 終端標識 524

18.10 規範模式 529

18.11 非規範模式 532

18.12 終端的窗口大小 537

18.13 termcap,terminfo和curses 539

18.14 小結 540

習題 540

第19章 偽終端 541

19.1 引言 541

19.2 概述 541

19.3 打開偽終端設備 544

19.3.1 基於STREAMS的偽終端 547

19.3.2 基於BSD的偽終端 549

19.3.3 基於Linux的偽終端 551

19.4 pty_fork函數 553

19.5 pty程序 555

19.6 使用pty程序 559

19.7 高級特性 564

19.8 小結 565

習題 565

第20章 數據庫函數庫 567

20.1 引言 567

20.2 歷史 567

20.3 函數庫 568

20.4 實現概述 569

20.5 集中式或非集中式 572

20.6 並發 574

20.7 構造函數庫 574

20.8源代碼575

20.9 性能 598

20.10 小結 600

習題 601

第21章 與網絡打印機通信 603

21.1 引言 603

21.2 網絡打印協議 603

21.3超文本傳輸協議605

21.4 打印假脫機技術 605

21.5 源代碼 607

21.6 小結 644

習題 645

附錄A 函數原型 647

附錄B 其他源代碼 677

附錄C 部分習題答案 685

參考書目 709

索引 715

作者簡介

W.Richard Stevens,備受讚譽的技術作家,生前著有多種經典的傳世之作,包括《UNIX網絡編程》(兩卷本)、《TCP/IP詳解》(三卷本)和本書第1版。

尤晉元,上海交通大學計算機科學及工程系教授、博士生導師。在科研方面,主要從事操作系統和分布對象計算技術方面的研究;在教學方面,長期承擔操作系統及分布計算等課程的教學工作。主編和翻譯了多本操作系統教材和參考書,包括《UNIX操作系統教程》、《UNIX高級編程技術》、《UNIX環境高級編程》和《操作系統:設計與實現》等。[1]

參考文獻

  1. UNIX環境高級編程道客巴巴網,2013-01-09