注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合Linux系統(tǒng)編程(第2版)

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

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

定 價(jià):¥79.00

作 者: (美)Robert Love 著,祝洪凱,李妹芳,付途 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: LINUX 操作系統(tǒng)/系統(tǒng)開(kāi)發(fā) 計(jì)算機(jī)/網(wǎng)絡(luò)

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115346353 出版時(shí)間: 2014-04-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 420 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)