注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計程序設計綜合UNIX環(huán)境高級編程

UNIX環(huán)境高級編程

UNIX環(huán)境高級編程

定 價:¥55.00

作 者: (美)W.Richard Stevens著;尤晉元等譯;尤晉元譯
出版社: 機械工業(yè)出版社
叢編項: 計算機科學叢書
標 簽: UNIX

ISBN: 9787111075790 出版時間: 2000-01-01 包裝: 膠版紙
開本: 26cm 頁數: 540 字數:  

內容簡介

  本書詳細說明、討論UNIX程序設計界面的應用技術,包括:系統(tǒng)調用界面及標準C函數庫。全書具有鮮明的特點:在同類書籍中內容最為豐富、實用;提供了大量應用實例,其中大部分可直接引入到相關程序設計中;界面應用和UNIX內部結構緊密結合。本書全面介紹了UNIX系統(tǒng)的程序設計界面——系統(tǒng)調用界面和標準C庫提供的許多函數。 本書的前15章著重于理論知識闡述,主要內容包括UNIX文件和目錄、進程環(huán)境、進程控制、進程間通信以及各種I/O。在此基礎上,分別按章介紹了多個應用實例,包括如何創(chuàng)建數據庫函數庫,PostScript打印機驅動程序,調制解調器撥號器及在偽終端上運行其他程序的程序等。 本書內容豐富權威,概念清晰精辟,一直以來被譽為UNIX編程的“圣經”,對于所有UNIX程序員——無論是初學者還是專家級人士——都是一本無價的參考書籍。

作者簡介

  作者:W.RichardStevens國際知名的Unix和網絡專家,《TCP/IP詳解》(三卷本)作者W.RichardStevens(1951-1999),是國際知名的Unix和網絡專家;受人尊敬的計算機圖書作家;同時他還是廣受歡迎的教師和顧問。Stevens先生1951年生于贊比亞,他的家庭曾多次搬遷,最終定居于南非。早年,他就讀于美國弗吉尼亞州的費什本軍事學校,后獲得密歇根大學學士、亞利桑那大學系統(tǒng)工程碩士和博士學位。他曾就職于基特峰國家天文臺,從事計算機編程;還曾在康涅狄格州紐黑文市的健康系統(tǒng)國際公司任主管計算機服務的副總裁。Stevens先生不幸病逝于1999年9月1日,他的離去是計算機界的巨大損失。UNIX環(huán)境高級編程(第2版)>>更多作品

圖書目錄

目      錄
譯者序
譯者簡介
前言
第1章   UNIX基礎知識 1
1.1   引言 1
1.2   登錄 1
1.2.1   登錄名 1
1.2.2   shell 1
1.3   文件和目錄 2
1.3.1   文件系統(tǒng) 2
1.3.2   文件名 2
1.3.3   路徑名 2
1.3.4   工作目錄 4
1.3.5   起始目錄 4
1.4   輸入和輸出 5
1.4.1   文件描述符 5
1.4.2   標準輸入. 標準輸出和標準
           出錯 5
1.4.3   不用緩存的I/O 5
1.4.4   標準I/O 6
1.5   程序和進程 7
1.5.1   程序 7
1.5.2   進程和進程ID 7
1.5.3   進程控制 7
1.6   ANSI C 9
1.6.1   函數原型 9
1.6.2   類屬指針 9
1.6.3   原始系統(tǒng)數據類型 10
1.7   出錯處理 10
1.8   用戶標識 11
1.8.1   用戶ID 11
1.8.2   組ID 12
1.8.3   添加組ID 12
1.9   信號 12
1.10   UNIX時間值 14
1.11   系統(tǒng)調用和庫函數 14
1.12   小結 16
習題 16
第2章   UNIX標準化及實現(xiàn) 17
2.1   引言 17
2.2   UNIX標準化 17
2.2.1   ANSI C 17
2.2.2   IEEE POSIX 18
2.2.3   X/Open XPG3 19
2.2.4   FIPS 19
2.3   UNIX實現(xiàn) 19
2.3.1   SVR4 20
2.3.2   4.3+BSD 20
2.4   標準和實現(xiàn)的關系 21
2.5   限制 21
2.5.1   ANSI C限制 22
2.5.2   POSIX限制 22
2.5.3   XPG3限制 24
2.5.4   sysconf. pathconf 和fpathconf
函數 24
2.5.5   FIPS 151-1要求 28
2.5.6   限制總結 28
2.5.7   未確定的運行時間限制 29
2.6   功能測試宏 32
2.7   基本系統(tǒng)數據類型 32
2.8   標準之間的沖突 33
2.9   小結 34
習題 34
第3章   文件I/O 35
3.1   引言 35
3.2   文件描述符 35
3.3   open函數 35
3.4   creat函數 37
3.5   close函數 37
3.6   lseek函數 38
3.7   read函數 40
3.8   write函數 41
3.9   I/O的效率 41
3.10   文件共享 42
3.11   原子操作 45
3.11.1   添加至一個文件 45
3.11.2   創(chuàng)建一個文件 45
3.12   dup和dup2函數 46
3.13   fcntl函數 47
3.14   ioctl函數 50
3.15   /dev/fd 51
3.16   小結 52
習題 52
第4章   文件和目錄 54
4.1   引言 54
4.2   stat, fstat和lstat函數 54
4.3   文件類型 55
4.4   設置-用戶-ID和設置-組-ID 57
4.5   文件存取許可權 58
4.6   新文件和目錄的所有權 60
4.7   access函數 60
4.8   umask函數 62
4.9   chmod和fchmod函數 63
4.10   粘住位 65
4.11   chown, fchown和 lchown函數 66
4.12   文件長度 67
4.13   文件截短 68
4.14   文件系統(tǒng) 69
4.15   link, unlink, remove和rename 
         函數 71
