[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • Linux內核設計與實現 (原書第3版) linux書籍 linux繫統 linux設
    該商品所屬分類:圖書 -> 科技
    【市場價】
    518-752
    【優惠價】
    324-470
    【作者】 拉芙 
    【出版社】機械工業出版社 
    【ISBN】9787111338291
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:機械工業出版社
    ISBN:9787111338291
    商品編碼:1026905790

    品牌:文軒
    出版時間:2011-06-01
    代碼:69

    作者:拉芙

        
        
    "
    作  者:拉芙(RobertLove) 著 陳莉君 等 譯
    /
    定  價:69
    /
    出 版 社:機械工業出版社
    /
    出版日期:2011年06月01日
    /
    頁  數:352
    /
    裝  幀:平裝
    /
    ISBN:9787111338291
    /
    目錄
    ●譯者序
    序言
    前言
    作者簡介
    第1章  Linux內核簡介1
    1.1  Unix的歷史1
    1.2  追尋Linus足跡:Linux簡介2
    1.3  操作繫統和內核簡介3
    1.4  Linux內核和傳統Unix內核的比較5
    1.5  Linux內核版本7
    1.6  Linux內核開發者社區8
    1.7  小結8

    第2章  從內核出發10
    2.1  獲取內核源碼10
    2.1.1  使用Git10
    2.1.1  安裝內核源代碼10
    2.1.3  使用補丁11
    2.2  內核源碼樹11
    2.3  編譯內核12
    2.3.1  配置內核12
    2.3.2  減少編譯的垃圾信息14
    2.3.3  衍生多個編譯作業 14
    2.3.4  安裝新內核14
    2.4  內核開發的特點15
    2.4.1  無libc庫抑或無標準頭文件15
    2.4.2  GNU C16
    2.4.3  沒有內存保護機制18
    2.4.4  不要輕易在內核中使用浮點數18
    2.4.5  容積小而固定的棧18
    2.4.6  同步和並發18
    2.4.7  可移植性的重要性19
    2.5  小結19

    第3章  進程管理20
    3.1  進程20
    3.2  進程描述符及任務結構 21
    3.2.1  分配進程描述符22
    3.2.2  進程描述符的存放23
    3.2.3  進程狀態23
    3.2.4  設置當前進程狀態25
    3.2.5  進程上下文25
    3.2.6  進程家族樹25
    3.3  進程創建26
    3.3.1  寫時拷貝27
    3.3.2  fork()27
    3.3.3  vfork()28
    3.4  線程在Linux中的實現28
    3.4.1  創建線程29
    3.4.2  內核線程30
    3.5  進程終結31
    3.5.1  刪除進程描述符32
    3.5.2  孤兒進程造成的進退維谷32
    3.6  小結34

    第4章  進程調度35
    4.1  多任務35
    4.2  Linux 的進程調度36
    4.3  策略36
    4.3.1  I/O消耗型和處理器消耗型的進程36
    4.3.2  進程優先級37
    4.3.3  時間片38
    4.3.4  調度策略的活動38
    4.4  Linux調度算法39
    4.4.1  調度器類39
    4.4.2  Unix 繫統中的進程調度40
    4.4.3  公平調度41
    4.5  Linux調度的實現42
    4.5.1  時間記賬42
    4.5.2  進程選擇44
    4.5.3  調度器入口48
    4.5.4  睡眠和喚醒49
    4.6  搶占和上下文切換51
    4.6.1  用戶搶占53
    4.6.2  內核搶占53
    4.7  實時調度策略54
    4.8  與調度相關的繫統調用54
    4.8.1  與調度策略和優先級相關的繫統調用55
    4.8.2  與處理器綁定有關的繫統調用55
    4.8.3  放棄處理器時間56
    4.9  小結56

    第5章  繫統調用57
    5.1  與內核通信57
    5.2  API、 IX和C庫57
    5.3  繫統調用58
    5.3.1  繫統調用號59
    5.3.2  繫統調用的性能59
    5.4  繫統調用處理程序60
    5.4.1  指定恰當的繫統調用60
    5.4.2  參數傳遞60
    5.5  繫統調用的實現61
    5.5.1  實現繫統調用61
    5.5.2  參數驗證62
    5.6  繫統調用上下文64
    5.6.1  綁定一個繫統調用的最後步驟65
    5.6.2  從用戶空間訪問繫統調用67
    5.6.3  為什麼不通過繫統調用的方式實現68
    5.7  小結68

    第6章  內核數據結構69
    6.1  鏈表69
    6.1.1  單向鏈表和雙向鏈表69
    6.1.2  環形鏈表70
    6.1.3  沿鏈表移動71
    6.1.4  Linux 內核中的實現71
    6.1.5  操作鏈表73
    6.1.6  遍歷鏈表75
    6.2  隊列78
    6.2.1  kfifo79
    6.2.2  創建隊列79
    6.2.3  推入隊列數據79
    6.2.4  摘取隊列數據80
    6.2.5  獲取隊列長度80
    6.2.6  重置和撤銷隊列80
    6.2.7  隊列使用舉例 81
    6.3  映射 81
    6.3.1  初始化一個idr82
    6.3.2  分配一個新的UID82
    6.3.3  查找UID83
    6.3.4  刪除UID84
    6.3.5  撤銷idr84
    6.4  二叉樹84
    6.4.1  二叉搜索樹84
    6.4.2  自平衡二叉搜索樹 85
    6.5  數據結構以及選擇 87
    6.6  算法復雜度88
    6.6.1  算法88
    6.6.2  大o 符號88
    6.6.3  大θ符號89
    6.6.4  時間復雜度89
    6.7  小結 90

    第7章  中斷和中斷處理91
    7.1  中斷91
    7.2  中斷處理程序92
    7.3  上半部與下半部的對比93
    7.4  注冊中斷處理程序93
    7.4.1  中斷處理程序標志94
    7.4.2  一個中斷例子95
    7.4.3  釋放中斷處理程序95
    7.5  編寫中斷處理程序96
    7.5.1  共享的中斷處理程序97
    7.5.2  中斷處理程序實例97
    7.6  中斷上下文99
    7.7  中斷處理機制的實現100
    7.8  /proc/interrupts102
    7.9  中斷控制103
    7.9.1  禁止和激活中斷103
    7.9.2  禁止指定中斷線105
    7.9.3  中斷繫統的狀態105
    7.10  小結106

    第8章  下半部和推後執行的工作107
    8.1  下半部107
    8.1.1  為什麼要用下半部108
    8.1.2  下半部的環境108
    8.2  軟中斷110
    8.2.1  軟中斷的實現111
    8.2.2  使用軟中斷113
    8.3  tasklet114
    8.3.1  tasklet的實現114
    8.3.2  使用tasklet116
    8.3.3  老的BH機制119
    8.4  工作隊列120
    8.4.1  工作隊列的實現121
    8.4.2  使用工作隊列124
    8.4.3  老的任務隊列機制126
    8.5  下半部機制的選擇127
    8.6  在下半部之間加鎖128
    8.7  禁止下半部128
    8.8  小結129

    第9章  內核同步介紹131
    9.1  臨界區和競爭條件131
    9.1.1  為什麼我們需要保護132
    9.1.2  單個變量133
    9.2  加鎖134
    9.2.1  造成並發執行的原因135
    9.2.2  了解要保護些什麼136
    9.3  死鎖137
    9.4  爭用和擴展性138
    9.5  小結140

    第10章  內核同步方法141
    10.1  原子操作141
    10.1.1  原子整數操作142
    10.1.2  64位原子操作144
    10.1.3  原子位操作145
    10.2  自旋鎖147
    10.2.1  自旋鎖方法148
    10.2.2  其他針對自旋鎖的操作149
    10.2.3  自旋鎖和下半部150
    10.3  讀-寫自旋鎖150
    10.4  信號量152
    10.4.1  計數信號量和二值信號量153
    10.4.2  創建和初始化信號量154
    10.4.3  使用信號量154
    10.5  讀-寫信號量155
    10.6  互斥體156
    10.6.1  信號量和互斥體158
    10.6.2  自旋鎖和互斥體158
    10.7  完成變量158
    10.8  BLK:大內核鎖159
    10.9  順序鎖160
    10.10  禁止搶占161
    10.11  順序和屏障162
    10.12  小結165

    第11章  定時器和時間管理166
    11.1  內核中的時間概念166
    11.2  節拍率:HZ167
    11.2.1  理想的HZ值168
    11.2.2  高HZ的優勢169
    11.2.3  高HZ的劣勢169
    11.3  jiffies170
    11.3.1  jiffies的內部表示171
    11.3.2  jiffies 的回繞172
    11.3.3  用戶空間和HZ173
    11.4  硬時鐘和定時器174
    11.4.1  實時時鐘174
    11.4.2  繫統定時器174
    11.5  時鐘中斷處理程序174
    11.6  實際時間176
    11.7  定時器178
    11.7.1  使用定時器178
    11.7.2  定時器競爭條件180
    11.7.3  實現定時器180
    11.8  延遲執行181
    11.8.1  忙等待181
    11.8.2  短延遲182
    11.8.3  schedule_timeout()183
    11.9  小結185

    第12章  內存管理186
    12.1  頁186
    12.2  區187
    12.3  獲得頁189
    12.3.1  獲得填充為0的頁190
    12.3.2  釋放頁191
    12.4  kmalloc()191
    12.4.1  gfp_mask標志192
    12.4.2  kfree()195
    12.5  vmalloc()196
    12.6  slab層197
    12.6.1  slab層的設計198
    12.6.2  slab分配器的接口200
    12.7  在棧上的靜態分配203
    12.7.1  單頁內核棧203
    12.7.2  在棧上光明正大地工作203
    12.8  高端內存的映射204
    12.8.1  較為映射204
    12.8.2  臨時映射204
    12.9  每個CPU的分配20512.10  新的每個CPU接口206
    12.10.1  編譯時的每個CPU數據206
    12.10.2  運行時的每個CPU數據207
    12.11  使用每個CPU數據的原因208
    12.12  分配函數的選擇209
    12.13  小結209

    第13章  虛擬文件繫統210
    13.1  通用文件繫統接口210
    13.2  文件繫統抽像層211
    13.3  Unix文件繫統212
    13.4  VFS 對像及其數據結構213
    13.5  超級塊對像214
    13.6  超級塊操作215
    13.7  索引節點對像217
    13.8  索引節點操作219
    13.9  目錄項對像222
    13.9.1  目錄項狀態222
    13.9.2  目錄項緩存223
    13.10  目錄項操作224
    13.11  文件對像225
    13.12  文件操作226
    13.13  和文件繫統相關的數據結構230
    13.14  和進程相關的數據結構232
    13.15  小結233

    第14章  塊I/O層234
    14.1  剖析一個塊設備234
    14.2  緩衝區和緩衝區頭235
    14.3  bio結構體237
    14.3.1  I/O向量238
    14.3.2  新老方法對比239
    14.4  請求隊列240
    14.5  I/O調度程序240
    14.5.1  I/O調度程序的工作241
    14.5.2  Linus 電梯241
    14.5.3  最終期限I/O調度程序242
    14.5.4  預測I/O調度程序244
    14.5.5  接近公正的排隊I/O調度程序244
    14.5.6  空操作的I/O調度程序245
    14.5.7  I/O調度程序的選擇245
    14.6  小結246

    第15章  進程地址空間247
    15.1  地址空間247
    15.2  內存描述符248
    15.2.1  分配內存描述符249
    15.2.2  撤銷內存描述符250
    15.2.3  mm_struct 與內核線程250
    15.3  虛擬內存區域251
    15.3.1  VMA標志251
    15.3.2  VMA 操作253
    15.3.3  內存區域的樹型結構和內存區域的鏈表結構254
    15.3.4  實際使用中的內存區域254
    15.4  操作內存區域255
    15.4.1  find_vma()256
    15.4.2  find_vma_prev()257
    15.4.3  find_vma_intersection()257
    15.5  mmap()和do_mmap():創建地址區間258
    15.6  mummap()和do_mummap():刪除地址區間259
    15.7  頁表260
    15.8  小結261

    第16章  頁高速緩存和頁回寫262
    16.1  緩存手段262
    16.1.1  寫緩存262
    16.1.2  緩存回收263
    16.2  Linux 頁高速緩存264
    16.2.1  address_space對像264
    16.2.2  address_space 操作266
    16.2.3  基樹267
    16.2.4  以前的頁散列表268
    16.3  緩衝區高速緩存268
    16.4  flusher線程268
    16.4.1  膝上型計算機模式270
    16.4.2  歷史上的bdflush、kupdated 和pdflush270
    16.4.3  避免擁塞的方法:使用多線程271
    16.5  小結271

    第17章  設備與模塊273
    17.1  設備類型273
    17.2  模塊274
    17.2.1  Hello,World274
    17.2.2  構建模塊275
    17.2.3  安裝模塊277
    17.2.4  產生模塊依賴性277
    17.2.5  載入模塊278
    17.2.6  管理配置選項279
    17.2.7  模塊參數280
    17.2.8  導出符號表282
    17.3  設備模型283
    17.3.1  kobject283
    17.3.2  ktype284
    17.3.3  kset285
    17.3.4  kobject、ktype和kset的相互關繫285
    17.3.5  管理和操作kobject286
    17.3.6  引用計數287
    17.4  sysfs288
    17.4.1  sysfs中添加和刪除kobject 290
    17.4.2  向sysfs中添加文件291
    17.4.3  內核事件層293
    17.5  小結294

    第18章  調試295
    18.1  準備開始295
    18.2  內核中的bug296
    18.3  通過打印來調試296
    18.3.1  健壯性296
    18.3.2  日志等級297
    18.3.3  記錄緩衝區298
    18.3.4  syslogd和klogd298
    18.3.5  從printf()到printk()的轉換298
    18.4  oops298
    18.4.1  ksymoops300
    18.4.2  kallsyms300
    18.5  內核調試配置選項301
    18.6  引發bug並打印信息301
    18.7  神奇的繫統請求鍵302
    18.8  內核調試器的傳奇303
    18.8.1  gdb303
    18.8.2  kgdb304
    18.9  探測繫統304
    18.9.1  用UID作為選擇條件304
    18.9.2  使用條件變量305
    18.9.3  使用統計量305
    18.9.4  重復頻率305
    18.10  用二分查找法找出引發罪惡的變更306
    18.11  使用Git進行二分搜索307
    18.12  當所有的努力都失敗時:社區308
    18.13  小結308

    第19章  可移植性309
    19.1  可移植操作繫統309
    19.2  Linux移植史310
    19.3  字長和數據類型311
    19.3.1  不透明類型313
    19.3.2  指定數據類型314
    19.3.3  長度明確的類型314
    19.3.4  char型的符號問題315
    19.4  數據對齊315
    19.4.1  避免對齊引發的問題316
    19.4.2  非標準類型的對齊316
    19.4.3  結構體填補316
    19.5  字節順序318
    19.6  時間319
    19.7  頁長度320
    19.8  處理器排序320
    19.9  SMP、內核搶占、高端內存321
    19.10  小結321

    第20章  補丁、開發和社區322
    20.1  社區322
    20.2  Linux編碼風格322
    20.2.1  縮進323
    20.2.2  switch 語句323
    20.2.3  空格324
    20.2.4  花括號325
    20.2.5  每行代碼的長度326
    20.2.6  命名規範326
    20.2.7  函數326
    20.2.8  注釋326
    20.2.9  typedef327
    20.2.10  多用現成的東西328
    20.2.11  在源碼中減少使用ifdef328
    20.2.12  結構初始化328
    20.2.13  代碼的事後修正329
    20.3  管理繫統329
    20.4  提交錯誤報告329
    20.5  補丁330
    20.5.1  創建補丁330
    20.5.2  用Git創建補丁331
    20.5.3  提交補丁331
    20.6  小結332
    參考資料333
    內容簡介
    本書基於Linux 2.6.34內核詳細介紹了Linux內核繫統,覆蓋了從核心內核繫統的應用到內核設計與實現等各方面的內容。本書主要內容包括:進程管理、進程調度、時間管理和定時器、繫統調用接口、內存尋址、內存管理和頁緩存、VFS、內核同步以及調試技術等。同時本書也涵蓋了Linux 2.6內核中頗具特色的內容,包括CFS調度程序、搶占式內核、塊I/O層以及I/O調度程序等。本書采用理論與實踐相結合的路線,能夠帶領讀者快速走進Linux內核世界,真正開發內核代碼。
    作者簡介
    拉芙(RobertLove) 著 陳莉君 等 譯
    (美)拉芙(Robert Love)
    拉芙(Robert Love)是一位資深的開源社區達人,很早就開始使用Linux。目前他是Google公司不錯軟件工程師,是開發Android移動平臺內核的團隊成員;他曾在Novell公司任職Linux桌面繫統的首席架構師;他之前也曾是MontaVista和 main公司的內核開發工程師。他參與的內核項目包括搶占式內核、進程調度器、內核事件層、通知機制、VM改進,以及設備驅動程序。他是《Linux journal》雜志的編輯。另外他還著有《Linux System Programming》和《Linux in a Nutshell》。
    精彩內容
        可以真正開始開發內核代碼。無論開發內核是為了興趣還是為了賺錢,我都希望能夠帶領讀者快速走進Linux內核世界。本書不但介紹了理論而且也討論了具體應用,可以滿足不同讀者的需要。全書緊緊圍繞著理論聯繫實踐,並非一味強調理論或是實踐。無論你研究Linux內核的動機是什麼,我都希望這本書都能將內核的設計和實現分析清楚,起到拋磚引玉的作用。
        因此,本書覆蓋了從核心內核繫統的應用到內核設計與實現等各方面的內容。我認為這點很重要,值得花工夫討論。例如,第8章討論的是所謂的下半部機制。本章分別討論了內核下半部機制的設計和實現(核心內核開發者或者學者會感興趣),隨即便介紹了如何使用內核提供的接口實現你自己的下半部(這對設備驅動開發者可能很有用處)。其實,我認為上述兩部分內容是相得益彰的,雖然核心內核開發等



    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    【同作者商品】
    拉芙
      本網站暫時沒有該作者的其它商品。
    有該作者的商品通知您嗎?
    請選擇作者:
    拉芙
    您的Email地址
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部