![](/c49/31/59714429120.jpg)
出版社:人民郵電出版社 ISBN:9787115516756 商品編碼:59714429120 品牌:文軒 出版時間:2018-02-01 代碼:169 作者:W.理查德·史蒂文斯(W.RichardSt
"![](https://img10.360buyimg.com/imgzone/jfs/t1/83303/21/22272/435579/635b88d3E0959319c/4f77b69fb6459523.png)
![](http://img14.360buyimg.com/cms/jfs/t1/203358/9/26405/134589/62f4a34cEcdefae53/84e082ed3b03dbc0.jpg) 作 者:[美]W. 理查德·史蒂文斯(W. Richard Stevens)史蒂芬·A. 拉戈( Stephen A. Rago) 著 戚正偉 張亞英 譯 定 價:169 出 版 社:人民郵電出版社 出版日期:2018年02月01日 頁 數:812 裝 幀:平裝 ISBN:9787115516756 20多年來,嚴謹的C程序員都是依靠一本書來深入了解驅動UNIX和Linux內核的編程接口的實用知識的,這本書就是W. Richard Stevens所著的《UNIX環境高級編程》。現在,Stevens的同事Stephen Rago更新了這本經典著作。新的第3版支持當今領先的繫統平臺,反映了近期新技術進展和很好實踐,並且符合近期新的Single UNIX Specification第4版(SUSv4)。Rago保留了使本書前版成為經典之作的精髓和方法。他在Stevens原著的基礎上,從等 ●第 1章 UNIX基礎知識1 1.1 引言 11.2 UNIX體繫結構 11.3 登錄 11.4 文件和目錄 31.5 輸入和輸出 61.6 程序和進程 81.7 出錯處理 111.8 用戶標識 131.9 信號 141.10 時間值 161.11 繫統調用和庫函數 171.12 小結 18習題 18第 2章 UNIX標準及實現 202.1 引言 202.2 UNIX標準化 202.2.1 ISO C 202.2.2 IEEE IX 212.2.3 Single UNIX Specification 252.2.4 FIPS 262.3 UNIX繫統實現 262.3.1 SVR4 272.3.2 4.4BSD 272.3.3 FreeBSD 282.3.4 Linux 282.3.5 Mac OS X 282.3.6 Solaris 282.3.7 其他UNIX繫統 292.4 標準和實現的關繫 292.5 292.5.1 ISO C 302.5.2 IX 312.5.3 XSI 332.5.4 函數sysconf、pathconf和fpathconf 332.5.5 不確定的運行時 402.6 選項 432.7 功能測試宏 462.8 基本繫統數據類型 472.9 標準之間的衝突 482.10 小結 48習題 48第3章 文件I/O 493.1 引言 493.2 文件描述符 493.3 函數open和openat 503.4 函數creat 523.5 函數close 533.6 函數lseek 533.7 函數read 573.8 函數write 573.9 I/O的效率 583.10 文件共享 593.11 原子操作 623.12 函數dup和dup2 633.13 函數sync、fsync和fdatasync 653.14 函數fcntl 653.15 函數ioctl 703.16 /dev/fd 713.17 小結 72習題 72第4章 文件和目錄 744.1 引言 744.2 函數stat、fstat、fstatat和lstat 744.3 文件類型 754.4 設置用戶ID和設置組ID 784.5 文件訪問權限 794.6 新文件和目錄的所有權 804.7 函數access和faccessat 814.8 函數umask 834.9 函數chmod、fchmod和fchmodat 844.10 粘著位 874.11 函數chown、fchown、fchownat和lchown 884.12 文件長度 894.13 文件截斷 904.14 文件繫統 904.15 函數link、linkat、unlink、unlinkat和remove 934.16 函數rename和renameat 954.17 符號鏈接 964.18 創建和讀取符號鏈接 994.19 文件的時間 994.20 函數futimens、utimensat和utimes 1014.21 函數mkdir、mkdirat和rmdir 1034.22 讀目錄 1044.23 函數chdir、fchdir和getcwd 1084.24 設備特殊文件 1104.25 文件訪問權限位小結 1124.26 小結 113習題 113第5章 標準I/O庫 1155.1 引言 1155.2 流和FILE對像 1155.3 標準輸入、標準輸出和標準錯誤 1165.4 緩衝 1165.5 打開流 1185.6 讀和寫流 1205.7 每次一行I/O 1225.8 標準I/O的效率 1235.9 二進制I/O 1255.10 定位流 1265.11 格式化I/O 1275.12 實現細節 1315.13 臨時文件 1345.14 內存流 1375.15 標準I/O的替代軟件 1405.16 小結 140習題 140第6章 繫統數據文件和信息 1426.1 引言 1426.2 口令文件 1426.3 陰影口令 1456.4 組文件 1466.5 附屬組ID 1476.6 實現區別 1486.7 其他數據文件 1486.8 登錄賬戶記錄 1496.9 繫統標識 1506.10 時間和日期例程 1516.11 小結 157習題 157第7章 進程環境 1587.1 引言 1587.2 main函數 1587.3 進程終止 1587.4 命令行參數 1627.5 環境表 1637.6 C程序的存儲空間布局 1637.7 共享庫 1657.8 存儲空間分配 1657.9 環境變量 1687.10 函數setjmp和longjmp 1707.11 函數getrlimit和setrlimit 1757.12 小結 180習題 180第8章 進程控制 1818.1 引言 1818.2 進程標識 1818.3 函數fork 1828.4 函數vfork 1878.5 函數exit 1888.6 函數wait和waitpid 1908.7 函數waitid 1948.8 函數wait3和wait4 1958.9 競爭條件 1968.10 函數exec 1998.11 更改用戶ID和更改組ID 2048.12 解釋器文件 2078.13 函數system 2118.14 進程會計 2158.15 用戶標識 2208.16 進程調度 2218.17 進程時間 2248.18 小結 226習題 226第9章 進程關繫 2289.1 引言 2289.2 終端登錄 2289.3 網絡登錄 2319.4 進程組 2339.5 會話 2349.6 控制終端 2359.7 函數tcgetpgrp、tcsetpgrp和tcgetsid 2379.8 作業控制 2379.9 shell執行程序 2409.10 孤兒進程組 2449.11 FreeBSD實現 2469.12 小結 248習題 248第 10章 信號 24910.1 引言 24910.2 信號概念 24910.3 函數signal 25610.4 不可靠的信號 25910.5 中斷的繫統調用 26010.6 可重入函數 26210.7 SIGCLD語義 26410.8 可靠信號術語和語義 26610.9 函數kill和raise 26710.10 函數alarm和pause 26810.11 信號集 27310.12 函數sigprocmask 27510.13 函數sigpending 27610.14 函數sigaction 27810.15 函數sigsetjmp和siglongjmp 28310.16 函數sigsuspend 28610.17 函數abort 29110.18 函數system 29310.19 函數sleep、nanosleep和clock_nanosleep 29810.20 函數sigqueue 30010.21 作業控制信號 30110.22 信號名和編號 30310.23 小結 305習題 305第 11章 線程 30711.1 引言 30711.2 線程概念 30711.3 線程標識 30811.4 線程創建 30911.5 線程終止 31111.6 線程同步 31811.6.1 互斥量 32011.6.2 避免死鎖 32211.6.3 函數pthread_mutex_ timedlock 32711.6.4 讀寫鎖 32811.6.5 帶有超時的讀寫鎖 33211.6.6 條件變量 33211.6.7 自旋鎖 33511.6.8 屏障 33611.7 小結 340習題 340第 12章 線程控制 34112.1 引言 34112.2 線程 34112.3 線程屬性 34212.4 同步屬性 34512.4.1 互斥量屬性 34512.4.2 讀寫鎖屬性 35212.4.3 條件變量屬性 35312.4.4 屏障屬性 35412.5 重入 35412.6 線程特定數據 35812.7 取消選項 36212.8 線程和信號 36412.9 線程和fork 36712.10 線程和I/O 37012.11 小結 371習題 371第 13章 守護進程 37213.1 引言 37213.2 守護進程的特征 37213.3 編程規則 37413.4 出錯記錄 37713.5 單實例守護進程 38013.6 守護進程的慣例 38113.7 客戶進程-服務器進程模型 38613.8 小結 386習題 387第 14章 高級I/O 38814.1 引言 38814.2 非阻塞I/O 38814.3 記錄鎖 39114.4 I/O多路轉接 40314.4.1 函數select和pselect 40414.4.2 函數poll 40814.5 異步I/O 41014.5.1 System V異步I/O 41014.5.2 BSD異步I/O 41114.5.3 IX異步I/O 41114.6 函數readv和writev 41914.7 函數readn和writen 42114.8 存儲映射I/O 42214.9 小結 428習題 428第 15章 進程間通信 42915.1 引言 42915.2 管道 43015.3 函數popen和pclose 43615.4 協同進程 44115.5 FIFO 44515.6 XSI IPC 44815.6.1 標識符和鍵 44815.6.2 權限結構 44915.6.3 結構 45015.6.4 優點和缺點 45015.7 消息隊列 45115.8 信號量 45515.9 共享存儲 45915.10 IX信號量 46515.11 客戶進程-服務器進程屬性 47015.12 小結 472習題 472第 16章 網絡IPC:套接字 47416.1 引言 47416.2 套接字描述符 47416.3 尋址 47716.3.1 字節序 47716.3.2 地址格式 47816.3.3 地址查詢 48016.3.4 將套接字與地址關聯 48616.4 建立連接 48716.5 數據傳輸 49116.6 套接字選項 50216.7 帶外數據 50416.8 非阻塞和異步I/O 50516.9 小結 506習題 506第 17章 高級進程間通信 50717.1 引言 50717.2 UNIX域套接字 50717.3 專享連接 51217.4 傳送文件描述符 51817.5 open服務器進程第 1版 52717.6 open服務器進程第 2版 53317.7 小結 542習題 542第 18章 終端I/O 54418.1 引言 54418.2 綜述 54418.3 特殊輸入字符 54918.4 獲得和設置終端屬性 55318.5 終端選項標志 55418.6 stty命令 56018.7 波特率函數 56018.8 行控制函數 56118.9 終端標識 56218.10 規範模式 56718.11 非規範模式 57018.12 終端窗口大小 57618.13 termcap、terminfo和curses 57818.14 小結 578習題 579第 19章 偽終端 58019.1 引言 58019.2 概述 58019.3 打開偽終端設備 58519.4 函數pty_fork 58819.5 pty程序 59019.6 使用pty程序 59519.7 高級特性 60019.8 小結 601習題 601第 20章 數據庫函數庫 60320.1 引言 60320.2 歷史 60320.3 函數庫 60420.4 實現概述 60520.5 集中式或非集中式 60820.6 並發 61020.7 構造函數庫 61020.8 源代碼 61120.9 性能 63520.10 小結 639習題 639第 21章 與網絡打印機通信 64021.1 引言 64021.2 網絡打印協議 64021.3 超文本傳輸協議HTTP 64221.4 打印假脫機技術 64321.5 源代碼 64421.6 小結 684習題 684附錄A 函數原型 685附錄B 其他源代碼 721附錄C 部分習題答案 730附錄參考書目 763 本書是被譽為UNIX編程“”的Advanced Programming in the UNIX Environment一書的第3版。在本書第2版出版後的8年中,UNIX發生了巨大的變化,特別是影響UNIX編程接口的有關標準變化很大。本書在保持前一版風格的基礎上,根據新的標準對內容進行了修訂和增補,反映了新的技術發展。書中除了介紹UNIX文件和目錄、標準I/O庫、繫統數據文件和信息、進程環境、進程控制、進程關繫、信號、線程、線程控制、守護進程、各種I/O、進程間通信、網絡IPC、偽終端等方面的內容,還在此基礎上介紹了眾多應用實例,包括如何創建數據庫函數庫以及如何與網絡打印機通信等。此外,還在附錄中給出了函數原型和部分習題的答案。本書內容權威,概念清晰,闡述精闢,對於所有層次UNIX/Linux程序員都是一本不可或缺的參考書。 [美]W. 理查德·史蒂文斯(W. Richard Stevens)史蒂芬·A. 拉戈( Stephen A. Rago) 著 戚正偉 張亞英 譯 作者簡介W. 理查德·史蒂文斯(W. Richard Stevens)國際知名的UNIX和網絡專家,備受贊譽的技術作家。生前著有多部經典的傳世之作,包括《UNIX網絡編程》(兩卷本)、《TCP/IP詳解》(三卷本)和本書第1版。史蒂芬·A. 拉戈(Stephen A. Rago)資深UNIX程序員,目前任NEC美國實驗室存儲繫統研究組研究員。之前是貝爾實驗室的UNIX繫統V版本4的開發人員之一。著有《UNIX繫統V網絡編程》,是本書第1版的技術審校和第2版的共同作者。譯者簡介戚正偉 博士,上海交通大學軟件學院教授、博士生導師,CCF高級會員,CCF繫統軟件、理論計算機專等 ![](https://img10.360buyimg.com/imgzone/jfs/t1/147514/7/5440/73116/5f34a3beE3ba58783/f5b2391383f5625c.jpg)
" |