Linux 用戶態 C 語言程式設計原理與實踐

肖威軒

  • 出版商: 機械工業
  • 出版日期: 2024-07-09
  • 定價: $894
  • 售價: 8.5$760
  • 語言: 簡體中文
  • 頁數: 396
  • 裝訂: 平裝
  • ISBN: 7111754859
  • ISBN-13: 9787111754855
  • 相關分類: C 程式語言Linux
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

Linux作業系統上的用戶態程式設計是透過系統呼叫提供的接口,
將原本需要在Linux核心中或是對Linux核心進行多次系統呼叫才能實現的功能,
放到核心之外來實現,從而確保核心的穩定性,獲得更強的可拓展性,並且可以將Linux核心的傳染性開源協定隔離。
全書共分9章,
第1、2章從使用者態與核心態的基本概念入手,簡單介紹C語言標準函式庫程式設計以及各種C語言標準函式庫。
第3章深入介紹系統呼叫的概念與電腦架構、特權級與硬體資源存取限制的關係,以及核心中系統呼叫的處理方式。
第4章涵蓋了系統呼叫與C語言標準函式庫的關係,介紹如何基於Linux系統呼叫實作C語言標準函式庫。
第5章深入介紹了Linux系統用戶態驅動API的使用與分析,包括Userspace I/O (UIO)介面的使用和VFIO等用戶態驅動介面的使用。
第6~9章涵蓋了高效能網路卡Linux用戶態驅動分析、用戶態檔案系統FUSE分析、
使用者狀態執行緒-協程和基於Android HAL硬體抽象層的使用者態驅動,介紹了作業系統中各個關鍵元件在使用者狀態中的實作方法。
本書主要適合中高階應用程式開發者、核心開發者、Linux雲端伺服器開發者閱讀,
有助於讀者深入了解Linux作業系統及其程式設計的內部機制與實作技巧。
本書提供了全面的指導和實用的知識,也可作為初學者的自學參考書。

目錄大綱

前言
第1章Linux作業系統概述/
1.1用戶態與核心態/
1.1.1硬體特權級、運作模式(x86)/
1.1.2Linux的用戶態與內核態/
1.2用戶態的優勢/
1.2.1用戶態的速度優勢/
1.2.2受限的高階功能(中斷、DMA)/
1.2.3更優的內核穩定性/
1.2.4高吞吐量網路設備/
1.2.5內核態的copyleft開源協定/
第2章C語言程式設計與標準函式庫程式設計/
2.1桌面Linux使用的glibc簡介/
2.2其他C語言標準函式庫/
2.2.1uClibc/
2.2.2musl libc/
2.2.3BSD libc/
2.2.4Android Bionic/
第3章系統呼叫與Linux系統呼叫的實作/
3.1什麼是系統呼叫/
3.1.1電腦架構、特權級與硬體資源存取限制/
3.1.2核心中的系統呼叫/
3.1.3系統調用open的實作/
3.2Linux系統呼叫的實作(內核態)/
3.2.1系統呼叫的通用處理/
3.2.2x86架構的系統呼叫實作/
第4章系統呼叫與C語言標準函式庫/
4.1如何基於Linux系統呼叫實作C語言標準函式庫/
4.1.1實現標準庫的原理與方法/
4.1.2glibc中的標準庫實例/
4.2基於Linux sysfs在使用者態下編寫程式控制硬體/
4.2.1什麼是Linux sysfs/
4.2.2使用C語言標準函式庫檔案讀寫函數控制鍵盤LED/
4.2.3使用標準庫中提供的系統呼叫或Shell腳本調節螢幕背光/
第5章Linux系統用戶態驅動API/
5.1用戶態驅動與核心態驅動/
5.1.1核心中的驅動與字元設備驅動/
5.1.2核心中的區塊設備驅動/
5.1.3核心中的網路設備驅動/
5.1.4用戶態驅動的原理/
5.1.5在用戶態實現驅動的優劣/
5.2用戶態驅動介面Userspace I/O(UIO)/
5.2.1硬體設備的記憶體映射/
5.2.2UIO的用戶態API/
5.2.3基於UIO實現的PCI設備用戶態驅動/
5.3用戶態驅動介面VFIO/
5.3.1VFIO與硬體無關IOMMU的重映射/
5.3.2使用VFIO實現PCI設備的用戶態驅動/
第6章Linux系統用戶態高效能網卡驅動分析/
6.1Intel網卡用戶態驅動的架構/
6.2Intel網卡用戶態驅動ixy的核心實作/
第7章Linux系統用戶態檔案系統FUSE分析/
7.1FUSE在核心中的實作模組/
7.2FUSE在使用者狀態中的API與基礎範例/
第8章用戶態線程-協程/
8.1Linux核心中線程與進程切換的實作/
8.1.1執行緒與進程切換的演算法與原理/
8.1.2線程與進程上下文切換實作/
8.2Linux環境使用者態中含棧協程的實作/
8.2.1協程的上下文切換實作/
8.2.2基於用戶態的堆疊實現協程狀態 /
第9章基於Android HAL硬體抽象層的使用者態驅動/
9.1Android HAL簡介/
9.1.1Android HAL的作用/
9.1.2Android HAL的分類/
9.2HAL中的內核態隔離/
9.2.1HAL中燈光Light的實現分析/
9.2.2HAL中內核態部分的實作/
9.2.3HAL實現內核態GPL隔離的原理/