UNIX 環境高級編程, 3/e Advanced Programming in the UNIX Environment, 3/e
W. Richard Stevens , Stephen A. Rago 著
- 出版商: 人民郵電
- 出版日期: 2019-10-01
- 定價: $1,014
- 售價: 8.5 折 $862
- 語言: 簡體中文
- ISBN: 7115516758
- ISBN-13: 9787115516756
- 此書翻譯自: Advanced Programming in the UNIX Environment, 3/e (美國原版)
已絕版
買這商品的人也買了...
-
$980$980 -
$2,800$2,660 -
$780$616 -
$768$730 -
$594$564 -
$534$507 -
$834$792 -
$959$911 -
$580$435 -
$774$735 -
$398TCP/IP 詳解 (捲2):實現 (TCP/IP Illustrated, Volume 2: The Implementation)
-
$474$450 -
$680$612 -
$354$336 -
$990$653 -
$654$621 -
$1,014$963 -
$600$468 -
$980$647 -
$360$342 -
$360$342 -
$360$342 -
$360$342 -
$780$616 -
$1,980$1,881
相關主題
商品描述
本書是被譽為UNIX編程“聖經”的Advanced Programming in the UNIX Environment一書的第3版。在本書第2版出版後的8年中,UNIX發生了巨大的變化,特別是影響UNIX編程接口的有關標準變化很大。本書在保持前一版風格的基礎上,根據新的標準對內容進行了修訂和增補,反映了新的技術發展。書中除了介紹UNIX文件和目錄、標準I/O庫、系統數據文件和信息、進程環境、進程控制、進程關系、信號、線程、線程控制、守護進程、各種I/O、進程間通信、網絡IPC、偽終端等方面的內容,還在此基礎上介紹了眾多應用實例,包括如何創建數據庫函數庫以及如何與網絡打印機通信等。此外,還在附錄中給出了函數原型和部分習題的答案。
本書內容權威,概念清晰,闡述精闢,對於所有層次UNIX/Linux程序員都是一本不可或缺的參考書。
作者簡介
作者簡介
W.理查德·史蒂文斯(W. Richard Stevens)國際知名的UNIX和網絡專家,備受讚譽的技術作家。生前著有多部經典的傳世之作,包括《UNIX網絡編程》(兩卷本)、《TCP/IP詳解》(三卷本)和本書第1版。
史蒂芬·A.拉戈(Stephen A. Rago)資深UNIX程序員,目前任NEC美國實驗室存儲系統研究組研究員。之前是貝爾實驗室的UNIX系統V版本4的開發人員之一。著有《UNIX系統V網絡編程》,是本書第1版的技術審校和第2版的共同作者。
譯者簡介
戚正偉博士,上海交通大學軟件學院教授、博士生導師,CCF高級會員,CCF系統軟件、理論計算機專委會委員,微軟亞洲研究院和美國卡內基梅隆大學(CMU)訪問學者。主要研究方向為系統軟件和程序分析等,除翻譯本書外,還著有《NewBluePill:深入理解硬件虛擬機》等。
張亞英博士,同濟大學電子與信息工程學院計算機系教授,研究方向為網絡與分佈式系統、大數據挖掘與分析等。
尤晉元上海交通大學計算機科學及工程系教授、博士生導師。在科研方面,主要從事操作系統和分佈對象計算技術方面的研究。在教學方面,長期承擔操作系統及分佈計算等課程的教學工作。主編和翻譯了多本操作系統教材和參考書,包括《UNIX操作系統教程》《UNIX高級編程技術》《UNIX環境高級編程》和《操作系統:設計與實現》等。
目錄大綱
第1章UNIX基礎知識\t1
1.1引言1
1.2 UNIX體系結構1
1.3登錄1
1.4文件和目錄3
1.5輸入和輸出6
1.6程序和進程8
1.7出錯處理11
1.8用戶標識13
1.9信號14
1.10時間值16
1.11系統調用和庫函數17
1.12小結18
習題18
第2章UNIX標準及實現20
2.1引言20
2.2 UNIX標準化20
2.2.1 ISO C 20
2.2. 2 IEEE POSIX 21
2.2.3 Single UNIX Specification 25
2.2.4 FIPS 26
2.3 UNIX系統實現26
2.3.1 SVR4 27
2.3.2 4.4BSD 27
2.3.3 FreeBSD 28
2.3.4 Linux 28
2.3.5 Mac OS X 28
2.3 .6 Solaris 28
2.3.7其他UNIX系統29
2.4標準和實現的關係29
2.5限制29
2.5.1 ISO C限制30
2.5.2 POSIX限制31
2.5.3 XSI限制33
2.5.4函數sysconf、pathconf和fpathconf 33
2.5.5不確定的運行時限制40
2.6選項43
2.7功能測試宏46
2.8基本系統數據類型47
2.9標準之間的衝突48
2.10小結48
習題48
第3章文件I/O 49
3.1引言49
3.2文件描述符49
3.3函數open和openat 50
3.4函數creat 52
3.5函數close 53
3.6函數lseek 53
3.7函數read 57
3.8函數write 57
3.9 I/O的效率58
3.10文件共享59
3.11原子操作62
3.12函數dup和dup2 63
3.13函數sync、fsync和fdatasync 65
3.14函數fcntl 65
3.15函數ioctl 70
3.16 /dev/fd 71
3.17小結72
習題72
第4章文件和目錄74
4.1引言74
4.2函數stat、fstat、fstatat和lstat 74
4.3文件類型75
4.4設置用戶ID和設置組ID 78
4.5文件訪問權限79
4.6新文件和目錄的所有權80
4.7函數access和faccessat 81
4.8函數umask 83
4.9函數chmod、fchmod和fchmodat 84
4.10粘著位87
4.11函數chown、fchown、fchownat和lchown 88
4.12文件長度89
4.13文件截斷90
4.14文件系統90
4.15函數link、linkat、unlink、unlinkat和remove 93
4.16函數rename和renameat 95
4.17符號鏈接96
4.18創建和讀取符號鏈接99
4.19文件的時間99
4.20函數futimens、utimensat和utimes 101
4.21函數mkdir、mkdirat和rmdir 103
4.22讀目錄104
4.23函數chdir、fchdir和getcwd 108
4.24設備特殊文件110
4.25文件訪問權限位小結112
4.26小結113
習題113
第5章標準I/O庫115
5.1引言115
5.2流和FILE對象115
5.3標準輸入、標準輸出和標準錯誤116
5.4緩衝116
5.5打開流118
5.6讀和寫流120
5.7每次一行I/O 122
5.8標準I/O的效率123
5.9二進制I/O 125
5.10定位流126
5.11格式化I/O 127
5.12實現細節131
5.13臨時文件134
5.14內存流137
5.15標準I/O的替代軟件140
5.16小結140
習題140
第6章系統數據文件和信息142
6.1引言142
6.2口令文件142
6.3陰影口令145
6.4組文件146
6.5附屬組ID 147
6.6實現區別148
6.7其他數據文件148
6.8登錄賬戶記錄149
6.9系統標識150
6.10時間和日期例程151
6.11小結157
習題157
第7章進程環境158
7.1引言158
7.2 main函數158
7.3進程終止158
7.4命令行參數162
7.5環境表163
7.6 C程序的存儲空間佈局163
7.7共享庫165
7.8存儲空間分配165
7.9環境變量168
7.10函數setjmp和longjmp 170
7.11函數getrlimit和setrlimit 175
7.12小結180
習題180
第8章進程控制181
8.1引言181
8.2進程標識181
8.3函數fork 182
8.4函數vfork 187
8.5函數exit 188
8.6函數wait和waitpid 190
8.7函數waitid 194
8.8函數wait3和wait4 195
8.9競爭條件196
8.10函數exec 199
8.11更改用戶ID和更改組ID 204
8.12解釋器文件207
8.13函數system 211
8.14進程會計215
8.15用戶標識220
8.16進程調度221
8.17進程時間224
8.18小結226
習題226
第9章進程關係228
9.1引言228
9.2終端登錄228
9.3網絡登錄231
9.4進程組233
9.5會話234
9.6控制終端235
9.7函數tcgetpgrp、tcsetpgrp和tcgetsid 237
9.8作業控制237
9.9 shell執行程序240
9.10孤兒進程組244
9.11 FreeBSD實現246
9.12小結248
習題248
第10章信號249
10.1引言249
10.2信號概念249
10.3函數signal 256
10.4不可靠的信號259
10.5中斷的系統調用260
10.6可重入函數262
10.7 SIGCLD語義264
10.8可靠信號術語和語義266
10.9函數kill和raise 267
10.10函數alarm和pause 268
10.11信號集273
10.12函數sigprocmask 275
10.13函數sigpending 276
10.14函數sigaction 278
10.15函數sigsetjmp和siglongjmp 283
10.16函數sigsuspend 286
10.17函數abort 291
10.18函數system 293
10.19函數sleep、 nanosleep和clock_nanosleep 298
10.20函數sigqueue 300
10.21作業控制信號301
10.22信號名和編號303
10.23小結305
習題305
第11章線程307
11.1引言307
11.2線程概念307
11.3線程標識308
11.4線程創建309
11.5線程終止311
11.6線程同步318
11.6.1互斥量320
11.6.2避免死鎖322
11.6.3函數pthread_mutex_ timedlock 327
11.6.4讀寫鎖328
11.6.5帶有超時的讀寫鎖332
11.6.6條件變量332
11.6.7自旋鎖335
11.6.8屏障336
11.7小結340
習題340
第12章線程控制341
12.1引言341
12.2線程限制341
12.3線程屬性342
12.4同步屬性345
12.4.1互斥量屬性345
12.4.2讀寫鎖屬性352
12.4.3條件變量屬性353
12.4.4屏障屬性354
12.5重入354
12.6線程特定數據358
12.7取消選項362
12.8線程和信號364
12.9線程和fork 367
12.10線程和I/O 370
12.11小結371
習題371
第13章守護進程372
13.1引言372
13.2守護進程的特徵372
13.3編程規則374
13.4出錯記錄377
13.5單實例守護進程380
13.6守護進程的慣例381
13.7客戶進程-服務器進程模型386
13.8小結386
習題387
第14章高級I/O 388
14.1引言388
14.2非阻塞I/O 388
14.3記錄鎖391
14.4 I/O多路轉接403
14.4.1函數select和pselect 404
14.4.2函數poll 408
14.5異步I/O 410
14.5.1 System V異步I/O 410
14.5.2 BSD異步I/O 411
14.5 .3 POSIX異步I/O 411
14.6函數readv和writev 419
14.7函數readn和writen 421
14.8存儲映射I/O 422
14.9小結428
習題428
第15章進程間通信429
15.1引言429
15.2管道430
15.3函數popen和pclose 436
15.4協同進程441
15.5 FIFO 445
15.6 XSI IPC 448
15.6.1標識符和鍵448
15.6.2權限結構449
15.6.3結構限制450
15.6.4優點和缺點450
15.7消息隊列451
15.8信號量455
15.9共享存儲459
15.10 POSIX信號量465
15.11客戶進程-服務器進程屬性470
15.12小結472
習題472
第16章網絡IPC:套接字474
16.1引言474
16.2套接字描述符474
16.3尋址477
16.3.1字節序477
16.3.2地址格式478
16.3.3地址查詢480
16.3.4將套接字與地址關聯486
16.4建立連接487
16.5數據傳輸491
16.6套接字選項502
16.7帶外數據504
16.8非阻塞和異步I/O 505
16.9小結506
習題506
第17章高級進程間通信507
17.1引言507
17.2 UNIX域套接字507
17.3唯一連接512
17.4傳送文件描述符518
17.5 open服務器進程第1版527
17.6 open服務器進程第2版533
17.7小結542
習題542
第18章終端I/O 544
18.1引言544
18.2綜述544
18.3特殊輸入字符549
18.4獲得和設置終端屬性553
18.5終端選項標誌554
18.6 stty命令560
18.7波特率函數560
18.8行控制函數561
18.9終端標識562
18.10規範模式567
18.11非規範模式570
18.12終端窗口大小576
18.13 termcap、terminfo和curses 578
18.14小結578
習題579
第19章偽終端580
19.1引言580
19.2概述580
19.3打開偽終端設備585
19.4函數pty_fork 588
19.5 pty程序590
19.6使用pty程序595
19.7高級特性600
19.8小結601
習題601
第20章數據庫函數庫603
20.1引言603
20.2歷史603
20.3函數庫604
20.4實現概述605
20.5集中式或非集中式608
20.6並發610
20.7構造函數庫610
20.8源代碼611
20.9性能635
20.10小結639
習題639
第21章與網絡打印機通信640
21.1引言640
21.2網絡打印協議640
21.3超文本傳輸協議HTTP 642
21.4打印假脫機技術643
21.5源代碼644
21.6小結684
習題684
附錄A函數原型685
附錄B其他源代碼721
附錄C部分習題答案730
附錄參考書目763