注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)LinuxLinux內(nèi)核源代碼

Linux內(nèi)核源代碼

Linux內(nèi)核源代碼

定 價:¥58.00

作 者: 范磊編著
出版社: 人民郵電出版社
叢編項(xiàng): Linux專家之路
標(biāo) 簽: UNIX操作系統(tǒng)

ISBN: 9787115098474 出版時間: 2002-01-01 包裝:
開本: 26cm+光盤1片 頁數(shù): 632 字?jǐn)?shù):  

內(nèi)容簡介

  本書從操作系統(tǒng)的基本原理入手,全面分析了內(nèi)核數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系,從而深入剖析了Linux操作系統(tǒng)的內(nèi)在機(jī)制和實(shí)現(xiàn)方法。本書共分13章,詳細(xì)地分析了Linux操作系統(tǒng)的各個功能模塊,包括系統(tǒng)初始化、中斷、系統(tǒng)調(diào)用、進(jìn)程管理、進(jìn)程間通信模塊、內(nèi)存管理、文件系統(tǒng)、虛擬文件系統(tǒng)、設(shè)備驅(qū)動、網(wǎng)絡(luò)、多對稱處理等,并且在每章后列出了精選的Linux內(nèi)核源代碼程序。本書是一本具有很強(qiáng)指導(dǎo)性的學(xué)習(xí)參考書。本書適用于Linux系統(tǒng)管理員、Linux系統(tǒng)程序員以及大專院校相關(guān)專業(yè)的師生。

作者簡介

暫缺《Linux內(nèi)核源代碼》作者簡介

圖書目錄

