《UNIX環境高級編程》(第3版)-pdf,txt,mobi,kindle,epub電子版書免費下載

由于鏈接總是被和諧,需要本書電子版的朋友關注公眾號:奧丁讀書小站(賬號:njdy668),首頁回復數字:2259,或者書名,自動彈出下載地址.

【還可以加V信:209993658,免費領取電子書】

內容簡介

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

《UNIX環境高級編程(第3版)》內容權威,概念清晰,闡述精辟,對于所有層次UNIX/Linux程序員都是一本不可或缺的參考書。

適讀人群 :所有層次UNIX/Linux程序員
20多年來,嚴謹的C程序員都是依靠一本書來深入了解驅動UNIX和Linux內核的編程接口的實用知識的,這本書就是W. Richard Stevens所著的《UNIX高級環境編程》。現在,Stevens的同事Steve Rago徹底更新了這本經典著作。新的第3版支持當今領先的系統平臺,反映了最新技術進展和最佳實踐,并且符合最新的Single UNIX Specification第4版(SUSv4)。
Rago保留了使本書前版成為經典之作的精髓和方法。他在Stevens原著的基礎上,從基礎的文件、目錄和進程講起,并給諸如信號處理和終端I/O之類的先進技術保留較大的篇幅。他還深入討論了線程和多線程編程、使用套接字接口驅動進程間通信(IPC)等方面的內容。
這一版涵蓋了70多個最新版POSIX.1標準的新增接口,包括POSIX異步I/O、旋轉鎖、屏障(barrier)和POSIX信號量。此外,這一版刪除了許多過時的接口,保留了一些廣泛使用的接口。書中幾乎所有實例都已經在目前最主流的4個平臺上測試過,包括Solaris 10、Mac OS X 10.6.8(Darwin 10.8.0)、FressBSD 8.0、Ubuntu 12.04(基于Linux 3.2內核)。
與前兩版一樣,讀者仍可以通過實例學習,這些實例包括了1萬多行可下載的ISO C源代碼,書中通過簡明但完整的程序闡述了400多個系統調用和函數,清楚地說明它們的用法、參數和返回值。為了使讀者能融會貫通,書中還提供了幾個貫穿整章的案例,每個案例都根據現在的技術環境進行了全面更新。
《UNIX環境高級編程(第3版)》幫助了幾代程序員寫出強大、高性能、可靠的代碼。第3版根據當今主流系統進行更新,更具實用價值。
精彩書評:
本書第1版連同Stevens所著的系列網絡技術書籍,被公認為優秀的、匠心獨具的名著,成為極其暢銷的作品……總之,這是一本彌足珍貴的經典著作的更新版。
——Dennis Ritchie,圖靈獎得主,UNIX操作系統和C語言之父
對任何一個嚴謹的、專業的UNIX系統程序員而言,本書都是不可或缺的權威參考書。Rago更新和擴展了Stevens的經典著作,并保持了原書的風貌。書中利用清晰的實例演示了API的使用過程,還提到了許多在不同UNIX系統實現上編程時需要注意的陷阱,并指出如何使用相關的標準(如POSIX 1003.1 2004版和Single UNIX Specification第3版)來避免這些錯誤。
——Andrew Josey, The Open Group標準部門主管,POSIX 1003.1標準工作組主席
絕對的UNIX編程經典之一。
——Eric S. Raymond,《UNIX編程藝術》作者
Stephen Rago的更新版本對于使用眾多UNIX及相關操作系統環境的廣大專業用戶來說是一個遲來的喜訊。這一版不僅刪除了過時的接口,吸納了較新的開發接口,還根據UNIX及類UNIX操作系統環境的幾種主流實現發布的新版本全面更新了所有主題、實例和應用的背景。難能可貴的是,這一版本還保持了經典的第1版的風格和品位。
——Mukesh Kacker,Pronto Networks公司聯合創始人和前任CTO
本書對于任何在UNIX系統上編寫程序的開發人員來說都是非常重要的參考書。當我想要了解或者重新回顧各種系統接口時,這本書是首選的求助工具。Stephen Rago成功地修訂了本書,使其與新的操作系統(如GNU/Linux和蘋果的OS X)相容,并保持了第1版易讀和實用的特質。它將永遠擺放在我桌上隨手可及的位置。
——Benjamin Kuperman博士,斯沃斯莫爾學院
這是每一位嚴謹的UNIX C程序員必備的書籍。它深入、全面、清晰的解釋是無可匹敵的。
——UniForum Monthly
從W. Richard Stevens的這本書中可以找到更多易于理解的、詳盡的UNIX系統內部細節。這本書包含了大量實際的例子,對系統編程工作非常有益。
——RS/Magazine