4.16   符號連接 73
4.17   symlink 和readlink函數 76
4.18   文件的時間 76
4.19   utime函數 78
4.20   mkdir和rmdir函數 79
4.21   讀目錄 80
4.22   chdir, fchdir和getcwd函數 84
4.23   特殊設備文件 86
4.24   sync和fsync函數 87
4.25   文件存取許可權位小結 88
4.26   小結 89
習題 89
第5章   標準I/O庫 91
5.1   引言 91
5.2   流和FILE對象 91
5.3   標準輸入. 標準輸出和標準出錯 91
5.4   緩存 91
5.5   打開流 94
5.6   讀和寫流 96
5.6.1   輸入函數 96
5.6.2   輸出函數 97
5.7   每次一行I/O 98
5.8   標準I/O的效率 99
5.9   二進制I/O 100
5.10   定位流 102
5.11   格式化I/O 103
5.11.1   格式化輸出 103
5.11.2   格式化輸入 103
5.12   實現(xiàn)細節(jié) 104
5.13   臨時文件 105
5.14   標準I/O的替代軟件 108
5.15   小結 108
習題 108
第6章   系統(tǒng)數據文件和信息 110
6.1   引言 110
6.2   口令文件 110
6.3   陰影口令 112
6.4   組文件 113
6.5   添加組ID 114
6.6   其他數據文件 115
6.7   登錄會計 116
6.8   系統(tǒng)標識 116
6.9   時間和日期例程 117
6.10   小結 121
習題 121
第7章   UNIX進程的環(huán)境 122
7.1   引言 122
7.2   main 函數 122
7.3   進程終止 122
7.3.1   exit和_exit函數 122
7.3.2   atexit函數 124
7.4   命令行參數 125
7.5   環(huán)境表 126
7.6   C程序的存儲空間布局 126
7.7   共享庫 127
7.8   存儲器分配 128
7.9   環(huán)境變量 130
7.10   setjmp 和longjmp函數 132
7.10.1   自動. 寄存器和易失變量 134
7.10.2   自動變量的潛在問題 136
7.11   getrlimit 和setrlimit函數 136
7.12   小結 139
習題 140
第8章   進程控制 141
8.1   引言 141
8.2   進程標識 141
8.3   fork函數 142
8.4   vfork 函數 145
8.5   exit函數 147
8.6   wait和waitpid函數 148
8.7   wait3和wait4函數 152
8.8   競態(tài)條件 153
8.9   exec函數 156
8.10   更改用戶ID和組ID 160
8.10.1   setreuid 和setregid函數 162
8.10.2   seteuid和 setegid函數 163
8.10.3   組ID 163
8.11   解釋器文件 164
8.12   system函數 167
8.13   進程會計 171
8.14   用戶標識 175
8.15   進程時間 176
8.16   小結 178
習題 178
第9章   進程關系 180
9.1   引言 180
9.2   終端登錄 180
9.2.1   4.3+BSD終端登錄 180
9.2.2   SVR4終端登錄 182
9.3   網絡登錄 182
9.3.1   4.3+BSD網絡登錄 182
9.3.2   SVR4網絡登錄 183
9.4   進程組 183
9.5   對話期 184
9.6   控制終端 185
9.7   tcgetpgrp 和tcsetpgrp函數 187
9.8   作業(yè)控制 187
9.9   shell執(zhí)行程序 189
9.10   孤兒進程組 193
9.11   4.3+BSD實現(xiàn) 195
9.12   小結 197
習題 197
第10章   信號 198
10.1   引言 198
10.2   信號的概念 198
10.3   signal函數 203
10.3.1   程序起動 205
10.3.2   進程創(chuàng)建 206
10.4   不可靠的信號 206
10.5   中斷的系統(tǒng)調用 207
10.6   可再入函數 209
10.7   SIGCLD語義 211
10.8   可靠信號術語和語義 213
10.9   kill和raise函數 213
10.10   alarm和pause函數 214
10.11   信號集 219
10.12   sigprocmask 函數 220
10.13   sigpending函數 222
10.14   sigaction函數 223
10.15   sigsetjmp 和siglongjmp函數 226
10.16   sigsuspend函數 229
10.17   abort函數 234
10.18   system函數 235
10.19   sleep函數 240
10.20   作業(yè)控制信號 241
10.21   其他特征 243
10.21.1   信號名字 243
10.21.2   SVR4信號處理程序的附
       加參數 244
