出版時(shí)間:2010-3 出版社:清華大學(xué)出版社 作者:瓊斯 頁(yè)數(shù):530 譯者:張?jiān)?nbsp;
Tag標(biāo)簽:無(wú)
前言
GNU/Linux是操作系統(tǒng)中的“瑞士車(chē)刀”。從最小的設(shè)備(如蘋(píng)果的iPod)到最大的設(shè)備(如;IBM的“藍(lán)色基因”巨型機(jī))中部可以看到它的蹤影。你會(huì)發(fā)現(xiàn)GNU/Linux運(yùn)行在很多不同的架構(gòu)中,從老式的x86處理器到PlayStation3使用的cell處理器,不一而舉。本書(shū)提供GNU/Linux操作系統(tǒng)上的應(yīng)用程序開(kāi)發(fā)的基礎(chǔ)知識(shí)。無(wú)論你是為iPod還是BlueGene開(kāi)發(fā)應(yīng)用程序,所需要的編程概念與API均可以在本節(jié)中找到。 本書(shū)內(nèi)容 本書(shū)全面介紹GNU/Linux環(huán)境下應(yīng)用程序丌發(fā)的所有知識(shí)。全書(shū)五部分,包含GNU工具、應(yīng)用程序開(kāi)發(fā)、shell與腳本、調(diào)試與硬化及——些介紹性的主題,如虛擬化基礎(chǔ)。 具體包含以下主題。 GNU/Linux架構(gòu)與虛擬機(jī)制。 GNU工具,如GCC、make、automake/autoconf、源代碼擰制系統(tǒng)、GNU Debugger以及GNUplot。 應(yīng)用程序開(kāi)發(fā)基礎(chǔ),如庫(kù)(靜態(tài)的和動(dòng)態(tài)的)、文件管理、管道、套接字、編程等。 GNU/Linux進(jìn)程模型(包括線程)和POSIX IPC機(jī)制(消息序列、旗語(yǔ)及共享內(nèi)存)。 shell與腳本基礎(chǔ),從相應(yīng)的GNU/Linux命令到Bash、Ruby以及Python。sed和awk文本管理,flex和bison語(yǔ)法分析器生成。 本書(shū)還覆蓋調(diào)試和硬化技術(shù),包括軟件測(cè)試工具、覆蓋測(cè)試和利用GCov和GProf的剖析及內(nèi)存調(diào)試工具(如valgrind等)。 本書(shū)配套資源 本書(shū)面向的讀者 如果你想學(xué)習(xí)如何開(kāi)發(fā)運(yùn)行與GNU/Linux操作系統(tǒng)有關(guān)的應(yīng)用程序,或者想擴(kuò)充知識(shí)以進(jìn)入更高深的開(kāi)發(fā)領(lǐng)域,那么本書(shū)就是為你而寫(xiě)的,本節(jié)適合GNU/Linux初級(jí)和中級(jí)程序開(kāi)發(fā)人員閱讀與參考。書(shū)中覆蓋相關(guān)的工具、API及開(kāi)發(fā)技術(shù),并通過(guò)大量實(shí)例來(lái)闡明如何使用GNU/Linux的API。
內(nèi)容概要
GNU/Linux也稱(chēng)Linux,被譽(yù)為操作系統(tǒng)中的“瑞士軍刀”。從iPod之類(lèi)的小型設(shè)備到IBM的Blue Gene之類(lèi)的超級(jí)計(jì)算機(jī),都可以看到它的”芳蹤”。GNU/LinuX可以運(yùn)行于大眾化體系結(jié)構(gòu)之上,從老式的x86處理器到最新的Play Station 3游戲機(jī)采用的cell處理器,不一而舉?! ”緯?shū)詳細(xì)介紹如何開(kāi)發(fā)可以運(yùn)行于GNU/Linux操作系統(tǒng)的應(yīng)用程序,經(jīng)過(guò)全面修訂的第2版涵括所有必要的工具和編程技術(shù),提供豐富的例子來(lái)說(shuō)明GNU/Linux API的使用。 GNU/Linux架構(gòu)與虛擬化技術(shù) GNU工具,如GCC,make、automake/autoconf,源代碼控制系統(tǒng),GNU Debugger和Gnuplot 應(yīng)用程序開(kāi)發(fā)基礎(chǔ)主題,包括庫(kù)(動(dòng)態(tài)的和靜態(tài)的)、文件處理、管道、套接字和編程基礎(chǔ)等 GNU/Linux過(guò)程模型(包括線程)和POSIXIPC機(jī)制(如消息隊(duì)列、旗語(yǔ)和共享內(nèi)存) shell和腳本編程基礎(chǔ),從常用的GNU/Linux命令到Bash、Ruby和Python sed和AWK文本處理,flex和bison解析器 調(diào)試和代碼硬化技術(shù),包括軟件測(cè)試工具、覆蓋測(cè)試和GCov和GPro概要和內(nèi)存調(diào)試工具等 本書(shū)針對(duì)Linux程序員,本書(shū)詳細(xì)介紹如何開(kāi)發(fā)高性能、高安全性的應(yīng)用程序。經(jīng)過(guò)全面修訂的第2版涵括所有必要的工具和編程技術(shù),提供豐富示例來(lái)說(shuō)明GNU/Linux APl的用法。全書(shū)共5部分34章,主題涉及GNU工具,應(yīng)用程序開(kāi)發(fā),shell與腳本編程,調(diào)試和提高安全性,虛擬化技術(shù)。凡此種種,吸引著近萬(wàn)名程序員選擇本書(shū)宋學(xué)習(xí)GNU/Linux編程技術(shù)?! ”緯?shū)淺顯易懂,從全局介紹Linux編程基礎(chǔ),重點(diǎn)強(qiáng)調(diào)Linux編程利器的使用,對(duì)Linux程序員具有重要的參考和指導(dǎo)作用。
作者簡(jiǎn)介
M.Tim Jones是一名嵌入式軟件架構(gòu)師,也是多部暢銷(xiāo)書(shū)的作者,代表作有AI Application Programming,BSD Sockets Proqramming from a Multilanguage Perspective,Artificial Intelligence:A Systems Approach,還發(fā)表過(guò)大量技術(shù)文章。他的工程背景很豐富,曾經(jīng)為太空船開(kāi)發(fā)過(guò)內(nèi)核,也開(kāi)發(fā)過(guò)嵌入式系統(tǒng)架構(gòu)和聯(lián)網(wǎng)協(xié)議。Tim目前在科羅拉多Longmont的Emulex公司擔(dān)任顧問(wèn)工程師。
書(shū)籍目錄
第Ⅰ部分 導(dǎo)論 第1章 GNU/Linux的歷史 第2章 GNU/Linux系統(tǒng)架構(gòu) 第3章 自由軟件開(kāi)發(fā) 第4章 Linux虛擬化與仿真 第Ⅱ部分 GNU工具 第5章 GNU編譯工具鏈 第6章 應(yīng)用GNU make構(gòu)建軟件 第7章 庫(kù)的構(gòu)建與使用 第8章 用automake/affcoconf打包 第9章 GNU/Linux的源碼控制 第10章 應(yīng)用Gnuplot進(jìn)行數(shù)據(jù)可視化 第Ⅲ部分 應(yīng)用程序開(kāi)發(fā)主題 第11章 GNU/Linux的文件操作 第12章 管道編程 第13章 套接字編程簡(jiǎn)介 第14章 GNU/Linux進(jìn)程模型 第15章 POSIX線程(P線程)編程 第16章 消息隊(duì)列IPC 第17章 旗語(yǔ)同步 第18章 共享內(nèi)存編程 第19章 高級(jí)文件操作 第20章 其他應(yīng)用程序開(kāi)發(fā)主題 第Ⅳ部分 GNU/Linux的shell與腳本 第21章 GNU/Linux標(biāo)準(zhǔn)命令 第22章 Bourne-Again shell(Bash) 第23章 使用sed進(jìn)行編輯 第24章 使用awk進(jìn)行文本處理 第25章 使用flex和bison 第26章 Ruby腳本編程 第27章 Python腳本編程 第28章 GNU/Linux管理基石出 第Ⅴ部分 調(diào)試與測(cè)試 第29章 軟件單元測(cè)試框架 第30章 用GDB進(jìn)行調(diào)試 第31章 代碼硬化 第32章 用GNU gcoy進(jìn)行覆蓋測(cè)試 第33章 用GNU gprof進(jìn)行 第34章 高級(jí)調(diào)試主題 附錄 縮寫(xiě)與部分 縮寫(xiě)詞
章節(jié)摘錄
插圖:完全虛擬化完全虛擬化方法為客戶(hù)操作系統(tǒng)創(chuàng)建一個(gè)虛擬機(jī)實(shí)例,使客戶(hù)操作系統(tǒng)可以不加修改地運(yùn)行。虛擬機(jī)模擬底層硬件的某些部分,捕捉需要由管理程序(虛擬機(jī)監(jiān)視器)進(jìn)行仲裁的調(diào)用。這種虛擬化模式如圖4.1所示。完全虛擬化要求所有的操作系統(tǒng)都是針對(duì)同一處理器架構(gòu)開(kāi)發(fā)的,這是一個(gè)很普通的要求,實(shí)驗(yàn)性的或開(kāi)發(fā)中的系統(tǒng)可能不能滿足這一點(diǎn)。運(yùn)行中各個(gè)操作系統(tǒng)都不加改動(dòng)并且不知道它是在一個(gè)虛擬平臺(tái)上執(zhí)行。此外,完全虛擬化可以在支持虛擬化的硬件上運(yùn)行。虛擬化當(dāng)中最大的問(wèn)題是如何處理特殊的特權(quán)模式指令。這些指令必須被正確捕捉并且由管理程序處理。所以在一個(gè)未加修改的操作系統(tǒng)中(沒(méi)有虛擬化硬件),必須找出這些調(diào)用并轉(zhuǎn)換為管理程序調(diào)用。這個(gè)過(guò)程稱(chēng)為代碼掃描,其結(jié)果是向原始代碼中找到的特權(quán)捕獲指令處插入管理程序調(diào)用代碼。準(zhǔn)虛擬化最近的公告修改了“準(zhǔn)虛擬化”的定義。早期的準(zhǔn)虛擬化方法要求對(duì)修改客戶(hù)操作系統(tǒng),使得操作系統(tǒng)知道它實(shí)際上已經(jīng)被虛擬化了。這意味著更高的性能(因?yàn)椴槐剡M(jìn)行代碼掃描),但也限制了能被虛擬化的操作系統(tǒng)(見(jiàn)圖4.5)。但是現(xiàn)在,準(zhǔn)虛擬化的定義已經(jīng)變化了。擁有了支持虛擬化的硬件,操作系統(tǒng)的修改不再必要。這意味著所有的操作系統(tǒng)都可以被虛擬化,因?yàn)樘摂M化對(duì)各個(gè)客戶(hù)操作系統(tǒng)都是透明的(見(jiàn)圖4.6)。
編輯推薦
《GNU/LINUX環(huán)境編程(第2版)》:淺顯易懂,容易理解的Linux編程基礎(chǔ)聚焦Linux編程利器——GNU工具和庫(kù)全面覆蓋各種有用的API配套資源包含《GNU/LINUX環(huán)境編程(第2版)》代碼和所有API
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版