LINUX系統(tǒng)編程

出版時間:2009-7  出版社:東南大學(xué)出版社  作者:Robert Love  頁數(shù):382  譯者:O'Reilly Taiwan公司  
Tag標(biāo)簽:無  

前言

內(nèi)核開發(fā)者之所以會這么說,目的是于任何用戶空間程序代碼執(zhí)行失敗的時候撇清所有責(zé)任。當(dāng)所發(fā)生的問題絕對不是內(nèi)核的過錯時,他們所關(guān)心的是用戶空間開發(fā)者應(yīng)該去修正他們自己的程序代碼。為了證明這通常不是內(nèi)核的過錯,3年多前,一位具領(lǐng)導(dǎo)地位的Linux內(nèi)核開發(fā)者曾在擠滿人的會議室里,以“why user Space Sucks”(為何用戶空間程序很糟糕)為題發(fā)表演講,他舉出實例說明我們每個人每天使用了哪些可怕的用戶空間程序代碼。其他內(nèi)核開發(fā)者則以自己創(chuàng)建的工具來展示差勁的用戶空間程序如何濫用硬件,并耗盡無預(yù)警的筆記本電腦電池的電量。盡管用戶空間程序?qū)Τ靶λ膬?nèi)核開發(fā)者而言可能只是一個“試驗負(fù)載”,不過這些內(nèi)核開發(fā)者也是每天都得依靠這些用戶空間程序。如果沒有用戶空間程序可用,所有的內(nèi)核充其量就只能在屏幕上交替輸出ABABAB樣式的信息。而今,Linux已經(jīng)成為有史以來最靈活、最強大的操作系統(tǒng),隨處都可以看到它的蹤跡,不僅最小型的手機(jī)和嵌入式裝置運行它,全世界前500臺速度最快的超級計算機(jī)中也有70%以上的在運行它。其他操作系統(tǒng)從未曾有過這么好的規(guī)模,也不會遭受各種硬件和環(huán)境的挑戰(zhàn)。如同內(nèi)核一樣,在Linux的用戶空間上運行的程序也得運作在各種平臺上,以人們所依賴的應(yīng)用程序和公用程序提供給全世界使用。

內(nèi)容概要

  在某些時刻,幾乎所有的程序員都要與其程序所處操作系統(tǒng)中的系統(tǒng)調(diào)用和程序庫打交道。《LINUX系統(tǒng)編程》主要討論如何編寫Linux系統(tǒng)軟件——代碼位于底層,并且直接跟內(nèi)核及核心系統(tǒng)程序庫對話?!禠inux系統(tǒng)編程》描述了使用標(biāo)準(zhǔn)接口包括使用Linux獨有的高級接口時,在功能和性能之間如何進(jìn)行權(quán)衡取舍的策略?! ≡摃瑯右彩且槐緝?nèi)行人士編寫靈活高效代碼的學(xué)習(xí)指南。作為內(nèi)核黑客和《LINUX系統(tǒng)編程》的作者,Robert Love不僅闡釋了系統(tǒng)接口應(yīng)該如何工作,還介紹了它們實際上是如何工作的,以及怎樣安全有效地使用它們?!禠inux系統(tǒng)編程》包含了幫助你在任何層面編寫更佳代碼的實用技巧?!  禠INUX系統(tǒng)編程》主題包括:  讀寫文件以及其他文件I/O操作,包括Linux內(nèi)核如何實現(xiàn)和管理文件I/O,內(nèi)存映射與優(yōu)化  技術(shù)進(jìn)程管理的系統(tǒng)調(diào)用,包括實時進(jìn)程  文件與目錄——創(chuàng)建、移動、復(fù)制、刪除和管理  內(nèi)存管理——內(nèi)存分配接口,管理內(nèi)存,以及優(yōu)化內(nèi)存訪問  信號及其在Unix系統(tǒng)中的角色,以及基本和高級信號接口  時間、休眠和時鐘管理,從基礎(chǔ)開始講述,并且涵蓋POSIX時鐘和高精度計時器擁有《Linux系統(tǒng)編程》,你將從理論和應(yīng)用的角度深入了解Linux,可以最大限度地利用系統(tǒng)的潛能。

作者簡介

作者:(美國)Robert Love 譯者:O'Reilly Taiwan公司

書籍目錄

