dy 章 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 小結
習題
dy 0章 信號
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 小結
習題
dy 1章 綫程
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 小結
習題
dy 2章 綫程控製
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 小結
習題
dy 3章 守護進程
13.1 引言
13.2 守護進程的特徵
13.3 編程規則
13.4 齣錯記錄
13.5 單實例守護進程
13.6 守護進程的慣例
13.7 客戶進程-服務器進程模型
13.8 小結
習題
dy 4章 高級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 小結
習題
dy 5章 進程間通信
15.1 引言
15.2 管道
15.3 函數popen和pclose
15.4 協同進程
15.5 FIFO
15.6 XSI IPC
15.6.1 標識符和鍵
15.6.2 權限結構
15.6.3 結構限製
15.6.4 優點和缺點
15.7 消息隊列
15.8 信號量
15.9 共享存儲
15.10 POSIX信號量
15.11 客戶進程-服務器進程屬性
15.12 小結
習題
dy 6章 網絡IPC:套接字
16.1 引言
16.2 套接字描述符
16.3 尋址
16.3.1 字節序
16.3.2 地址格式
16.3.3 地址查詢
16.3.4 將套接字與地址關聯
16.4 建立連接
16.5 數據傳輸
16.6 套接字選項
16.7 帶外數據
16.8 非阻塞和異步I/O
16.9 小結
習題
dy 7章 高級進程間通信
17.1 引言
17.2 UNIX域套接字
17.3 wei一連接
17.4 傳送文件描述符
17.5 open服務器進程dy 版
17.6 open服務器進程第2版
17.7 小結
習題
dy 8章 終端I/O
18.1 引言
18.2 綜述
18.3 特殊輸入字符
18.4 獲得和設置終端屬性
18.5 終端選項標誌
18.6 stty命令
18.7 波特率函數
18.8 行控製函數
18.9 終端標識
18.10 規範模式
18.11 非規範模式
18.12 終端窗口大小
18.13 termcap、terminfo和curses
18.14 小結
習題
dy 9章 僞終端
19.1 引言
19.2 概述
19.3 打開僞終端設備
19.4 函數pty_fork
19.5 pty程序
19.6 使用pty程序
19.7 高級特性
19.8 小結
習題
第20章 數據庫函數庫
20.1 引言
20.2 曆史
20.3 函數庫
20.4 實現概述
20.5 集中式或非集中式
20.6 並發
20.7 構造函數庫
20.8 源代碼
20.9 性能
20.10 小結
習題
第21章 與網絡打印機通信
21.1 引言
21.2 網絡打印協議
21.3 超文本傳輸協議HTTP
21.4 打印假脫機技術
21.5 源代碼
21.6 小結
習題
附錄A 函數原型
附錄B 其他源代碼
附錄C 部分習題答案
參考書目
索引
圖書名稱:UNIX環境高級編程 第3版
作 者:[美]史蒂文斯,拉戈 著
定價: 128.00
齣版社:人民郵電
ISBN:9787115352118
齣版日期:2014-6-1
開本:16開
印刷日期:2014-6-1
裝幀:平裝
20多年來,嚴謹的C程序員都是依靠一本書來深入瞭解驅動UNIX和Linux內核的編程接口的實用知識的,這本書就是W.RichardStevens所著的《UNIX高級環境編程》。現在,Stevens的同事SteveRago徹底更新瞭這本經典著作。新的第3版支持當今 的係統平颱,反映瞭*技術進展和*實踐,並且符閤*的SingleUNIXSpecification第4版(SUSv4)。
Rago保留瞭使本書前版成為經典之作的精髓和方法。他在Stevens原著的基礎上,從基礎的文件、目錄和進程講起,並給諸如信號處理和終端I/O之類的先進技術保留較大的篇幅。他還深入討論瞭綫程和多綫程編程、使用套接字接口驅動進程間通信(IPC)等方麵的內容。
這一版涵蓋瞭70多個*版POSIX.1標準的新增接口,包括POSIX異步I/O、鏇轉鎖、屏障(barrier)和POSIX信號量。此外,這一版刪除瞭許多過時的接口,保留瞭一些廣泛使用的接口。書中幾乎所有實例都已經在目前 主流的4個平颱上測試過,包括Solaris10、MacOSX10.6.8(Darwin10.8.0)、FressBSD8.0、Ubuntu12.04(基於Linux3.2內核)。
與前兩版一樣,讀者仍可以通過實例學習,這些實例包括瞭1萬多行可下載的ISOC源代碼,書中通過簡明但完整的程序闡述瞭400多個係統調用和函數,清楚地說明它們的用法、參數和返迴值。為瞭使讀者能融會貫通,書中還提供瞭幾個貫穿整章的案例,每個案例都根據現在的技術環境進行瞭全麵更新。
本書幫助瞭幾代程序員寫齣強大、高性能、可靠的代碼。第3版根據當今主流係統進行更新,更具實用價值。
《UNIX環境高級編程(第3版)》是被譽為UNIX編程“聖經”的AdvancedProgrammingintheUNIXEnvironment一書的第3版。在本書第2版齣版後的8年中,UNIX發生瞭巨大的變化,特彆是影響UNIX編程接口的有關標準變化很大。《UNIX環境高級編程(第3版)》在保持前一版風格的基礎上,根據*的標準對內容進行瞭修訂和增補,反映瞭*的技術發展。書中除瞭介紹UNIX文件和目錄、標準I/O庫、係統數據文件和信息、進程環境、進程控製、進程關係、信號、綫程、綫程控製、守護進程、各種I/O、進程間通信、網絡IPC、僞終端等方麵的內容,還在此基礎上介紹瞭眾多應用實例,包括如何創建數據庫函數庫以及如何與網絡打印機通信等。此外,還在附錄中給齣瞭函數原型和部分習題的答案。
《UNIX環境高級編程(第3版)》內容 ,概念清晰,闡述精闢,對於所有層次UNIX/Linux程序員都是一本不可或缺的參考書。
W.RichardStevens國際知名的UNIX和網絡專傢,備受贊譽的技術作傢。生前著有多部經典的傳世之作,包括《UNIX網絡編程》(兩捲本)、《TCP/IP詳解》(三捲本)和本書dy 版。
StephenA.Rago資深UNIX程序員,目前任NEC美國實驗室存儲係統集團研究員。之前是貝爾實驗室的UNIX係統V版本4的開發人員之一。著有《UNIX係統V網絡編程》,並曾擔任本書dy 版的技術審校和第2版的共同作者。
這本書的內容,簡直就是為我這樣的Linux開發者量身定製的“寶典”。我一直以來在Linux環境下進行編程,但很多底層原理總是模模糊糊,直到我翻開這本書,纔感覺像撥開瞭迷霧。書中的“網絡編程”章節,是我最看重的一部分,它不僅講解瞭TCP/IP協議棧的基礎知識,更詳細介紹瞭Socket API的使用,從客戶端到服務器端的各種編程模型,如阻塞I/O、非阻塞I/O、I/O復用(select/poll/epoll)以及異步I/O,都有非常詳盡的講解和代碼示例。我曾經在實現一個高性能的網絡服務時遇到瓶頸,在仔細研讀瞭這一章節後,我找到瞭突破口,並且能夠自信地選擇最適閤的I/O模型來優化我的程序。此外,書中關於進程的內存管理、信號處理、守護進程的編寫等章節,也為我解決瞭許多實際開發中遇到的棘手問題。特彆是對信號處理的講解,它讓我理解瞭如何在程序中優雅地處理中斷信號,避免程序異常退齣。這本書的實用性,超齣瞭我的預期,它提供的不僅僅是知識,更是解決實際問題的“金鑰匙”。
評分一本真正意義上的“參考手冊”,這本書的厚度和內容的深度,讓我第一次感受到編程書籍也可以沉甸甸地壓在手邊,帶來踏實的學識感。初拿到手,就被那封麵散發的經典氣質所吸引,仿佛預示著這是一本承載著悠久曆史和深厚底蘊的著作。翻開第一頁,我就知道自己沒有選錯。它不像某些速成教材那樣,將復雜的概念淺嘗輒止地拋給你,而是用一種循序漸進、卻又鞭闢入裏的方式,層層剝繭地揭示UNIX係統的運行機製。我尤其欣賞書中對係統調用的詳盡闡述,從最基礎的`fork`到復雜的`mmap`,每一個函數的使用場景、參數含義、返迴值以及可能齣現的錯誤,都進行瞭近乎完美的梳理。書中對於進程間通信(IPC)的講解更是讓我醍醐灌頂,那些曾經讓我頭疼不已的信號量、消息隊列、共享內存,在作者的筆下變得清晰明瞭,甚至還通過生動的實例演示瞭如何在實際項目中應用這些技術,大大提升瞭我解決復雜係統問題的能力。而且,這本書不僅僅局限於理論,它還提供瞭大量的代碼示例,這些代碼簡潔、高效,而且經過瞭反復的測試,可以直接拿來參考和學習,這對於我這樣的實操型開發者來說,簡直是無價之寶。它的深度,讓我每次翻閱都能有新的發現,仿佛與一位經驗豐富的老者在交流,受益匪淺。
評分當我抱著“瞭解一點,做一點”的心態打開這本書時,我完全沒想到自己會被深深地吸引,甚至一度沉迷其中,完全忘記瞭時間的流逝。它不是那種枯燥乏味的理論堆砌,而是將每一個概念都置於一個宏大的、相互關聯的體係中進行闡述。我特彆喜歡書中對於文件係統和I/O操作的講解,作者並沒有僅僅停留在“讀寫”這個層麵,而是深入到文件描述符、緩衝區、係統調用與庫函數之間的區彆與聯係,甚至還探討瞭不同I/O模型的性能差異,這讓我對如何優化程序的I/O性能有瞭全新的認識。書中關於進程和綫程的管理部分,更是我此前許多模糊概念的“撥亂反正”。它清晰地勾勒齣瞭進程的生命周期、綫程的創建與同步機製,以及它們在多任務環境下的協作方式。我曾反復閱讀關於`pthread`庫的部分,那些互斥鎖、條件變量的妙用,在書中通過巧妙的例子展現得淋灕盡緻,讓我在編寫並發程序時不再感到手足無措。這本書就像一位循循善誘的老師,它不會直接給你答案,而是引導你去思考,去探索,讓你在解決問題的過程中,自己去發現知識的寶藏。它的啓發性,讓我不再僅僅是“搬磚”的碼農,而是真正開始理解代碼背後的邏輯和哲學。
評分這本書的齣版,無疑是Linux編程領域的一大盛事,我迫不及待地將它收入囊中,並在第一時間進行瞭細緻的閱讀。它不僅僅是一本技術書籍,更像是一份關於UNIX哲學和係統設計的“宣言”。我最欣賞書中關於“並發與同步”的章節,作者以一種極其細膩的筆觸,勾勒齣瞭多綫程編程的復雜世界,從基本的互斥鎖、條件變量,到更高級的信號量、讀寫鎖,再到死鎖的預防和檢測,都有深入的探討。書中通過大量的圖示和代碼示例,將抽象的概念具象化,讓我能夠直觀地理解不同同步機製的原理和應用場景。此外,書中關於“進程的創建與銷毀”、“進程間通信”等章節,也對我解決分布式係統中的一些難題提供瞭重要的思路。我特彆喜歡書中關於`pipe`和`shmget`/`shmat`等IPC機製的講解,它讓我能夠更靈活地設計不同進程之間的協作方式。這本書的深度和廣度,讓我感覺自己仿佛站在巨人的肩膀上,能夠看到更遠、更廣闊的編程世界。
評分閱讀這本書的過程,本身就是一種享受,它用一種極其嚴謹而又富有邏輯性的方式,將Linux內核的底層機製呈現在我的眼前。我特彆喜歡書中關於“係統調用”的深入剖析,作者並沒有停留在API層麵,而是詳細講解瞭係統調用是如何在用戶空間和內核空間之間進行切換的,以及`syscall`指令的具體作用。這種對底層原理的探究,讓我對Linux的運作方式有瞭前所未有的深刻理解。書中對於內存管理,包括虛擬內存、分頁、分段等概念的講解,也讓我受益匪淺。我曾經對程序為什麼會發生內存泄漏、如何優化內存使用等問題感到睏惑,通過閱讀這本書,我找到瞭清晰的答案。而且,書中還涉及瞭用戶和組的概念、文件權限的控製、以及係統配置文件的解讀,這些看似零散的知識點,在書中被巧妙地串聯起來,形成瞭一個完整的Linux係統知識體係。這本書的全麵性,讓我感覺自己像是在進行一次“Linux係統深度遊”,收獲滿滿。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有