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

Linux內(nèi)核源代碼

Linux內(nèi)核源代碼

定 價(jià):¥58.00

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

ISBN: 9787115098474 出版時(shí)間: 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)的各個(gè)功能模塊,包括系統(tǒng)初始化、中斷、系統(tǒng)調(diào)用、進(jìn)程管理、進(jìn)程間通信模塊、內(nèi)存管理、文件系統(tǒng)、虛擬文件系統(tǒng)、設(shè)備驅(qū)動(dòng)、網(wǎng)絡(luò)、多對(duì)稱處理等,并且在每章后列出了精選的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ì)算機(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è)計(jì)目標(biāo) 
2.1.1 清晰性 
2.1.2 兼容性 
2.1.3 可移植性
2.1.4 健壯性和安全性 
2.1.5 速度 
2.2 內(nèi)核體系結(jié)構(gòu)初識(shí) 
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啟動(dòng) 
3.1.3 Boot Loader 
3.1.4 操作系統(tǒng)內(nèi)核的初始化 
3.2 初始化的任務(wù) 
3.2.1 處理器對(duì)初始化的影響 
3.2.2 其他硬件設(shè)備對(duì)初始化的影響 
3.3 操作系統(tǒng)的初始化 
3.3.1 引導(dǎo)PC機(jī)(BIOS啟動(dòng)和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 引用計(jì)數(shù) 
4.4 優(yōu)先級(jí) 
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 計(jì)算goodness值 
4.6.4 非實(shí)時(shí)優(yōu)先級(jí) 
4.6.5 實(shí)時(shí)優(yōu)先級(jí) 
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 中斷和中斷請(qǐng)求IRQ 
5.2.2 數(shù)據(jù)結(jié)構(gòu) 
5.3 初始化中斷請(qǐng)求 
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)用時(shí)使用“陷阱門”的原因 
6.3.2 利用“陷阱門”完成向高特權(quán)級(jí)(內(nèi)核)切換 
6.3.3 “陷阱門”特權(quán)切換時(shí)堆棧的變化 
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 頁面錯(cuò)誤
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)核空間的動(dòng)態(tài)內(nèi)存 
7.6.1 brk 
7.6.2 vmalloc和vfree 
7.7 主存儲(chǔ)器信息轉(zhuǎn)儲(chǔ) 
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的超級(jí)塊 
8.2.2 VFS的索引節(jié)點(diǎn)
8.2.3 與進(jìn)程聯(lián)系的三個(gè)結(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)的注冊(cè)、安裝與卸載 
8.4.1 文件系統(tǒng)的注冊(cè) 
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 超級(jí)塊 
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 在一個(gè) EXT2 文件系統(tǒng)中查找一個(gè)文件 
9.2.9 在 EXT2 文件系統(tǒng)中改變一個(gè)文件的大小
9.3 文件的訪問權(quán)限和安全 
9.4 連接文件 
9.5 錯(cuò)誤處理 
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 信號(hào)量 
10.3 共享內(nèi)存 
10.4 信號(hào) 
10.4.1 信號(hào)的引入 
10.4.2 信號(hào)掩碼 
10.4.3 系統(tǒng)調(diào)用 
10.4.4 進(jìn)程與信號(hào)的關(guān)系 
10.5 本章代碼 
10.6 小結(jié)與練習(xí)
10.6.1 小結(jié) 
10.6.2 習(xí)題與思考 
第11章 設(shè)備驅(qū)動(dòng) 
11.1 Linux的設(shè)備管理 
11.1.1 I/O軟件 
11.1.2 設(shè)備驅(qū)動(dòng)程序 
11.1.3 Linux驅(qū)動(dòng)程序的幾個(gè)通用函數(shù) 
11.2 中斷 
11.2.1 硬件對(duì)中斷的支持 
11.2.2 Linux對(duì)中斷的管理
11.2.3 Linux對(duì)中斷的處理
11.3 塊設(shè)備驅(qū)動(dòng)程序 
11.3.1 塊設(shè)備驅(qū)動(dòng)程序的登記 
11.3.2 塊設(shè)備基于緩沖區(qū)的數(shù)據(jù)交換 
11.3.3 RAM盤驅(qū)動(dòng)程序的實(shí)現(xiàn) 
11.3.4 硬盤驅(qū)動(dòng)程序的實(shí)現(xiàn) 
11.4 字符設(shè)備驅(qū)動(dòng)程序 
11.4.1 字符設(shè)備的注冊(cè) 
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è)計(jì)方法實(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è)備注冊(cè) 
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章 多對(duì)稱處理 
13.1 并行程序設(shè)計(jì)概念及其原語 
13.1.1 原子操作 
13.1.2 test-and-set原語 
13.1.3 信號(hào)量 
13.1.4 自旋鎖 
13.2 APIC和CPU-TO-CPU通信 
13.3 SMP對(duì)內(nèi)核的影響 
13.3.1 對(duì)調(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) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)