10.21.3   4.3+BSD信號處理程序的附
加參數 244
10.22   小結 244
習題 244
第11章   終端I/O 246
11.1   引言 246
11.2   綜述 246
11.3   特殊輸入字符 250
11.4   獲得和設置終端屬性 254
11.5   終端選擇標志 254
11.6   stty命令 258
11.7   波特率函數 259
11.8   行控制函數 260
11.9   終端標識 260
11.10   規(guī)范方式 263
11.11   非規(guī)范方式 266
11.12   終端的窗口大小 270
11.13   termcap, terminfo和 curses 271
11.14   小結 272
習題 272
第12章   高級I/O 273
12.1   引言 273
12.2   非阻塞I/O 273
12.3   記錄鎖 275
12.3.1   歷史 276
12.3.2   fcntl記錄鎖 276
12.3.3   鎖的隱含繼承和釋放 280
12.3.4   4.3+BSD的實現(xiàn) 281
12.3.5   建議性鎖和強制性鎖 284
12.4   流 288
12.4.1   流消息 289
12.4.2   putmsg和putpmsg函數 290
12.4.3   流ioctl操作 291
12.4.4   write至流設備 294
12.4.5   寫方式 294
12.4.6   getmsg和getpmsg函數 294
12.4.7   讀方式 295
12.5   I/O多路轉接 296
12.5.1   select函數 298
12.5.2   poll函數 301
12.6   異步I/O 303
12.6.1   SVR4 303
12.6.2   4.3+BSD 303
12.7   readv和writev函數 304
12.8   readn和writen函數 306
12.9   存儲映射I/O 307
12.10   小結 311
習題 311
第13章   精靈進程 312
13.1   引言 312
13.2   精靈進程的特征 312
13.3   編程規(guī)則 313
13.4   出錯記錄 314
13.4.1   SVR4流log驅動程序 315
13.4.2   4.3+BSD syslog設施 316
13.5   客戶機-服務器模型 319
13.6   小結 319
習題 319
第14章   進程間通信 320
14.1   引言 320
14.2   管道 320
14.3   popen和pclose函數 325
14.4   協(xié)同進程 330
14.5   FIFO 333
14.6   系統(tǒng)V IPC 335
14.6.1   標識符和關鍵字 336
14.6.2   許可權結構 337
14.6.3   結構限制 337
14.6.4   優(yōu)點和缺點 337
14.7   消息隊列 338
14.8   信號量 342
14.9   共享存儲 346
14.10   客戶機-服務器屬性 351
14.11   小結 353
習題 353
第15章   高級進程間通信 355
15.1   引言 355
15.2   流管道 355
15.3   傳送文件描述符 358
15.3.1   SVR4 360
15.3.2   4.3BSD 361
15.3.3   4.3+BSD 364
15.4   open服務器第1版 366
15.5   客戶機-服務器連接函數 371
15.5.1   SVR4 372
15.5.2   4.3+BSD 375
15.6   open服務器第2版 378
15.7   小結 385
習題 385
第16章   數據庫函數庫 386
16.1   引言 386
16.2   歷史 386
16.3   函數庫 386
16.4   實現(xiàn)概述 388
16.5   集中式或非集中式 390
16.6   并發(fā) 391
16.6.1   粗鎖 391
16.6.2   細鎖 391
16.7   源碼 392
16.8   性能 409
16.8.1   單進程的結果 410
16.8.2   多進程的結果 410
16.9   小結 412
習題 412
第17章   與PostScript打印機通信 413
17.1   引言 413
17.2   PostScript通信機制 413
17.3   假脫機打印 415
17.4   源碼 417
17.5   小結 434
習題 434
第18章   調制解調器撥號器 435
18.1   引言 435
18.2   歷史 435
18.3   程序設計 436
18.4   數據文件 437
18.5   服務器設計 439
18.6   服務器源碼 439
18.7   客戶機設計 463
18.7.1   終端行規(guī)程 463
18.7.2   一個進程還是兩個進程 464
18.8   客戶機源碼 465
18.9   小結 474
習題 474
第19章   偽終端 476
19.1   引言 476
19.2   概述 476
19.2.1   網絡登錄服務器 477
19.2.2   script程序 478
19.2.3   expect程序 479
19.2.4   運行協(xié)同進程 479
19.2.5   觀看長時間運行程序的輸出 479
19.3   打開偽終端設備 480
19.3.1   SVR4 481
19.3.2   4.3+BSD 482
19.4   pty_fork函數 484
19.5   pty程序 486
19.6   使用pty程序 489
19.6.1   utmp文件 489
19.6.2   作業(yè)控制交互 489
19.6.3   檢查長時間運行程序的輸出 491
19.6.4   script程序 491
19.6.5   運行協(xié)同進程 492
19.6.6   用非交互模式驅動交互式
             程序 492
19.7   其他特性 494
19.7.1   打包模式 494
19.7.2   遠程模式 494
19.7.3   窗口大小變化 495
19.7.4   信號發(fā)生 495
19.8   小結 495
習題 495
附錄A   函數原型 497
附錄B   其他源代碼 512
附錄C   習題答案 518
參考書目 536                  

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號