幫助中心 | 我的帳號 | 關於我們

深入Linux內核架構與底層原理(第2版)

  • 作者:劉京洋|責編:黃愛萍
  • 出版社:電子工業
  • ISBN:9787121436895
  • 出版日期:2022/07/01
  • 裝幀:平裝
  • 頁數:553
人民幣:RMB 139 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書主要描述Linux系統的總體框架和設計思想,包含很多可以直接操作的實例。編寫本書的目的是希望讀者對Linux系統背後的邏輯有一個全面的了解。本書對比較核心且常用的技術點有更加深入的解釋,對實際使用Linux系統工作大有裨益,同時,選擇重點的方向進行源碼級深度分析,包含大量的案例,而且增加了與Windows同類操作系統的對比,涉及Fuchsia OS和Android系統的一些實現,對操作系統的描述更清晰。
    本書適合Linux系統開發人員、嵌入式系統開發人員閱讀,也可供電腦相關專業的師生閱讀。

作者介紹
劉京洋|責編:黃愛萍
    劉京洋,中山大學雙學士、碩士,創建中山大學嵌入式組,在嵌入式實驗室工作6年。工作早期擔任創業公司總經理,投資公司總裁助理,後來專心技術,先後就職于TP-LINK、YY直播和網易遊戲,從事內核和網路安全研發,對Linux系統底層有深入的理解。很高興與大家溝通探討相關學術問題。

目錄
第1章  操作系統總覽
  1.1  操作系統簡介
  1.2  如何形成一個內核
  1.3  主要操作系統與Linux的對比
    1.3.1  Linux和Android
    1.3.2  Windows下Linux運行環境的發展
    1.3.3  Fuchsia OS與Windows、Linux的對比
第2章  系統結構
  2.1  Linux內核整體結構
    2.1.1  內核模塊
    2.1.2  內核符號表
  2.2  Linux內核數據結構
    2.2.1  鏈表與哈希表
    2.2.2  雙向鏈表
  2.3  hlist
    2.3.1  llist
    2.3.2  樹與IDR
    2.3.3  xarray
第3章  鎖與系統調用
  3.1  原子操作
    3.1.1  內存一致性
    3.1.2  原子類型定義
    3.1.3  cmpxchg實現
  3.2  引用計數
  3.3  自旋鎖
自旋鎖的性能
  3.4  讀寫鎖與順序鎖
  3.5  信號量
  3.6  讀寫信號量
    3.6.1  獲得讀鎖
    3.6.2  鎖狀態與鎖交接
    3.6.3  鎖持有
    3.6.4  等待鏈表
    3.6.5  讀鎖慢速路徑
  3.7  互斥鎖
  3.8  RCU鎖
    3.8.1  RCU鎖基本介面
    3.8.2  grace period等待
    3.8.3  SRCU
    3.8.4  RCU鎖、讀寫鎖與順序鎖對比
    3.8.5  hlist中的RCU鎖
    3.8.6  reuseport中的RCU鎖
  3.9  引用計數
percpu-ref
第4章  信號、中斷與系統調用
  4.1  信號
    4.1.1  Linux信號處理機制的設計
    4.1.2  Windows的Event語義設計
  4.2  中斷
    4.2.1  IDT(中斷描述符表)

    4.2.2  IPI中斷
  4.3  系統調用
    4.3.1  系統調用原理
    4.3.2  vsyscall與VDSO
    4.3.3  系統調用截斷
第5章  Linux系統的啟動與進程
  5.1  Linux啟動過程的組件
    5.1.1  啟動過程相關組件
    5.1.2  最小系統的製作和啟動
  5.2  內核啟動流程:EFI stub
  5.3  進程
    5.3.1  進程概述
    5.3.2  進程內存和PID
    5.3.3  進程生命周期
第6章  調度
  6.1  任務調度
    6.1.1  調度優先順序
    6.1.2  上下文切換
    6.1.3  運行隊列與調度類
    6.1.4  調度域、調度組與調度實體
    6.1.5  TTWU(喚醒)
  6.2  時鐘
    6.2.1  時鐘概念
    6.2.2  計時器與定時器
  6.3  Futex系統調用
  6.4  C-State
第7章  內存管理
  7.1  地址空間
    7.1.1  64位Linux地址空間
    7.1.2  32位Linux地址空間
  7.2  定址
    7.2.1  64位下的定址
    7.2.2  Intel的硬體四級定址過程
    7.2.3  操作系統的頁狀態和許可權控制
    7.2.4  頁框回收演算法
    7.2.5  段寄存器
  7.3  堆內存管理
    7.3.1  用戶空間與內核空間的堆內存管理
    7.3.2  Buddy思想與Slab思想
    7.3.3  內存回收(PFRA)
    7.3.4  BDI
第8章  存儲
  8.1  VFS
    8.1.1  文件句柄與文件描述符表
    8.1.2  _alloc_fd、fd_install、dup2與close_on_exec
    8.1.3  open系統調用
    8.1.4  flock文件鎖與文件內容鎖
  8.2  通用塊層
    8.2.1  通用塊層功能概覽
    8.2.2  bio和bio_set

    8.2.3  request和request_queue
    8.2.4  電梯演算法
  8.3  緩存層
    8.3.1  Linux與Windows在緩存設計上的不同
    8.3.2  Linux下的緩存機制
  8.4  文件系統與Ext
    8.4.1  Linux文件系統的特性與框架
    8.4.2  文件系統的種類
    8.4.3  文件系統的抽象:VFS
    8.4.4  Ext4文件系統實踐
  8.5  預讀機制
    8.5.1  預讀機制框架
    8.5.2  預讀演算法
第9章  套接字(socket)
  9.1  socket概覽
    9.1.1  socket類型與介面
    9.1.2  Linux socket連接模型
    9.1.3  Linux socket的鎖
    9.1.4  epoll
  9.2  Netlink
    9.2.1  Netlink消息格式
    9.2.2  Netlink功能模塊
    9.2.3  genetlink的使用
    9.2.4  inet_diag模塊
    9.2.5  RTNETLINK
  9.3  BPF與eBPF
    9.3.1  BPF
    9.3.2  eBPF
第10章  網路
  10.1  網路架構
  10.2  IP
    10.2.1  路由條目的意義
    10.2.2  IP管理
    10.2.3  IP隧道
  10.3  TCP
    10.3.1  TCP的無損特性
    10.3.2  TCP的連接狀態
    10.3.3  TCP擁塞控制
  10.4  負載均衡
    10.4.1  負載均衡的核心技術點
    10.4.2  四層負載均衡常見架構
    10.4.3  一致性哈希和分散式哈希
  10.5  網路服務質量與安全性
    10.5.1  TCP安全性
    10.5.2  QoS
    10.5.3  NAT
  10.6  netfilter
第11章  設備管理
  11.1  設備模型
    11.1.1  sys文件系統

    11.1.2  設備變化通知用戶端
    11.1.3  設備類型
  11.2  tty子系統
    11.2.1  tty框架與ttyS硬體
    11.2.2  terminal硬體
    11.2.3  tty結構
    11.2.4  getty、login與shell
    11.2.5  /dev/ptmx與/dev/pts/n
    11.2.6  SSH
  11.3  PCI與USB
    11.3.1  PCI
    11.3.2  USB
第12章  二進位
  12.1  二進位原理
    12.1.1  編譯、鏈接與執行
    12.1.2  裸程序
    12.1.3  載入器
    12.1.4  鏈接過程
  12.2  ELF格式
    12.2.1  ABI
    12.2.2  ELF
  12.3  函數調用約定
  12.4  二進位安全

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032