Linux操作系统内核分析

出版时间:2000-8  出版社:第1版 (2001年8月1日)  作者:陈莉君  

内容概要

自由软件Linux操作系统源代码的开放,为我们掌握操作系统核心技术提供了良好的条件。本书共分十三章 ,对Linux内核进行了较全面的分析,既包括了对进程调度、内存管理、进程间通信、虚拟文件系统、设备驱动程序及网络子系统的分析,也包括对Linux整体结构的把握、Linux启动过程的剖析以及Linux独具特色的模块机制的分析与应用等。
这些内容对于那些准备深入Linux操作系统内部、阅读Linux内核源代码的读者具有非常高的参考价值。
Linux应用开发、管理人员,大专院校相关专业师生,以及对Linux感兴趣的用户均可从本书中受益。

书籍目录

第一章 走进Linux
1.1 GNU与Linux的成长
1.2 LinXX的开发模式和运作机制
1.3 走进 Linux内核
l.3.1 Linux内核的特征
l.3.2 Linux内核版本的变化
1.4 分析Linux内核的意义
1.4.1 开发适合自己的操作系统
1.4.2 开发高水平软件
1.4.3 有助于计算机科学的教学和科研
第二章 Linux操作系统结构
2.1 Linux的抽象结构
2.1.l 概述
2.1.2 Linux内核的作用
2.1.3 Linux内核的抽象结构
2.1.4 系统数据结构
2.2 Linux的具体结构
2.3 进程调度子系统
2.3.1 子系统描述
2.3.2 功能
2.3.3 接口
2.3.4 数据结构
2.3.5 子系统结构
2.3.6 子系统依赖关系
2.4内存管理子系统
2.4.l 子系统描述
2.4.2 功能
2.4.3 接口
2.4.4 数据结构
2.4.5 子系统结构
2.4.6 子系统依赖关系
2.5 虚拟文件系统
2.5.1 子系统描述
2.5.2 功能
2.5.3 接口
2.5.4 数据结构
2.5.5 子系统结构
2.5.6 子系统依赖关系
2.6 进程间通信(IPC)
2.6.1 子系统描述
2.6.2 功能
2.6.3 接口
2.6.4 数据结构
2.6.5 子系统结构
2.6.6 子系统的依赖关系
2.7 网络接口
2.7.1 Linux的网络层
2.7.2 接口
2.7.3 子系统描述
2.7.4 数据结构
2.7.5 子系统结构
2.7.6 子系统依赖关系
2.8 Linux内核源代码
2.8.l 多版本的内核源代码
2.8.2 Linux内核源代码的结构
2.8.3 从何处开始阅读源代码
2.9 常用术语的定义
第三章 进程调度
3.1 进程描述
3.1.l 进程和程序(Process and Program)
3.1.2 Linux中的进程概述
3.1.3 tasksmict结构描述
3.1.4 taskstfUCt数据结构
3.2 Linux时间系统
3.2.1 时钟硬件及时钟运作机制
3.2.2 千年危机(千年虫)简介
3.2.3 Linux时间系统
3.2.4 时钟中断
3.3 Linux的调度程序——SchedulC)
3.3.l 基本原理
3.3.2 Linux进程调度时机
3.3.3 进程调度的依据
3.3.4 可运行队列(Runnable Queue)
3.3.5 进程调度(调度正文)的工作流程
3.3.6 调度程序流程图
3.4 Linux内核机制
3.4.1 内核机制的引入
3.4.2 Linux内核机制
3.4.3 任务队列(Task Queue)
3.4.4 定时器内核例程处理程序(timer bottom half handler)
第四章 保护模式
4.1 虚拟存储器
4.1.l 虚地址和虚地址空间
4.1.2 段机制和分页机制
4.1.3 保护
4.2 描述符
4.2.l 段机制
4.2.2 描述符的概念
4.2.3 系统段描述符
4.2.4 门描述符
4.3 描述符表和寻址方式
4.3.l 描述符表
4.3.2 选择器与描述符表寄存器
4.3.3 描述符投影寄存器
4.4 分页机制
4.4.1 状态和控制寄存器组
4.4.2 分页机构
4.4.3 页面高速缓冲寄存器
4.5 控制转移和任务切换
4.5.l 控制转移
4.5.2 调用门
4.5.3 任务切换
4.6 小结
第五章 Linux启动系统
5.l 初始化流程.
5.1.l 系统加电或复位
5.1.2 BIOS启动
5.1.3 BootLoader
5.1.4 操作系统的初始化
5.2 初始化的任务
5.2.l 处理器对初始化的影响
5.2.2 其他硬件设备对初始化的影响
5.3 Linux的 Boot Loader
5.3.l 软盘的结构
5.3.2 硬盘的结构
5.3.3 Boot Loader
5.3.4 LILO
5.3.5 LILO的运行分析
5.4 进入操作系统
5.4.1 Setup.S
5.4.2 Head.S
5.5 main.c中的初始化
5.6 建立init进程
5.6.1 init进程的建立
5.6.2 启动所需的Shell脚本文件
第六章 Linux内存管理
6.1 Linux的虚拟内存管理
6.1.1 Linux虚拟内存的实现结构
6.1.2多任务及保护
6.1.3 内核空间和用户空间
6.1.4 Linux虚拟内存实现机制问的关系
6.2 地址映射机制
6.2.l 地址映射的数据结构
6.2.2 进程的虚拟内存
6.2.3 内存映射
6.3 请页机制
6.3.1 页故障的产生
6.3.2 页错误的定位
6.3.3 页错误处理程序
6.3.4 几点说明
6.4 交换机制
6.4.1 页交换的方法
6.4.2 更换守护进程(kSWaPd的分析
6.4.3 交换空间的数据结构
6.4.4 交换空间的应用
6.5 内存分配和回收机制
6.5.l 分配策略
6.5.2 系统级调用分配过程和释放过程.
6.5.3 用户级内存分配释放函数
6.6 缓存和刷新机制
6.6.1 Linux使用的缓存 6.6.2 缓冲区高速缓存
6.6.3 翻译后援存储器(TBL)
6.6.4 刷新机制
6.7 进程的创建和执行
6.7.l 进程的创建
6.7.2 程序执行
6.7.3 执行函数
6.8 内存共事机制
6.9 内存初始化
6.9.l 内存初始化过程
6.9.2 进入用户模式
第七章 进程间通信
7.l 管道
7.l.1 Linux管道的实现机制
7.1.2 管道的应用
7.1.3 命名管道(FIF)
7.2 System V的 IPC机制
7.2.1 信号量
7.2.2 消息队列
7.2.3 共事内存
7.3 信号(signal)
7.3.1 信号的引入
7.3.2 信号掩码
7.3.3 系统调用
7.3.4 典型系统调用的实现
7.3.5 进程与信号的关系
7.3.6 信号举例
第八章 虚拟文件系统
8.l 概述
8.2 VFS中的重要数据结构
8.2.1 VFS的超级块
8.2.2 VFS的索引节点
8.2.3 与进程联系的三个结构
8.2.4 有关操作的数据结构
8.3 高速缓存
8.3.l 块高速缓存
8.3.2 索引节点高速缓存
8.3.3 目录高速缓存
8.4 文件系统的注册、安装与卸载
8.4.l 文件系统的注册
8.4.2 文件系统的安装
8.4.3 文件系统的卸载
8.5 限额机制
8.6 文件系统的系统调用
8.6.1 oPen系统调用
8.6.2 read系统调用
8.6.3 fcntl系统调用
第九章 EXTZ文件系统
9.l 基本概念
9.2 EXTZ的磁盘布局和数据结构
9.2.1 EXTZ的磁盘布局
9.2.2 EXTZ的超级块
9.2.3 EXTZ的素引节点
9.2.4 组描述符
9.2.5 位图
9.2.6 索引节点表及举例
9.2.7 EXTZ的目录项及文件的定位
9.3 文件的访问权限和安全
9.4 链接文件
9.5 错误处理
9.6 分配策略
第十章 模块机制
10.1 概述
10.1.l 什么是模块
10.1.2 为什么要使用模块
10.1.3 Linux内核模块的优缺点
10.2 实现机制
10.2.l 数据结构
10.2.2 实现函数的分析
10.2.3 模块的装入
10.3 卸载(unload)一个模块
10.4 编写内核模块
10.4.l 内核的复制函数
10.4.2 内核版本2.0.35与2.2.3之间的变化
10.4.3 简单向核模块的编写
10.4.4 内核模块的 Makefiles又件
10.4.5 内核模块的多个文件
10.5 系统调用
10.6 模块实用程序
第十一章 设备驱动程序
11.1 LillUX的设备管理
1l.l.1 I/O软件
11.l.2 设备驱动程序
11.1.3 Linux驱动程序的几个通用函数
11.2 中断
11.2.l 硬件对中断的支持
11.2.2 Linux对中断的管理
11.2.3 Linux对中断的处理。
11.3 块设备驱动程序
11.3.l 块设备驱动程序的登记
11.3.2 块设备基于缓冲区的数据交换
11.3.3 块设备驱动程序的几个函数
11.3.4 RAM盘驱动程序的实现
11.3.5 硬盘驱动程序的实现
11.4 字符设备驱动程序
11.4.l 字符设备的注册
11.4.2 工作内存
11.4.3 基本入四点
11.4.4 一个字符设备驱动程序的实例
11.4.5 驱动程序的编译与装载
第十二章 Linux系统调用机制
12.l 基本原理
12.2 系统调用的初始化
12.3 Linux系统调用的执行
12.4 增加新的系统调用
12.4.l 编写一个系统调用
12.4.2 连接新的系统调用
12.4.3 使用新的系统调用
第十三章 网络
13.l 概述
13.2 网络协议
13.2.l 网络参考模型
13.2.2 TCPHP协议工作原理及数据流
13.2.3 Internet协议
13.2.4 TCP协议
13.3 套接字(socket)
13.3.1 套接字在网络中的地位和作用
13.3.2 套接字接口的种类
13.3.3 套接字的工作原理
13.3.4 socket的通信过程
13.3.5 和套接字相关的数据结构
13.3.6 Socket为用尸提供的系统调用
13.4 套接字缓冲区(Skbll用
13.4.l 套接字缓冲区的特点
13.4.2 套接字缓冲区操作基本原理
13.4.3 SkyUff数据结构的核心内容
13.4.4 套接字缓冲区提供的函数
13.4.5 套接字缓冲区的上层支持例程
13.4.6 SkJSff数据结构
13.5 网络设备接口
13.5.l 基本结构
13.5.2 命名规则
13.5.3 设备注册
13.5.4 网络设备数据结构
13.5.5 支持函数
13.5.6 device数据结构
13.6 本章 小结

图书封面

评论、评分、阅读与下载


    Linux操作系统内核分析 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7