買這商品的人也買了...
-
大師養成起手式:從核心真正了解 Linux 運作原理$880$695 -
高手才用 C語言:Windows C/C++ 加密解密實戰$980$774 -
三國鼎立唯一開源 CPU 架構 - RISC-V 處理器設計快速上手$780$616 -
$504穿越作業系統迷霧:從零實現作業系統 -
從駭客的角度學攻擊 - 惡意程式碼逆向全破解$880$695 -
圖解 Linux 核心工作原理|透過實作與圖解學習 OS 與硬體的基礎知識【增訂版】$600$474 -
$356通信系統實戰筆記 無處不在的信號處理 -
Linux C 與 C++ 一線開發實踐, 2/e$954$906 -
全面掌握 Gemini 開發實務:輕鬆駕馭 Google AI 引擎$680$537 -
$517x86 匯編與逆向工程 軟件破解與防護的藝術 -
讓 AI 好好說話!從頭打造 LLM (大型語言模型) 實戰秘笈$680$537 -
開源閉源 LLM 應用 - 從微調到 RAG、Agent 完整開發實作$880$695 -
深入理解 Kubernetes 網絡系統原理$654$621 -
Microsoft Azure AI Services 與 Azure OpenAI 開發基礎必修課 -- 使用 C#$550$412 -
內行人才知道的系統設計面試指南 第二輯 (System Design Interview – An Insider's Guide: Volume 2)$820$647 -
$708打通 Linux 操作系統和芯片開發 -
深入淺出軟體架構 (Head First Software Architecture)$980$774 -
Linux x64 匯編語言編程$948$900 -
真正了解核心 - Linux 後端工程開發實作$1,080$853 -
Linux 內核模塊開發技術指南$714$678 -
$351Linux x86 匯編語言視角下的 shellcode 開發與分析 -
從 0 手寫 x86 計算機操作系統$594$564 -
深入 Linux Kernel 程式設計:kernel 內部原理、模組開發與同步機制, 2/e (Linux Kernel Programming : A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization, 2/e)$980$735 -
Binary Hacks Rebooted|探索底層世界的 89個實戰技法 (Binary Hacks Rebooted —低レイヤの世界を探検するテクニック89選)$980$774 -
Windows C++黑客編程(基礎篇)$474$450
簡體書新到貨|2書75折 ( 10/6-10/15 ) 詳見活動內容 »
-
85折
$254LangChain 與大語言模型應用開發實踐 -
VIP 95折
數學之美 Ⅱ$774$735 -
VIP 95折
機器人系統開發與優化:算法、感知與控制策略$714$678 -
VIP 95折
AI for Science 中的深度學習$654$621 -
VIP 95折
覆雜系統架構設計實戰:從架構設計原理到頂尖公司面試$594$564 -
85折
$453電力電子化直流系統電弧智能故障檢測技術 -
79折
$706電子商務:商務、技術、社會 原書第17版 -
79折
$606初識密碼學 -
VIP 95折
量子力學, 2/e$330$313 -
VIP 95折
學習 Unity 和 C# 遊戲編程, 2/e$756$718 -
79折
$417解密GRE數學出題點 -
VIP 95折
Stable Diffusion - ComfyUI AI 繪畫工作流解析$534$507 -
VIP 95折
多模態 AI Agent 開發實踐$600$570 -
$354機器學習基礎及應用 -
85折
$657AI 大模型面試內參 (上、下冊) -
VIP 95折
Qt 6 for Python:PySide6 GUI 應用開發指南$899$854 -
85折
$448破殼線性代數——踐悟人工智能與量子力學 -
85折
$249數字集成電路設計實踐 -
85折
$856數字通信——基礎與應用(原書第3版·中文導讀版) -
85折
$407OpenCV 圖像實戰 : 圖像處理的深度探索與項目實戰 -
79折
$469解碼大模型:原理與實戰 -
79折
$606Cadence Allegro 24.1 電子設計速成實戰寶典 -
VIP 95折
AI 賦能 AutoCAD 高效作圖與自動化實現(AutoCAD 2024)(視頻教學版)$359$341 -
79折
$236AIGC 與電商營銷技能實戰 (慕課版) -
VIP 95折
從演算法到電路:數碼芯片演算法的電路實現$714$678
相關主題
商品描述
本書由知名編譯與操作系統專家海納撰寫,將沈澱20餘年的Linux系統研究所得傾註書中。本書用不到1萬行代碼覆現了Linux 0.12內核,打通了“古早”工具鏈障礙,模塊實現環環相扣,帶你穿透“迷霧”,窺見Linux系統設計的絢麗“天光”。 本書共8章,從邏輯上分為四部分。第一部分(第1和2章)是基礎知識,介紹開發內核所需的基礎知識,包括開發環境和調試環境的搭建,以及i386保護模式等。第二部分(第3~6章)是核心模塊,逐步實現進程、中斷、系統調用、內存管理、字符設備驅動和塊設備驅動等模塊。第三部分(第7章)是文件系統,涵蓋Minix文件系統、管理inode、管理普通文件、管理目錄、文件鏈接、執行程序等內容。第四部分(第8章)是系統服務接口,介紹一些重要的函數,這部分不是內核的主要部分,但為了讓shell程序正確地運行,這些函數也是必須實現的。
作者簡介
海納,曾就職於人大金倉、網易遊戲,現就職於華為編譯器實驗室。長期從事編譯器和編程語言虛擬機的研發工作,擅長編譯器後端和垃圾回收機制。
目錄大綱
前言
第1章 基礎知識和環境準備
1.1 操作系統概述
1.1.1 功能和架構
1.1.2 操作系統的發展歷史
1.2 配置環境
1.2.1 配置開發環境
1.2.2 配置運行環境
1.3 第一個內核程序
1.3.1 打印Hello World
1.3.2 開機引導程序
1.4 匯編語言
1.4.1 內嵌匯編
1.4.2 鏈接器的工作原理
1.4.3 初識makefile
1.5 小結
第2章 保護模式
2.1 進入保護模式前的準備
2.1.1 加載並執行setup
2.1.2 獲取硬件信息
2.2 內存管理
2.2.1 A20地址線
2.2.2 全局描述符
2.2.3 頁表的原理
2.2.4 進入保護模式
2.3 中斷機制
2.3.1 中斷描述符表
2.3.2 可編程中斷控制器
2.3.3 特權級
2.4 時鐘中斷
2.4.1 初始化中斷控制芯片
2.4.2 設置中斷描述符表
2.4.3 重設全局描述符表
2.4.4 時鐘中斷實驗
2.5 小結
第3章 進入內核
3.1 開啟分頁管理
3.1.1 設置頁表
3.1.2 設置棧指針
3.2 實現格式化打印
3.2.1 初始化終端和控制臺
3.2.2 操作顯示控制器
3.2.3 支持換行和回車
3.2.4 格式化打印結果並輸出
3.3 設置內存和陷阱處理
3.3.1 初始化內存管理
3.3.2 初始化系統調用
3.3.3 處理CPU異常
3.4 小結
第4章 創建進程
4.1 創建INIT進程
4.1.1 創建進程控制塊
4.1.2 切換特權級
4.2 創建第二個進程
4.2.1 準備進程控制塊
4.2.2 覆制進程控制塊
4.2.3 實現進程切換
4.3 第一個系統調用:fork
4.3.1 系統調用和中斷
4.3.2 定義fork函數
4.3.3 內存的寫時覆制
4.3.4 處理頁保護中斷
4.3.5 完善調度器
4.4 小結
第5章 支持字符設備
5.1 支持鍵盤
5.1.1 鍵盤的工作原理
5.1.2 解析掃描碼
5.1.3 構建緩沖區
5.1.4 完善屏幕回顯功能
5.1.5 回顯字符
5.2 優化輸入功能
5.2.1 控制臺和遠程終端
5.2.2 系統調用read函數
5.3 優化輸出功能
5.3.1 向標準輸出寫字符串
5.3.2 ANSI轉義序列
5.3.3 支持轉義序列
5.4 修改終端狀態
5.4.1 支持方向鍵
5.4.2 修改控制臺標誌位
5.5 小結
第6章 支持塊設備
6.1 硬盤的基本結構
6.1.1 初始化硬盤信息
6.1.2 硬盤分區表
6.1.3 硬盤控制器編程
6.1.4 設置硬盤中斷
6.2 管理緩沖區
6.2.1 初始化緩沖區
6.2.2 申請緩沖區
6.2.3 緩沖區相關的讀寫操作
6.3 硬盤驅動
6.3.1 讀寫硬盤
6.3.2 讀硬盤分區表
6.4 軟盤驅動
6.4.1 軟盤的工作原理
6.4.2 實現定時器
6.4.3 DMA讀寫
6.4.4 軟盤控制器
6.4.5 實現軟盤操作函數
6.5 小結
第7章 文件系統
7.1 Minix文件系統
7.1.1 Minix文件系統的基本結構
7.1.2 定義超級塊
7.1.3 初始化超級塊
7.2 管理inode
7.2.1 文件的元信息
7.2.2 管理位圖
7.2.3 刪除文件
7.2.4 進程支持文件操作
7.2.5 目錄結構
7.3 管理普通文件
7.3.1 根據路徑查找inode
7.3.2 打開文件
7.3.3 文件的讀操作
7.3.4 讀寫普通文件
7.4 管理目錄
7.4.1 創建目錄和文件
7.4.2 刪除目錄:rmdir
7.4.3 新建文件
7.5 文件鏈接
7.5.1 創建硬鏈接
7.5.2 創建軟鏈接
7.5.3 通過鏈接訪問文件
7.5.4 刪除文件鏈接
7.6 執行程序
7.6.1 a.out格式
7.6.2 執行程序:execve
7.6.3 缺頁中斷
7.6.4 實驗:運行第一個可執行程序
7.7 小結
第8章 系統服務接口
8.1 POSIX接口
8.1.1 時間管理
8.1.2 掛載文件系統
8.2 管理進程
8.2.1 信號處理
8.2.2 管道通信
8.2.3 進程同步
8.2.4 進程退出
8.3 構建C語言庫
8.4 小結
附錄 顯示模式
