出版時間:2006年 出版社:人民郵電出版社 作者:W.Richard Stevens,Stephen A.Rago 頁數(shù):758 譯者:尤晉元,張亞英,戚正偉
Tag標(biāo)簽:無
前言
Advance Programming in the UNIX Environment 問世于1992年,作者是UNIX和網(wǎng)絡(luò)技術(shù)領(lǐng)域的國際知名專家W. Richard Stevens。該書出版以來受到讀者的普遍歡迎和好評,認(rèn)為它是“在UNIX環(huán)境下進(jìn)行程序設(shè)計(jì)的有關(guān)人員必讀且經(jīng)常需要查閱的首選參考書”。UNIX的原創(chuàng)者ennis Ritchie則稱其是“公認(rèn)的優(yōu)秀、匠心獨(dú)具的名著”。自第1版以來,UNIX系統(tǒng)及相關(guān)產(chǎn)業(yè)已經(jīng)發(fā)生了很多變化,特別是UNIX相關(guān)標(biāo)準(zhǔn)的制定取得很大進(jìn)展,UNIX系統(tǒng)采用的某些新技術(shù)已日趨成熟,典型的UNIX系統(tǒng)平臺也有所改變,而Linux的興起、快速發(fā)展和廣泛應(yīng)用更為世人矚目。這些都使得該書有修訂的必要,以反映這些變化。
內(nèi)容概要
本書是被譽(yù)為UNIX編程“圣經(jīng)”的Advanced Programming in the UNIX Environment一書的更新版。在本書第1版出版后的十幾年中,UNIX行業(yè)已經(jīng)有了巨大的變化,特別是影響UNIX編程接口的有關(guān)標(biāo)準(zhǔn)變化很大。本書在保持了前一版的風(fēng)格的基礎(chǔ)上,根據(jù)最新的標(biāo)準(zhǔn)對內(nèi)容進(jìn)行了修訂和增補(bǔ),反映了最新的技術(shù)發(fā)展。書中除了介紹UNIX文件和目錄、標(biāo)準(zhǔn)I/O庫、系統(tǒng)數(shù)據(jù)文件和信息、進(jìn)程環(huán)境、進(jìn)程控制、進(jìn)程關(guān)系、信號、線程、線程控制、守護(hù)進(jìn)程、各種I/O、進(jìn)程間通信、網(wǎng)絡(luò)IPC、偽終端等方面的內(nèi)容,還在此基礎(chǔ)上介紹了多個應(yīng)用示例,包括如何創(chuàng)建數(shù)據(jù)庫函數(shù)庫以及如何與網(wǎng)絡(luò)打印機(jī)通信等。此外,還在附錄中給出了函數(shù)原型和部分習(xí)題的答案?! ”緯鴥?nèi)容權(quán)威,概念清晰,闡述精辟,對于所有層次UNIX程序員都是一本不可或缺的參考書。
作者簡介
W.Richard Stevens,備受贊譽(yù)的技術(shù)作家,生前著有多種經(jīng)典的傳世之作,包括《UNIX網(wǎng)絡(luò)編程》(兩卷本)、《TCP/IP詳解》(三卷本)和本書第1版。
尤晉元,上海交通大學(xué)計(jì)算機(jī)科學(xué)及工程系教授、博士生導(dǎo)師。在科研方面,主要從事操作系統(tǒng)和分布對象計(jì)算技術(shù)方面的研究
書籍目錄
第1章 UNIX基礎(chǔ)知識 11.1 引言 11.2 UNIX體系結(jié)構(gòu) 11.3 登錄 11.4 文件和目錄 31.5 輸入和輸出 61.6 程序和進(jìn)程 81.7 出錯處理 101.8 用戶標(biāo)識 121.9 信號 141.10 時間值 151.11 系統(tǒng)調(diào)用和庫函數(shù) 161.12 小結(jié) 17習(xí)題 18第2章 UNIX標(biāo)準(zhǔn)化及實(shí)現(xiàn) 192.1 引言 192.2 UNIX標(biāo)準(zhǔn)化 192.2.1 ISO C 192.2.2 IEEE POSIX 202.2.3 Single UNIX Specification 252.2.4 FIPS 262.3 UNIX系統(tǒng)實(shí)現(xiàn) 262.3.1 SVR4 262.3.2 4.4BSD 272.3.3 FreeBSD 272.3.4 Linux 272.3.5 Mac OS X 282.3.6 Solaris 282.3.7 其他UNIX系統(tǒng) 282.4 標(biāo)準(zhǔn)和實(shí)現(xiàn)的關(guān)系 282.5 限制 292.5.1 ISO C限制 292.5.2 POSIX限制 302.5.3 XSI限制 322.5.4 sysconf、pathconf和fpathconf函數(shù) 322.5.5 不確定的運(yùn)行時限制 382.6 選項(xiàng) 422.7 功能測試宏 442.8 基本系統(tǒng)數(shù)據(jù)類型 452.9 標(biāo)準(zhǔn)之間的沖突 452.10 小結(jié) 46習(xí)題 46第3章 文件I/O 473.1 引言 473.2 文件描述符 473.3 open函數(shù) 483.4 creat函數(shù) 493.5 close函數(shù) 503.6 lseek函數(shù) 503.7 read函數(shù) 533.8 write函數(shù) 543.9 I/O的效率 543.10 文件共享 563.11 原子操作 593.12 dup和dup2函數(shù) 603.13 sync、fsync和fdatasync函數(shù) 613.14 fcntl函數(shù) 623.15 ioctl函數(shù) 663.16 /dev/fd 673.17 小結(jié) 68習(xí)題 68第4章 文件和目錄 714.1 引言 714.2 stat、fstat和lstat函數(shù) 714.3 文件類型 724.4 設(shè)置用戶ID和設(shè)置組ID 744.5 文件訪問權(quán)限 754.6 新文件和目錄的所有權(quán) 774.7 access函數(shù) 774.8 umask函數(shù) 794.9 chmod和fchmod函數(shù) 814.10 粘住位 834.11 chown、fchown和lchown函數(shù) 844.12 文件長度 854.13 文件截短 864.14 文件系統(tǒng) 864.15 link、unlink、remove和rename函數(shù) 894.16 符號鏈接 914.17 symlink和readlink函數(shù) 944.18 文件的時間 944.19 utime函數(shù) 954.20 mkdir和rmdir函數(shù) 974.21 讀目錄 984.22 chdir、fchdir和getcwd函數(shù) 1024.23 設(shè)備特殊文件 1044.24 文件訪問權(quán)限位小結(jié) 1064.25 小結(jié) 106習(xí)題 107第5章 標(biāo)準(zhǔn)I/O庫 1095.1 引言 1095.2 流和FILE對象 1095.3 標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)出錯 1105.4 緩沖 1105.5 打開流 1125.6 讀和寫流 1145.7 每次一行I/O 1165.8 標(biāo)準(zhǔn)I/O的效率 1175.9 二進(jìn)制I/O 1195.10 定位流 1205.11 格式化I/O 1215.12 實(shí)現(xiàn)細(xì)節(jié) 1255.13 臨時文件 1275.14 標(biāo)準(zhǔn)I/O的替代軟件 1305.15 小結(jié) 130習(xí)題 130第6章 系統(tǒng)數(shù)據(jù)文件和信息 1336.1 引言 1336.2 口令文件 1336.3 陰影口令 1366.4 組文件 1376.5 附加組ID 1386.6 實(shí)現(xiàn)的區(qū)別 1396.7 其他數(shù)據(jù)文件 1396.8 登錄賬戶記錄 1406.9 系統(tǒng)標(biāo)識 1416.10 時間和日期例程 1426.11 小結(jié) 146習(xí)題 146第7章 進(jìn)程環(huán)境 1477.1 引言 1477.2 main函數(shù) 1477.3 進(jìn)程終止 1477.4 命令行參數(shù) 1517.5 環(huán)境表 1527.6 C程序的存儲空間布局 1527.7 共享庫 1547.8 存儲器分配 1547.9 環(huán)境變量 1577.10 setjmp和longjmp函數(shù) 1597.11 getrlimit和setrlimit函數(shù) 1647.12 小結(jié) 168習(xí)題 168第8章 進(jìn)程控制 1718.1 引言 1718.2 進(jìn)程標(biāo)識符 1718.3 fork函數(shù) 1728.4 vfork函數(shù) 1768.5 exit函數(shù) 1788.6 wait和waitpid函數(shù) 1798.7 waitid函數(shù) 1838.8 wait3和wait4函數(shù) 1848.9 競爭條件 1858.10 exec函數(shù) 1888.11 更改用戶ID和組ID 1928.12 解釋器文件 1968.13 system函數(shù) 2008.14 進(jìn)程會計(jì) 2038.15 用戶標(biāo)識 2088.16 進(jìn)程時間 2088.17 小結(jié) 210習(xí)題 211第9章 進(jìn)程關(guān)系 2139.1 引言 2139.2 終端登錄 2139.3 網(wǎng)絡(luò)登錄 2169.4 進(jìn)程組 2189.5 會話 2199.6 控制終端 2209.7 tcgetpgrp、tcsetpgrp和tcgetsid函數(shù) 2219.8 作業(yè)控制 2229.9 shell執(zhí)行程序 2259.10 孤兒進(jìn)程組 2289.11 FreeBSD實(shí)現(xiàn) 2309.12 小結(jié) 231習(xí)題 232第10章 信號 23310.1 引言 23310.2 信號概念 23310.3 signal函數(shù) 24010.4 不可靠的信號 24210.5 中斷的系統(tǒng)調(diào)用 24410.6 可重入函數(shù) 24610.7 SIGCLD語義 24810.8 可靠信號術(shù)語和語義 25010.9 kill和raise函數(shù) 25110.10 alarm和pause函數(shù) 25210.11 信號集 25610.12 sigprocmask函數(shù) 25810.13 sigpending函數(shù) 25910.14 sigaction函數(shù) 26110.15 sigsetjmp和siglongjmp函數(shù) 26610.16 sigsuspend函數(shù) 26810.17 abort函數(shù) 27410.18 system函數(shù) 27610.19 sleep函數(shù) 28010.20 作業(yè)控制信號 28210.21 其他特征 28410.22 小結(jié) 285習(xí)題 285第11章 線程 28711.1 引言 28711.2 線程概念 28711.3 線程標(biāo)識 28811.4 線程的創(chuàng)建 28811.5 線程終止 29111.6 線程同步 29711.7 小結(jié) 311習(xí)題 311第12章 線程控制 31312.1 引言 31312.2 線程限制 31312.3 線程屬性 31412.4 同步屬性 31812.5 重入 32412.6 線程私有數(shù)據(jù) 32812.7 取消選項(xiàng) 33112.8 線程和信號 33312.9 線程和fork 33612.10 線程和I/O 33912.11 小結(jié) 340習(xí)題 340第13章 守護(hù)進(jìn)程 34113.1 引言 34113.2 守護(hù)進(jìn)程的特征 34113.3 編程規(guī)則 34213.4 出錯記錄 34513.5 單實(shí)例守護(hù)進(jìn)程 34813.6 守護(hù)進(jìn)程的慣例 35013.7 客戶進(jìn)程-服務(wù)器進(jìn)程模型 35413.8 小結(jié) 354習(xí)題 354第14章 高級I/O 35514.1 引言 35514.2 非阻塞I/O 35514.3 記錄鎖 35714.4 STREAMS 37014.5 I/O多路轉(zhuǎn)接 37914.5.1 select和pselect函數(shù) 38114.5.2 poll函數(shù) 38414.6 異步I/O 38614.6.1 系統(tǒng)V異步I/O 38614.6.2 BSD異步I/O 38714.7 readv和writev函數(shù) 38714.8 readn和writen函數(shù) 38914.9 存儲映射I/O 39014.10 小結(jié) 395習(xí)題 396第15章 進(jìn)程間通信 39715.1 引言 39715.2 管道 39815.3 popen和pclose函數(shù) 40315.4 協(xié)同進(jìn)程 40815.5 FIFO 41215.6 XSI IPC 41515.6.1 標(biāo)識符和鍵 41515.6.2 權(quán)限結(jié)構(gòu) 41615.6.3 結(jié)構(gòu)限制 41715.6.4 優(yōu)點(diǎn)和缺點(diǎn) 41715.7 消息隊(duì)列 41815.8 信號量 42215.9 共享存儲 42715.10 客戶進(jìn)程-服務(wù)器進(jìn)程屬性 43215.11 小結(jié) 434習(xí)題 434第16章 網(wǎng)絡(luò)IPC:套接字 43716.1 引言 43716.2 套接字描述符 43716.3 尋址 43916.3.1 字節(jié)序 44016.3.2 地址格式 44116.3.3 地址查詢 44216.3.4 將套接字與地址綁定 44916.4 建立連接 45016.5 數(shù)據(jù)傳輸 45216.6 套接字選項(xiàng) 46416.7 帶外數(shù)據(jù) 46616.8 非阻塞和異步I/O 46716.9 小結(jié) 468習(xí)題 468第17章 高級進(jìn)程間通信 46917.1 引言 46917.2 基于STREAMS的管道 46917.2.1 命名的STREAMS管道 47217.2.2 唯一連接 47317.3 UNIX域套接字 47617.3.1 命名UNIX域套接字 47717.3.2 唯一連接 47817.4 傳送文件描述符 48217.4.1 經(jīng)由基于STREAMS的管道傳送文件描述符 48417.4.2 經(jīng)由UNIX域套接字傳送文件描述符 48617.5 open服務(wù)器版本1 49317.6 open服務(wù)器版本2 49817.7 小結(jié) 505習(xí)題 505第18章 終端I/O 50718.1 引言 50718.2 綜述 50718.3 特殊輸入字符 51218.4 獲得和設(shè)置終端屬性 51618.5 終端選項(xiàng)標(biāo)志 51618.6 stty命令 52218.7 波特率函數(shù) 52318.8 行控制函數(shù) 52418.9 終端標(biāo)識 52418.10 規(guī)范模式 52918.11 非規(guī)范模式 53218.12 終端的窗口大小 53718.13 termcap,terminfo和curses 53918.14 小結(jié) 540習(xí)題 540第19章 偽終端 54119.1 引言 54119.2 概述 54119.3 打開偽終端設(shè)備 54419.3.1 基于STREAMS的偽終端 54719.3.2 基于BSD的偽終端 54919.3.3 基于Linux的偽終端 55119.4 pty_fork函數(shù) 55319.5 pty程序 55519.6 使用pty程序 55919.7 高級特性 56419.8 小結(jié) 565習(xí)題 565第20章 數(shù)據(jù)庫函數(shù)庫 56720.1 引言 56720.2 歷史 56720.3 函數(shù)庫 56820.4 實(shí)現(xiàn)概述 56920.5 集中式或非集中式 57220.6 并發(fā) 57420.7 構(gòu)造函數(shù)庫 57420.8 源代碼 57520.9 性能 59820.10 小結(jié) 600習(xí)題 601第21章 與網(wǎng)絡(luò)打印機(jī)通信 60321.1 引言 60321.2 網(wǎng)絡(luò)打印協(xié)議 60321.3 超文本傳輸協(xié)議 60521.4 打印假脫機(jī)技術(shù) 60521.5 源代碼 60721.6 小結(jié) 644習(xí)題 645附錄A 函數(shù)原型 647附錄B 其他源代碼 677附錄C 部分習(xí)題答案 685參考書目 709索引 715
編輯推薦
《UNIX環(huán)境高級編程(第2版)》內(nèi)容權(quán)威,概念清晰,闡述精辟,對于所有層次UNIX程序員都是一本不可或缺的參考書。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載