第1章 Linux操作系統(tǒng)概述 
1.1 Linux的歷史 
1.2 Linux開發(fā)過程
1.3 Linux的現(xiàn)狀 
1.3.1 RedHat 6.0 (http://www.redhat.com) 
1.3.2 Slackware 3.4 (http://www.cdrom.com)
1.3.3 Debian 1.3.1 (http://www.debian.org)
1.3.4 SuSE Linux 5.2 (http://www.suse.com)
1.3.5 Turbo Linux 4.0 簡體中文標(biāo)準(zhǔn)版10CD 
1.3.6 紅旗Linux 
1.4 分析內(nèi)核的意義 
1.4.1 開發(fā)“自己的”操作系統(tǒng) 
1.4.2 開發(fā)高水平軟件 
1.4.3 計算機(jī)科學(xué)的教學(xué)和科研 
1.5 小結(jié)與練習(xí) 
1.5.1 小結(jié) 
1.5.2 習(xí)題與思考 
第2章 內(nèi)核體系結(jié)構(gòu)概述
2.1 內(nèi)核設(shè)計目標(biāo) 
2.1.1 清晰性 
2.1.2 兼容性 
2.1.3 可移植性
2.1.4 健壯性和安全性 
2.1.5 速度 
2.2 內(nèi)核體系結(jié)構(gòu)初識 
2.3 內(nèi)核體系結(jié)構(gòu)的深入了解 
2.4 Linux 內(nèi)核的類型 
2.4.1 層次(Layer) 
2.4.2 Linux內(nèi)核類型 
2.5 了解Linux內(nèi)核源代碼 
2.5.1 內(nèi)核源代碼結(jié)構(gòu) 
2.5.2 體系結(jié)構(gòu)相關(guān)和體系結(jié)構(gòu)無關(guān)的代碼 
2.6 Linux內(nèi)核源代碼的部分特點(diǎn) 
2.6.1 gcc特性的使用 
2.6.2 內(nèi)核代碼習(xí)慣用語 
2.6.3 減少#if和#ifdef的使用 
2.7 代碼樣例 
2.7.1 printk函數(shù) 
2.7.2 等待隊(duì)列 
2.7.3 內(nèi)核模塊 
2.8 配置與編譯內(nèi)核 
2.8.1 配置內(nèi)核 
2.8.2 構(gòu)建內(nèi)核 
2.8.3 備份的重要性 
2.8.4 發(fā)布改進(jìn) 
2.8.5 多版本的內(nèi)核代碼 
2.9 小結(jié)與練習(xí) 
2.9.1 小結(jié) 
2.9.2 習(xí)題與思考 
第3章 系統(tǒng)初始化 
3.1 初始化流程 
3.1.1 系統(tǒng)加電或復(fù)位 
3.1.2 BIOS啟動 
3.1.3 Boot Loader 
3.1.4 操作系統(tǒng)內(nèi)核的初始化 
3.2 初始化的任務(wù) 
3.2.1 處理器對初始化的影響 
3.2.2 其他硬件設(shè)備對初始化的影響 
3.3 操作系統(tǒng)的初始化 
3.3.1 引導(dǎo)PC機(jī)(BIOS啟動和LILO引導(dǎo)) 
3.3.2 準(zhǔn)備Linux內(nèi)核 
3.3.3 初始化Linux內(nèi)核
3.3.4 Bogo MIPS
3.3.5 分析內(nèi)核選項(xiàng) 
3.4 init進(jìn)程 
3.5 本章代碼 
3.6 小結(jié)與練習(xí)
3.6.1 小結(jié) 
3.6.2 習(xí)題與思考 
第4章 進(jìn)程 
4.1 進(jìn)程在內(nèi)核中的表示方法 
4.2 進(jìn)程的狀態(tài) 
4.3 引用計數(shù) 
4.4 優(yōu)先級 
4.5 創(chuàng)建進(jìn)程
4.5.1 fork和__clone 
4.5.2 分配PID 
4.5.3 進(jìn)程的運(yùn)行 
4.6 進(jìn)程調(diào)度 
4.6.1 調(diào)度策略
4.6.2 調(diào)度函數(shù)
4.6.3 計算goodness值 
4.6.4 非實(shí)時優(yōu)先級 
4.6.5 實(shí)時優(yōu)先級 
4.7 遵守限制 
4.7.1 權(quán)能 
4.7.2 用戶ID和組ID 
4.7.3 資源限制 
4.8 進(jìn)程的結(jié)束 
4.8.1 exit函數(shù)組
4.8.2 wait函數(shù)組
4.9 本章代碼 
4.10 小結(jié)與練習(xí) 
4.10.1 小結(jié) 
4.10.2 習(xí)題與思考 
第5章 中斷和中斷處理 
5.1 硬件基礎(chǔ) 
5.1.1 可編程中斷控制器 
5.1.2 初始化中斷處理數(shù)據(jù)結(jié)構(gòu) 
5.1.3 中斷處理任務(wù) 
5.2 中斷及其有關(guān)數(shù)據(jù)結(jié)構(gòu) 
5.2.1 中斷和中斷請求IRQ 
5.2.2 數(shù)據(jù)結(jié)構(gòu) 
5.3 初始化中斷請求 
5.4 中斷處理 
5.5 本章代碼 
5.6 小結(jié)與練習(xí)
5.6.1 小結(jié) 
5.6.2 習(xí)題與思考 
第6章 系統(tǒng)調(diào)用 
6.1 什么是系統(tǒng)調(diào)用 
6.2 基本原理 
6.3 系統(tǒng)調(diào)用的初始化 
6.3.1 在處理系統(tǒng)調(diào)用時使用“陷阱門”的原因 
6.3.2 利用“陷阱門”完成向高特權(quán)級(內(nèi)核)切換 
6.3.3 “陷阱門”特權(quán)切換時堆棧的變化 
6.4 如何激活系統(tǒng)調(diào)用 
6.4.1 system_call函數(shù)
6.4.2 lcall7函數(shù) 
6.5 系統(tǒng)調(diào)用樣例 
6.5.1 sys_ni_syscal函數(shù) 
6.5.2 sys_time函數(shù) 
6.5.3 sys_reboot 
6.5.4 sys_sysinfo函數(shù) 
6.6 本章代碼 
6.7 小結(jié)與練習(xí)
6.7.1 小結(jié) 
6.7.2 習(xí)題與思考 
第7章 內(nèi)存管理 
7.1 虛擬內(nèi)存 
7.1.1 虛擬內(nèi)存的抽象模型 
7.1.2 交換和分頁 
7.1.3 地址空間 
7.1.4 內(nèi)存管理單元(MMU) 
7.1.5 頁目錄和頁表 
7.1.6 轉(zhuǎn)換后備緩存 
7.1.7 段 
7.2 進(jìn)程的內(nèi)存組織 
7.2.1 struct vm_area_struct 
7.2.2 struct vm_operations_struct 
7.2.3 struct mm_struct 
7.2.4 VMA的操作 
7.3 分頁 
7.3.1 頁面保護(hù)詳述 
7.3.2 寫拷貝 
7.3.3 頁面錯誤
7.3.4 頁面調(diào)出
7.4 交換設(shè)備 
7.4.1 get_swap_page函數(shù) 
7.4.2 swap_free函數(shù) 
7.4.3 sys_swapoff函數(shù)
7.4.4 sys_swapon函數(shù) 
7.5 內(nèi)存映射mmap 
7.5.1 do_mmap函數(shù)
7.5.2 merge_segments函數(shù) 
7.5.3 do_munmap函數(shù) 
7.5.4 unmap_fixup函數(shù)
7.6 用戶空間和內(nèi)核空間的動態(tài)內(nèi)存 
7.6.1 brk 
7.6.2 vmalloc和vfree 
7.7 主存儲器信息轉(zhuǎn)儲 
7.8 緩存和刷新機(jī)制 
7.8.1 linux使用的緩存 
7.8.2 緩沖區(qū)高速緩存 
7.9 內(nèi)存的初始化 
7.9.1 內(nèi)存的初始化過程 
7.9.2 進(jìn)入用戶模式 
7.10 本章代碼 
7.11 小結(jié)與練習(xí)
7.11.1 小結(jié) 
7.11.2 習(xí)題與思考 
第8章 虛擬文件系統(tǒng) 
8.1 概述 
8.2 VFS中的重要數(shù)據(jù)結(jié)構(gòu) 
8.2.1 VFS的超級塊 
8.2.2 VFS的索引節(jié)點(diǎn)
8.2.3 與進(jìn)程聯(lián)系的三個結(jié)構(gòu) 
8.2.4 有關(guān)操作的數(shù)據(jù)結(jié)構(gòu) 
8.3 高速緩存 
8.3.1 塊高速緩存 
8.3.2 索引節(jié)點(diǎn)高速緩存 
8.3.3 目錄高速緩存 
8.4 文件系統(tǒng)的注冊、安裝與卸載 
8.4.1 文件系統(tǒng)的注冊 
8.4.2 文件系統(tǒng)的安裝 
8.4.3 文件系統(tǒng)的卸載 
8.5 限額機(jī)制 
8.6 文件系統(tǒng)的系統(tǒng)調(diào)用 
8.6.1 open系統(tǒng)調(diào)用 
8.6.2 read系統(tǒng)調(diào)用 
8.6.3 fcntl系統(tǒng)調(diào)用
8.7 本章代碼 
8.8 小結(jié)與練習(xí)
8.8.1 小結(jié) 
8.8.2 習(xí)題與思考 
第9章 EXT2文件系統(tǒng) 
9.1 基本概念 
9.1.1 一組字節(jié)到邏輯塊的映射 
9.1.2 邏輯塊到物理塊的映射 
9.2 EXT2的磁盤布局和數(shù)據(jù)結(jié)構(gòu)
9.2.1 EXT2的磁盤布局 
9.2.2 EXT2 超級塊 
9.2.3 EXT2索引節(jié)點(diǎn)
9.2.4 EXT2 組描述符
9.2.5 位圖 
9.2.6 索引節(jié)點(diǎn)表及舉例 
9.2.7 EXT2 目錄 
9.2.8 在一個 EXT2 文件系統(tǒng)中查找一個文件 
9.2.9 在 EXT2 文件系統(tǒng)中改變一個文件的大小
9.3 文件的訪問權(quán)限和安全 
9.4 連接文件 
9.5 錯誤處理 
9.6 分配策略 
9.6.1 分配新塊的算法 
9.6.2 分配新的索引節(jié)點(diǎn)的算法 
9.7 本章代碼 
9.8 小結(jié)與練習(xí)
9.8.1 小結(jié) 
9.8.2 習(xí)題與思考 
第10章 進(jìn)程間通信 
10.1 管道(pipe) 
10.1.1 Linux管道機(jī)制的實(shí)現(xiàn) 
10.1.2 管道的應(yīng)用 
10.1.3 命名管道(FIFO) 
10.2 System V IPC機(jī)制 
10.2.1 消息隊(duì)列 
10.2.2 信號量 
10.3 共享內(nèi)存 
10.4 信號 
10.4.1 信號的引入 
10.4.2 信號掩碼 
10.4.3 系統(tǒng)調(diào)用 
10.4.4 進(jìn)程與信號的關(guān)系 
10.5 本章代碼 
10.6 小結(jié)與練習(xí)
10.6.1 小結(jié) 
10.6.2 習(xí)題與思考 
第11章 設(shè)備驅(qū)動 
11.1 Linux的設(shè)備管理 
11.1.1 I/O軟件 
11.1.2 設(shè)備驅(qū)動程序 
11.1.3 Linux驅(qū)動程序的幾個通用函數(shù) 
11.2 中斷 
11.2.1 硬件對中斷的支持 
11.2.2 Linux對中斷的管理
11.2.3 Linux對中斷的處理
11.3 塊設(shè)備驅(qū)動程序 
11.3.1 塊設(shè)備驅(qū)動程序的登記 
11.3.2 塊設(shè)備基于緩沖區(qū)的數(shù)據(jù)交換 
11.3.3 RAM盤驅(qū)動程序的實(shí)現(xiàn) 
11.3.4 硬盤驅(qū)動程序的實(shí)現(xiàn) 
11.4 字符設(shè)備驅(qū)動程序 
11.4.1 字符設(shè)備的注冊 
11.4.2 工作內(nèi)存 
11.4.3 基本入口點(diǎn)
11.5 網(wǎng)絡(luò)設(shè)備的初始化 
11.6 本章代碼 
11.7 小結(jié)與練習(xí)
11.7.1 小結(jié) 
11.7.2 習(xí)題與思考 
第12章 網(wǎng)絡(luò) 
12.1 概述 
12.1.1 Linux的網(wǎng)絡(luò)層次結(jié)構(gòu) 
12.1.2 面向?qū)ο蟮脑O(shè)計方法實(shí)現(xiàn)網(wǎng)絡(luò)層次 
12.2 網(wǎng)絡(luò)協(xié)議 
12.2.1 網(wǎng)絡(luò)參考模型 
12.2.2 TCP/IP協(xié)議工作原理及數(shù)據(jù)流 
12.2.3 Internet協(xié)議 
12.3 套接字(socket)
12.3.1 套接字在網(wǎng)絡(luò)中的地位和作用 
12.3.2 套接字接口的種類 
12.3.3 套接字的工作原理 
12.3.4 socket的通信過程 
12.3.5 socket為用戶提供的系統(tǒng)調(diào)用 
12.4 套接字緩沖區(qū)(sk_buff) 
12.4.1 套接字緩沖區(qū)的特點(diǎn) 
12.4.2 套接字緩沖區(qū)操作基本原理 
12.4.3 sk_buff數(shù)據(jù)結(jié)構(gòu)的核心內(nèi)容
12.4.4 套接字緩沖區(qū)提供的函數(shù) 
12.4.5 套接字緩沖區(qū)的上層支持例程 
12.5 網(wǎng)絡(luò)設(shè)備接口 
12.5.1 基本結(jié)構(gòu) 
12.5.2 命名規(guī)則 
12.5.3 設(shè)備注冊 
12.5.4 網(wǎng)絡(luò)設(shè)備數(shù)據(jù)結(jié)構(gòu) 
12.5.5 支持函數(shù) 
12.6 本章代碼 
12.7 小結(jié)與練習(xí)
12.7.1 小結(jié) 
12.7.2 習(xí)題與思考 
第13章 多對稱處理 
13.1 并行程序設(shè)計概念及其原語 
13.1.1 原子操作 
13.1.2 test-and-set原語 
13.1.3 信號量 
13.1.4 自旋鎖 
13.2 APIC和CPU-TO-CPU通信 
13.3 SMP對內(nèi)核的影響 
13.3.1 對調(diào)度的影響 
13.3.2 smp_local_timer_interrupt函數(shù) 
13.3.3 lock_kernel函數(shù)和unlock_kernel函數(shù) 
13.3.4 softirq_trylock函數(shù) 
13.3.5 cli宏和sti宏 
13.3.6 irq_enter函數(shù)和irq_exit函數(shù) 
13.4 本章代碼 
13.5 小結(jié)與練習(xí)
13.5.1 小結(jié) 
13.5.2 習(xí)題與思考 
附錄 部分習(xí)題參考答案

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號