注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計程序設計綜合Linux系統(tǒng)編程(第2版)

Linux系統(tǒng)編程(第2版)

Linux系統(tǒng)編程(第2版)

定 價:¥79.00

作 者: (美)Robert Love 著,祝洪凱,李妹芳,付途 譯
出版社: 人民郵電出版社
叢編項:
標 簽: LINUX 操作系統(tǒng)/系統(tǒng)開發(fā) 計算機/網絡

購買這本書可以去


ISBN: 9787115346353 出版時間: 2014-04-01 包裝: 平裝
開本: 16開 頁數(shù): 420 字數(shù):  

內容簡介

  系統(tǒng)編程是指編寫系統(tǒng)軟件,其代碼在底層運行,直接跟內核和核心系統(tǒng)庫對話?!禠inux系統(tǒng)編程(第2版)》是一本關于Linux系統(tǒng)編程的教程,也是一本介紹Linux系統(tǒng)調用的手冊,還是一本如何實現(xiàn)更優(yōu)雅更快代碼的內幕指南?!禠inux系統(tǒng)編程(第2版)》分為11章和2個附錄,詳細介紹了Linux系統(tǒng)編程基本概念、文件I/O、緩沖I/O、高級文件I/O、進程管理、高級進程管理、線程、文件和目錄管理、信號和時間等主題。附錄給出了gcc和GNU C提供的很多語言擴展,以及推薦閱讀的相關書目。

作者簡介

  Robert Love在很早期就一直使用Linux并貢獻代碼,包括對Linux內核和GNOME桌面環(huán)境的貢獻。Robert Love是Google軟件工程師,是Android設計和開發(fā)團隊成員。目前,他致力于Google的Web搜索架構。Robert獲得了Florida大學的雙學位:計算機科學理學學士和數(shù)學文學學士。

圖書目錄