序前言第一章 介紹與基本概念系統(tǒng)編程API與ABI標(biāo)準(zhǔn)Linux編程的概念向系統(tǒng)編程邁進(jìn)第二章 文件I/O打開文件以read()進(jìn)行讀取操作以write()進(jìn)行寫入操作同步化I/O關(guān)閉文件使用lseek()查找文件位置針對特定位置的讀取與寫入截短文件多任務(wù)式I/O內(nèi)核內(nèi)部結(jié)束語第三章 緩沖式I/O用戶緩沖式I/O標(biāo)準(zhǔn)I/O打開文件經(jīng)文件描述符打開流關(guān)閉流從流中讀取使用緩沖式I/O的簡單程序查找一個流刷新一個流錯誤與EOF取得相應(yīng)的文件描述符控制與緩沖機(jī)制線程安全標(biāo)準(zhǔn)I/O的缺陷結(jié)束語第四章 高級文件I/O分散一聚集I/O事件輪詢接口將文件映射至內(nèi)存對一般文件I/0的用法提供建議同步化、同步及異步操作I/O調(diào)度程序與I/O性能結(jié)束語第五章 進(jìn)程管理進(jìn)程ID運行一個新進(jìn)程終止一個進(jìn)程等待已終止的子進(jìn)程用戶與組會話與進(jìn)程組守護(hù)進(jìn)程結(jié)束語第六章 高級進(jìn)程管理進(jìn)程的調(diào)度讓出處理器進(jìn)程優(yōu)先級實時系統(tǒng)資源限制第七章 文件和目錄管理文件與其元數(shù)據(jù)目錄鏈接文件的復(fù)制以及移動設(shè)備節(jié)點帶外通信第八章 內(nèi)存管理進(jìn)程地址空間分配動態(tài)內(nèi)存管理數(shù)據(jù)段匿名內(nèi)存映射高級內(nèi)存分配調(diào)試內(nèi)存分配基于堆棧的分配選擇內(nèi)存分配機(jī)制操作內(nèi)存鎖定內(nèi)存投機(jī)取巧的分配策略第九章 信號信號的概念基本的信號管理發(fā)送一個信號可重人性信號集阻擋信號高級信號管理以payload送出信號結(jié)束語第十章 時間時間的數(shù)據(jù)結(jié)構(gòu)POSIX時鐘取得當(dāng)前時間設(shè)定當(dāng)前時間操作時間調(diào)整系統(tǒng)時鐘休眠與等待定時器附錄GCC對C語言的擴(kuò)展參考書目

章節(jié)摘錄

插圖:Linux編程的概念本節(jié)將對Linux系統(tǒng)所提供的服務(wù)做一個簡明的概述。所有的unix系統(tǒng),包括Linux,會提供一組共同的抽象概念以及接口。的確,這種通用性定義了unix。文件和進(jìn)程、用于管理pipe和socket的接口等抽象概念就是unix的基礎(chǔ)組件。本節(jié)假設(shè)你已經(jīng)熟悉LlnUX的操作環(huán)境:你可以在shell中游走、使用基本的命令以及編譯簡單的c程序。本節(jié)的內(nèi)容并非Linux或其編程環(huán)境的概述,而是Linux系統(tǒng)編程的基本知識。文件以及文件系統(tǒng)文件是Linux中最基本且最重要的抽象概念。Linux遵循了“一切皆文件”的哲學(xué)(盡管做得不如其他系統(tǒng),例如Plan9(注2)。因此,許多操作是通過對文件的讀寫進(jìn)行的,即使所操作的對象并非你平日所使用的文件。文件必須先被打開才可以被訪問。文件可以被打開以備讀取、寫入或是讀寫。你可以通過一個獨一無二的描述符(descriptor)來引用一個已打開的文件,此描述符讓我們可以從與已打開文件相關(guān)的元數(shù)據(jù)映射回相應(yīng)文件。在Linux內(nèi)核內(nèi)部,此描述符的操作是通過一個稱為文件描述符的整數(shù)(這是c的int數(shù)據(jù)類型)來進(jìn)行。由用戶空間程序所共享,而用戶空間程序可以直接使用來訪問文件。Linux系統(tǒng)編程多半就是以來進(jìn)行文件的打開、操縱、關(guān)閉以及其他工作。常規(guī)文件一般人所謂的文件就是Linux所稱的常規(guī)文件。常規(guī)文件內(nèi)含數(shù)據(jù)的字節(jié),而且被組織成一個稱為字節(jié)流(bytestream)的線性數(shù)組(Lineararray)。在Linux中,不會再為文件指定任何格式。這些字節(jié)可以具有任何值,而且可以通過任何方式被組織在一起。從系統(tǒng)層來看,除了字節(jié)流之外,Linux不會再對文件套上任何結(jié)構(gòu)。有些操作系統(tǒng),例如VMs,會提供高度結(jié)構(gòu)化的文件來支持像記錄(record)這樣的概念。Linux則不會這么做。

編輯推薦

《LINUX系統(tǒng)編程》是由東南大學(xué)出版社出版的。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    LINUX系統(tǒng)編程 PDF格式下載


用戶評論 (總計11條)

 
 

  •   書的確是好書
  •   我是讀了哈工大計算機(jī)學(xué)院IBM俱樂部的翻譯版本-網(wǎng)上有電子版,才買的這本書,看了第一章,就覺的翻譯的沒有哈工大的那個好,有點失望。
  •   例如glibc的用戶態(tài)內(nèi)存管理或者系統(tǒng)調(diào)用這些話題個人感覺講解的不過深入...
  •   簡短且全面,對于系統(tǒng)編程很有用,入門必備
  •   很喜歡這本書, 雖然感覺沒法跟UUNP相比??傊矚g就對了。有點不滿意,有幾十頁嚴(yán)重擠壓,反正收了。
  •   這序列的書還是很經(jīng)典的,可以做工具書配著
  •   書的外皮挺好,里面紙張質(zhì)量比較差,挺薄.印刷的字跡墨少,顏色潛.給我的感覺像盜版.
  •   東南大學(xué)出版社NB
  •   相當(dāng)不錯。很好的書。內(nèi)容比較新。
  •   具體不要問我
  •   包裝得不錯,還沒打開來看
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7