国外计算机科学经典教材:Linux内核编程指南(第3版)

国外计算机科学经典教材:Linux内核编程指南(第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: (Beck M.) , ,
2004-11
版次: 1
ISBN: 9787302092940
定价: 39.00
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 372页
字数: 596千字
63人买过
  •   本书面向希望深入学习这种操作系统的读者,全面介绍了Linux操作系统的技术原理。全书共分10章,内容分别涉及Linux内核简介、内存管理、进程间通信、Linux文件系统、设备驱动程序、网络实现方式、模块和调试,以及多重处理等Linux内核原理和开发技术。 第1章Linux操作系统简介
    1.1主要特点
    1.2Linux产品
    第2章编译内核
    2.1所有的东西在哪里
    2.2编译过程
    2.3额外的配置工具
    第3章内核入门
    3.1重要的数据结构
    3.1.1任务结构
    3.1.2进度表
    3.1.3文件和节点
    3.1.4动态内存管理
    3.1.5队列和信号标志
    3.1.6系统时间和定时期
    3.2主要算法
    3.2.1信号
    3.2.2硬件中断
    3.2.3软件中断
    3.2.4启动系统
    3.2.5定时期中断
    3.2.6调度程序
    3.3系统调用的实现
    3.3.1系统调用的实际工作原理
    3.3.2简单系统调用的例子
    3.3.3更复杂的系统条用的例子
    第4章内存管理
    4.1内存管理
    4.1.1独立系统结构的内存模型
    4.1.2虚拟地址空间
    4.1.3转换线性地址
    4.1.4页面目录
    4.1.5页面表
    4.2进程的虚拟地址空间
    4.2.1用户段
    4.2.2虚拟内存区域
    4.2.3系统调用brk
    4.2.4映射函数
    4.2.5内核段
    4.2.6引导过程中内核段中的内存分配
    4.2.7内核段中的动态内存管理
    4.3块设备告诉缓存
    4.3.1快缓存
    4.3.2bdflush和kupdate
    4.3.3用语缓冲存储器的列表结构
    4.3.4使用缓冲存储器
    4.4Linux系统下的分页技术
    4.4.1内存管理和高速缓冲存储器
    4.4.2预定一个内存页面
    4.4.3通过内核线程优化内存页面管理
    4.4.4页面错误和重新载入页面
    第5章进程间的通信
    5.1内核中的同步
    5.2通过文件通信
    5.2.1锁定整个文件
    5.2.2锁定文件区域
    5.3管道
    5.4使用ptrace调试
    5.5SystemV中的进程间通信(IPC)
    5.5.1访问权限、号码和关键字
    5.5.2信号标志
    5.5.3消息队列
    5.6使用套接字的IPC
    5.6.1一个简单的例子
    5.6.2UNIX城套接字的实现
    第6章Linux文件系统
    6.1基本原理
    6.2内核中文件系统的表示
    6.2.1装载
    6.2.2超代码块
    6.2.3超代码块操作
    6.2.4目录缓冲器
    6.2.5Denty操作
    6.2.6i节点
    6.2.7i节点操作
    6.2.8文件结构
    6.2.9文件操作
    6.2.10打开文件
    6.3Ext2文件系统
    6.3.1Ext2文件系统的结构
    6.3.2Ext2文件系统中的的目录
    6.3.3Ext2文件系统中代码块的分配
    6.3.4Ext2文件系统的扩充
    6.4Proc文件系统的结构
    6.4.1Proc文件系统的结构
    6.4.2Proc文件系统的实现
    第7章Linux下的设备驱动程序
    7.1字符设备和代码块设备
    7.2硬件
    7.2.1端口I/O
    7.2.2ISA即插即用
    7.2.3恐龙--ISA总线
    7.2.4ISA即插即用
    7.3查询、中断和等待队列
    7.3.1查询
    7.3.2中断模式
    7.3.3中断共享
    7.3.4软件中断
    7.3.5下半部--较低的中断一半
    7.3.6任务队列
    7.3.7计时器
    7.4实现驱动程序
    7.4.1PC扬声器驱动程序
    7.4.2一个简单的驱动程序
    7.4.3setup函数
    7.4.4init
    7.4.5打开和释放
    7.4.6读取和写入
    7.4.7IOCTL
    7.4.8poll
    7.4.9Llsee
    7.4.10Mmsp
    7.4.11Fasync
    7.4.12Readdir及Fsync
    7.5动态驱动程序和静态驱动程序
    第8章网络实现方式
    8.1导言和概述
    8.1.1网络实现方式的层模型
    8.1.2将A中的数据转移到B
    8.2一些重要的结构
    8.2.1套接字结构
    8.2.2sk_buff结构--网络中的缓冲区管理
    8.2.3INET套接字--套接字的一个特殊部分
    8.2.4proto结构中的协议操作
    8.2.5套接字地址的一般结构
    8.3Linuc下的网络设备
    8.3.1以太网
    8.3.2SLIP和PLIP
    8.3.3回送设备
    8.3.4哑设备
    8.3.5示例设备
    第9章模块和调试
    9.1什么是模块
    9.2内核中的实现
    9.3模块和内核的对象片断的含义
    9.4参量的传输和示例
    9.5模块能实现什么
    9.6内核守护程序
    9.7模块之间的简单交换
    9.8示例模块
    9.9调试
    9.9.1更改是末尾的开始
    9.9.2最好的调试器--prentk()
    9.9.3使用gdb进行测试
    第10章多重处理
    10.1英特尔多重处理规范
    10.2多重处理器系统存在的问题
    10.3内核的改动
    10.3.1内核初始化
    10.3.2调度
    10.3.3中断处理
    10.4原子操作
    10.4.1原子数据类型
    10.4.2访问原子数据类型
    10.4.3改变和检测原子变量
    10.5旋转锁定
    10.5.1访问函数
    10.5.2读写旋转锁定
    附录A系统调用
    附录B内核的相关命令
    附录CPROC文件系统
    附录D引导进程
    附录E有用的内核函数
  • 内容简介:
      本书面向希望深入学习这种操作系统的读者,全面介绍了Linux操作系统的技术原理。全书共分10章,内容分别涉及Linux内核简介、内存管理、进程间通信、Linux文件系统、设备驱动程序、网络实现方式、模块和调试,以及多重处理等Linux内核原理和开发技术。
  • 目录:
    第1章Linux操作系统简介
    1.1主要特点
    1.2Linux产品
    第2章编译内核
    2.1所有的东西在哪里
    2.2编译过程
    2.3额外的配置工具
    第3章内核入门
    3.1重要的数据结构
    3.1.1任务结构
    3.1.2进度表
    3.1.3文件和节点
    3.1.4动态内存管理
    3.1.5队列和信号标志
    3.1.6系统时间和定时期
    3.2主要算法
    3.2.1信号
    3.2.2硬件中断
    3.2.3软件中断
    3.2.4启动系统
    3.2.5定时期中断
    3.2.6调度程序
    3.3系统调用的实现
    3.3.1系统调用的实际工作原理
    3.3.2简单系统调用的例子
    3.3.3更复杂的系统条用的例子
    第4章内存管理
    4.1内存管理
    4.1.1独立系统结构的内存模型
    4.1.2虚拟地址空间
    4.1.3转换线性地址
    4.1.4页面目录
    4.1.5页面表
    4.2进程的虚拟地址空间
    4.2.1用户段
    4.2.2虚拟内存区域
    4.2.3系统调用brk
    4.2.4映射函数
    4.2.5内核段
    4.2.6引导过程中内核段中的内存分配
    4.2.7内核段中的动态内存管理
    4.3块设备告诉缓存
    4.3.1快缓存
    4.3.2bdflush和kupdate
    4.3.3用语缓冲存储器的列表结构
    4.3.4使用缓冲存储器
    4.4Linux系统下的分页技术
    4.4.1内存管理和高速缓冲存储器
    4.4.2预定一个内存页面
    4.4.3通过内核线程优化内存页面管理
    4.4.4页面错误和重新载入页面
    第5章进程间的通信
    5.1内核中的同步
    5.2通过文件通信
    5.2.1锁定整个文件
    5.2.2锁定文件区域
    5.3管道
    5.4使用ptrace调试
    5.5SystemV中的进程间通信(IPC)
    5.5.1访问权限、号码和关键字
    5.5.2信号标志
    5.5.3消息队列
    5.6使用套接字的IPC
    5.6.1一个简单的例子
    5.6.2UNIX城套接字的实现
    第6章Linux文件系统
    6.1基本原理
    6.2内核中文件系统的表示
    6.2.1装载
    6.2.2超代码块
    6.2.3超代码块操作
    6.2.4目录缓冲器
    6.2.5Denty操作
    6.2.6i节点
    6.2.7i节点操作
    6.2.8文件结构
    6.2.9文件操作
    6.2.10打开文件
    6.3Ext2文件系统
    6.3.1Ext2文件系统的结构
    6.3.2Ext2文件系统中的的目录
    6.3.3Ext2文件系统中代码块的分配
    6.3.4Ext2文件系统的扩充
    6.4Proc文件系统的结构
    6.4.1Proc文件系统的结构
    6.4.2Proc文件系统的实现
    第7章Linux下的设备驱动程序
    7.1字符设备和代码块设备
    7.2硬件
    7.2.1端口I/O
    7.2.2ISA即插即用
    7.2.3恐龙--ISA总线
    7.2.4ISA即插即用
    7.3查询、中断和等待队列
    7.3.1查询
    7.3.2中断模式
    7.3.3中断共享
    7.3.4软件中断
    7.3.5下半部--较低的中断一半
    7.3.6任务队列
    7.3.7计时器
    7.4实现驱动程序
    7.4.1PC扬声器驱动程序
    7.4.2一个简单的驱动程序
    7.4.3setup函数
    7.4.4init
    7.4.5打开和释放
    7.4.6读取和写入
    7.4.7IOCTL
    7.4.8poll
    7.4.9Llsee
    7.4.10Mmsp
    7.4.11Fasync
    7.4.12Readdir及Fsync
    7.5动态驱动程序和静态驱动程序
    第8章网络实现方式
    8.1导言和概述
    8.1.1网络实现方式的层模型
    8.1.2将A中的数据转移到B
    8.2一些重要的结构
    8.2.1套接字结构
    8.2.2sk_buff结构--网络中的缓冲区管理
    8.2.3INET套接字--套接字的一个特殊部分
    8.2.4proto结构中的协议操作
    8.2.5套接字地址的一般结构
    8.3Linuc下的网络设备
    8.3.1以太网
    8.3.2SLIP和PLIP
    8.3.3回送设备
    8.3.4哑设备
    8.3.5示例设备
    第9章模块和调试
    9.1什么是模块
    9.2内核中的实现
    9.3模块和内核的对象片断的含义
    9.4参量的传输和示例
    9.5模块能实现什么
    9.6内核守护程序
    9.7模块之间的简单交换
    9.8示例模块
    9.9调试
    9.9.1更改是末尾的开始
    9.9.2最好的调试器--prentk()
    9.9.3使用gdb进行测试
    第10章多重处理
    10.1英特尔多重处理规范
    10.2多重处理器系统存在的问题
    10.3内核的改动
    10.3.1内核初始化
    10.3.2调度
    10.3.3中断处理
    10.4原子操作
    10.4.1原子数据类型
    10.4.2访问原子数据类型
    10.4.3改变和检测原子变量
    10.5旋转锁定
    10.5.1访问函数
    10.5.2读写旋转锁定
    附录A系统调用
    附录B内核的相关命令
    附录CPROC文件系统
    附录D引导进程
    附录E有用的内核函数
查看详情