第1章 入門和基本概念
1.1 系統(tǒng)編程
1.1.1 為什么要學習系統(tǒng)編程
1.1.2 系統(tǒng)編程的基礎
1.1.3 系統(tǒng)調用
1.1.4 C庫
1.1.5 C編譯器
1.2 API和ABI
1.2.1 API
1.2.2 ABI
1.3 標準
1.3.1 POSIX和SUS的歷史
1.3.2 C語言標準
1.3.3 Linux和標準
1.3.4 本書和標準
1.4 Linux編程的概念
1.4.1 文件和文件系統(tǒng)
1.4.2 進程
1.4.3 用戶和組
1.4.4 權限
1.4.5 信號
1.4.6 進程間通信
1.4.7 頭文件
1.4.8 錯誤處理
第2章 文件I/O
2.1 打開文件
2.1.1 系統(tǒng)調用open
2.1.2 新建文件的所有者
2.1.3 新建文件的權限
2.1.4 creat()函數(shù)
2.1.5 返回值和錯誤碼
2.2 通過read()讀文件
2.2.1 返回值
2.2.2 讀入所有字節(jié)
2.2.3 非阻塞讀
2.2.4 其他錯誤碼
2.2.5 read()調用的大小限制
2.3 調用write()寫
2.3.1 部分寫(Partial Write)
2.3.2 Append(追加)模式
2.3.3 非阻塞寫
2.3.4 其他錯誤碼
2.3.5 write()大小限制
2.3.6 write()行為
2.4 同步I/O
2.4.1 fsync()和fdatasync()
2.4.2 sync()
2.4.3 O_SYNC標志位
2.4.4 O_DSYNC和O_RSYNC
2.5 直接I/O
2.6 關閉文件
2.7 用lseek()查找
2.7.1 在文件末尾后查找
2.7.2 錯誤碼
2.7.3 限制
2.8 定位讀寫
2.9 文件截短
2.10 I/O多路復用
2.10.1 select()
2.10.2 poll()
2.10.3 poll()和select()的區(qū)別
2.11 內核內幕
2.11.1 虛擬文件系統(tǒng)
2.11.2 頁緩存
2.11.3 頁回寫
2.12 結束語
第3章 緩沖I/O
3.1 用戶緩沖I/O
3.2 標準I/O
3.3 打開文件
3.4 通過文件描述符打開流
3.5 關閉流
3.6 從流中讀數(shù)據(jù)
3.6.1 每次讀取一個字節(jié)
3.6.2 每次讀一行
3.6.3 讀二進制文件
3.7 向流中寫數(shù)據(jù)
3.7.1 寫入單個字符
3.7.2 寫入字符串
3.7.3 寫入二進制數(shù)據(jù)
3.8 緩沖I/O示例程序
3.9 定位流
3.10 Flush(刷新輸出)流
3.11 錯誤和文件結束
3.12 獲取關聯(lián)的文件描述符
3.13 控制緩沖
3.14 線程安全
3.14.1 手動文件加鎖
3.14.2 對流操作解鎖
3.15 對標準I/O的批評
3.16 結束語
第4章 高級文件I/O
4.1 分散/聚集I/O
4.2 Event Poll
4.2.1 創(chuàng)建新的epoll實例
4.2.2 控制epoll
4.2.3 等待epoll事件
4.2.4 邊緣觸發(fā)事件和條件觸發(fā)事件
4.3 存儲映射
4.3.1 mmap()
4.3.2 munmap()
4.3.3 存儲映射實例
4.3.4 mmap()的優(yōu)點
4.3.5 mmap()的不足
4.3.6 調整映射的大小
4.3.7 改變映射區(qū)域的權限
4.3.8 通過映射同步文件
4.3.9 給出映射提示
4.4 普通文件I/O提示
4.4.1 系統(tǒng)調用posix_fadvise()
4.4.2 readahead()系統(tǒng)調用
4.4.3 “經濟實用”的操作提示
4.5 同步(Synchronized),同步(Synchronous)
及異步(Asynchronous)操作
4.6 I/O調度器和I/O性能
4.6.1 磁盤尋址
4.6.2 I/O調度器的功能
4.6.3 改進讀請求
4.6.4 選擇和配置你的I/O調度器
4.6.5 優(yōu)化I/O性能
4.7 結束語
第5章 進程管理
5.1 程序、進程和線程
5.2 進程ID
5.2.1 分配進程ID
5.2.2 進程體系
5.2.3 pid_t
5.2.4 獲取進程ID和父進程ID
5.3 運行新進程
5.3.1 exec系統(tǒng)調用
5.3.2 fork()系統(tǒng)調用
5.4 終止進程
5.4.1 終止進程的其他方式
5.4.2 atexit()
5.4.3 on_exit()
5.4.4 SIGCHLD
5.5 等待子進程終止
5.5.1 等待特定進程
5.5.2 等待子進程的其他方法
5.5.3 BSD中的wait3()和wait4()
5.5.4 創(chuàng)建并等待新進程
5.5.5 僵尸進程
5.6 用戶和組
5.6.1 改變實際用戶/組ID和保留的用戶/組ID
5.6.2 改變有效的用戶ID或組ID
5.6.3 BSD改變用戶ID和組ID的方式
5.6.4 HP-UX中改變用戶ID和組ID的方式
5.6.5 操作用戶ID/組ID的首選方法
5.6.6 對保留的用戶ID的支持
5.6.7 獲取用戶ID和組ID
5.7 會話(Session)和進程組
5.7.1 與會話相關的系統(tǒng)調用
5.7.2 與進程組相關的系統(tǒng)調用
5.7.3 廢棄的進程組函數(shù)
5.8 守護進程
5.9 結束語
第6章 高級進程管理
6.1 進程調度
6.1.1 時間片
6.1.2 I/O約束型進程和處理器約束型進程
6.1.3 搶占式調度
6.2 完全公平調度器
6.3 讓出處理器
6.4 進程優(yōu)先級
6.4.1 nice()
6.4.2 getpriority()和setpriority()
6.4.3 I/O優(yōu)先級
6.5 處理器親和力(Affinity)
6.6 實時系統(tǒng)
6.6.1 硬實時系統(tǒng)和軟實時系統(tǒng)
6.6.2 延遲、抖動和截止期限
6.6.3 Linux的實時支持
6.6.4 Linux調度策略和優(yōu)先級
6.6.5 設置調度參數(shù)
6.6.6 sched_rr_get_interval()
6.6.7 關于實時進程的注意事項
6.6.8 確定性
6.7 資源限制
6.7.1 限制項
6.7.2 獲取和設置資源限制
第7章 線程
7.1 二進制程序、進程和線程
7.2 多線程
7.2.1 多線程代價
7.2.2 其他選擇
7.3 線程模型
7.3.1 用戶級線程模型
7.3.2 混合式線程模型
7.3.3 協(xié)同程序
7.4 線程模式
7.4.1 每個連接對應一個線程
7.4.2 事件驅動的線程模式
7.5 并發(fā)性、并行性和競爭
7.6 同步
7.6.1 互斥
7.6.2 死鎖
7.7 Pthreads
7.7.1 Linux線程實現(xiàn)
7.7.2 Pthread API
7.7.3 鏈接Pthreads
7.7.4 創(chuàng)建線程
7.7.5 線程ID
7.7.6 終止線程
7.7.7 join(加入)線程和detach(分離)線程
7.7.8 線程編碼實例
7.7.9 Pthread互斥
7.8 進一步研究
第8章 文件和目錄管理
8.1 文件及其元數(shù)據(jù)
8.1.1 一組stat函數(shù)
8.1.2 權限
8.1.3 所有權
8.1.4 擴展屬性
8.1.5 擴展屬性操作
8.2 目錄
8.2.1 獲取當前工作目錄
8.2.2 創(chuàng)建目錄
8.2.3 刪除目錄
8.2.4 讀取目錄內容
8.3 鏈接
8.3.1 硬鏈接
8.3.2 符號鏈接
8.3.3 解除鏈接
8.4 拷貝和移動文件
8.4.1 拷貝
8.4.2 移動
8.5 設備節(jié)點
8.5.1 特殊設備節(jié)點
8.5.2 隨機數(shù)生成器
8.6 帶外通信(Out-of-Band Communication)
8.7 監(jiān)視文件事件
8.7.1 初始化inotify
8.7.2 監(jiān)視
8.7.3 inotify事件
8.7.4 高級監(jiān)視選項
8.7.5 刪除inotify監(jiān)視
8.7.6 獲取事件隊列大小
8.7.7 銷毀inotify實例
……
第9章 內存管理
第10章 信號
第11章 時間
附錄A C語言的GCC擴展
附錄B 參考書目

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號