作者介紹

W. Richard Stevens,國際知名的UNIX和網絡專家,備受贊譽的技術作家。生前著有多部經典的傳世之作,包括《UNIX網絡編程》(兩卷本)、《TCP/IP詳解》(三卷本)和本書第1版。
Stephen A. Rago,資深UNIX程序員,目前任NEC美國實驗室存儲系統集團研究員。之前是貝爾實驗室的UNIX系統V版本4的開發人員之一。著有《UNIX系統V網絡編程》,并曾擔任本書第1版的技術審校和第2版的共同作者。

譯者介紹

戚正偉,博士,上海交通大學軟件學院副教授,微軟亞洲研究院(2008)和美國CMU大學(2011-2012)訪問學者。研究方向為系統軟件和程序分析,著有《New Blue Pill深入理解硬件虛擬機》和《嵌入式GIS開發及應用》等書。

張亞英,博士,同濟大學電子與信息工程學院計算機系副教授,研究方向為分布與移動計算、嵌入式系統以及系統軟件等。

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

目錄

第1章 UNIX基礎知識
1.1 引言
1.2 UNIX體系結構
1.3 登錄
1.4 文件和目錄
1.5 輸入和輸出
1.6 程序和進程
1.7 出錯處理
1.8 用戶標識
1.9 信號
1.10 時間值
1.11 系統調用和庫函數
1.12 小結
習題
第2章 UNIX標準及實現
2.1 引言
2.2 UNIX標準化
2.2.1 ISO C
2.2.2 IEEE POSIX
2.2.3 Single UNIX Specification
2.2.4 FIPS
2.3 UNIX系統實現
2.3.1 SVR4
2.3.2 4.4BSD
2.3.3 FreeBSD
2.3.4 Linux
2.3.5 Mac OS X
2.3.6 Solaris
2.3.7 其他UNIX系統
2.4 標準和實現的關系
2.5 限制
2.5.1 ISO C限制
2.5.2 POSIX限制
2.5.3 XSI限制
2.5.4 函數sysconf、pathconf和fpathconf
2.5.5 不確定的運行時限制
2.6 選項
2.7 功能測試宏
2.8 基本系統數據類型
2.9 標準之間的沖突
2.10 小結
習題
第3章 文件I/O
3.1 引言
3.2 文件描述符
3.3 函數open和openat
3.4 函數creat
3.5 函數close
3.6 函數lseek
3.7 函數read
3.8 函數write
3.9 I/O的效率
3.10 文件共享
3.11 原子操作
3.12 函數dup和dup2
3.13 函數sync、fsync和fdatasync
3.14 函數fcntl
3.15 函數ioctl
3.16 /dev/fd
3.17 小結
習題
第4章 文件和目錄
4.1 引言
4.2 函數stat、fstat、fstatat和lstat
4.3 文件類型
4.4 設置用戶ID和設置組ID
4.5 文件訪問權限
4.6 新文件和目錄的所有權
4.7 函數access和faccessat
4.8 函數umask
4.9 函數chmod、fchmod和fchmodat
4.10 粘著位
4.11 函數chown、fchown、fchownat和lchown
4.12 文件長度
4.13 文件截斷
4.14 文件系統
4.15 函數link、linkat、unlink、unlinkat和remove
4.16 函數rename和renameat
4.17 符號鏈接
4.18 創建和讀取符號鏈接
4.19 文件的時間
4.20 函數futimens、utimensat和utimes
4.21 函數mkdir、mkdirat和rmdir
4.22 讀目錄
4.23 函數chdir、fchdir和getcwd
4.24 設備特殊文件
4.25 文件訪問權限位小結
4.26 小結
習題
第5章 標準I/O庫
5.1 引言
5.2 流和FILE對象
5.3 標準輸入、標準輸出和標準錯誤
5.4 緩沖
5.5 打開流
5.6 讀和寫流
5.7 每次一行I/O
5.8 標準I/O的效率
5.9 二進制I/O
5.10 定位流
5.11 格式化I/O
5.12 實現細節
5.13 臨時文件
5.14 內存流
5.15 標準I/O的替代軟件
5.16 小結
習題
第6章 系統數據文件和信息
6.1 引言
6.2 口令文件
6.3 陰影口令
6.4 組文件
6.5 附屬組ID
6.6 實現區別
6.7 其他數據文件
6.8 登錄賬戶記錄
6.9 系統標識
6.10 時間和日期例程
6.11 小結
習題
第7章 進程環境
7.1 引言
7.2 main函數
7.3 進程終止
7.4 命令行參數
7.5 環境表
7.6 C程序的存儲空間布局
7.7 共享庫
7.8 存儲空間分配
7.9 環境變量
7.10 函數setjmp和longjmp
7.11 函數getrlimit和setrlimit
7.12 小結
習題
第8章 進程控制
8.1 引言
8.2 進程標識
8.3 函數fork
8.4 函數vfork
8.5 函數exit
8.6 函數wait和waitpid
8.7 函數waitid
8.8 函數wait3和wait4
8.9 競爭條件
8.10 函數exec
8.11 更改用戶ID和更改組ID
8.12 解釋器文件
8.13 函數system
8.14 進程會計
8.15 用戶標識
8.16 進程調度
8.17 進程時間
8.18 小結
習題
第9章 進程關系
9.1 引言
9.2 終端登錄
9.3 網絡登錄
9.4 進程組
9.5 會話
9.6 控制終端
9.7 函數tcgetpgrp、tcsetpgrp和tcgetsid
9.8 作業控制
9.9 shell執行程序
9.10 孤兒進程組
9.11 FreeBSD實現
9.12 小結
習題
第10章 信號
10.1 引言
10.2 信號概念
10.3 函數signal
10.4 不可靠的信號
10.5 中斷的系統調用
10.6 可重入函數
10.7 SIGCLD語義
10.8 可靠信號術語和語義
10.9 函數kill和raise
10.10 函數alarm和pause
10.11 信號集
10.12 函數sigprocmask
10.13 函數sigpending
10.14 函數sigaction
10.15 函數sigsetjmp和siglongjmp
10.16 函數sigsuspend
10.17 函數abort
10.18 函數system
10.19 函數sleep、nanosleep和clock_nanosleep
10.20 函數sigqueue
10.21 作業控制信號
10.22 信號名和編號
10.23 小結
習題
第11章 線程
11.1 引言
11.2 線程概念
11.3 線程標識
11.4 線程創建
11.5 線程終止
11.6 線程同步
11.6.1 互斥量
11.6.2 避免死鎖
11.6.3 函數pthread_mutex_timedlock
11.6.4 讀寫鎖
11.6.5 帶有超時的讀寫鎖
11.6.6 條件變量
11.6.7 自旋鎖
11.6.8 屏障
11.7 小結
習題
第12章 線程控制
12.1 引言
12.2 線程限制
12.3 線程屬性
12.4 同步屬性
12.4.1 互斥量屬性
12.4.2 讀寫鎖屬性
12.4.3 條件變量屬性
12.4.4 屏障屬性
12.5 重入
12.6 線程特定數據
12.7 取消選項
12.8 線程和信號
12.9 線程和fork
12.10 線程和I/O
12.11 小結
習題
第13章 守護進程
13.1 引言
13.2 守護進程的特征
13.3 編程規則
13.4 出錯記錄
13.5 單實例守護進程
13.6 守護進程的慣例
13.7 客戶進程-服務器進程模型
13.8 小結
習題
第14章 高級I/O
14.1 引言
14.2 非阻塞I/O
14.3 記錄鎖
14.4 I/O多路轉接
14.4.1 函數select和pselect
14.4.2 函數poll
14.5 異步I/O
14.5.1 System V異步I/O
14.5.2 BSD異步I/O
14.5.3 POSIX異步I/O
14.6 函數readv和writev
14.7 函數readn和writen
14.8 存儲映射I/O
14.9 小結

發表評論

電子郵件地址不會被公開。 必填項已用*標注