书籍详情
Solaris内核结构(原书第2版)
作者:(美)Jim Mauro,(美)Richard McDougall著;冯锐等译
出版社:机械工业出版社
出版时间:2001-09-01
ISBN:9787111092926
定价:¥55.00
购买这本书可以去
内容简介
本书介绍Solaris操作系统的内核,提供了内核结构以及该操作系统中使用的主要数据结构和算法的大量信息。主要内容包括:Solaris内核概述、So1aris存储系统线程、进程和IPC、文件和文件系统。本书还讲解了该系统的实际应用,用大量实例阐述了应用方法和技巧。本书对于使用So1aris操作系统的各类技术人员来讲是一本极具参考价值的专著。
作者简介
暂缺《Solaris内核结构(原书第2版)》作者简介
目录
目 录
前言
第一部分 Solaris内核简介
第1章 So1aris入门
1. 1 Solaris简史
1. 2 关键的不同之处
1. 3 内核概述
1. 3. 1 Solaris内核体系结构
1. 3. 2 内核的模块化实现
1. 4 进程. 线程和调度
1. 4. 1 两级线程模型
1. 4. 2 全局进程优先级和调度
1. 5 进程间通信
1. 5. 1 传统的UNIX IPC
1. 5. 2 System V IPC
1. 5. 3 POSDC IPC
1. 5. 4 高级Solaris IPC
1. 6 信号
1. 7 存储管理
1. 7. 1 全局内存分配
1. 7. 2 内核存储管理
1. 8 文件和文件系统
1. 8. 1 文件描述符和文件系统调用
1. 8. 2 虚拟文件系统结构
1. 9 I/0体系结构
第2章 内核服务
2. 1 访问内核服务
2. 2 进入内核模式
2. 2. 1 上下文
2. 2. 2 内核线程和中断上下文
2. 2. 3 UltraSPARC I&II陷阱
2. 3 中断
2. 3. 1 中断优先级
2. 3. 2 中断监控
2. 3. 3 处理器内部中断和交叉调用
2. 4 系统调用
2. 4. 1 一般的系统调用
2. 4. 2 快速陷阱系统调用
2. 5 内核标注表
2. 5. 1 Solaris 2. 6和7的标注表
2. 5. 2 Solaris 2. 5. 1标注表
2. 6 系统时钟
2. 6. 1 进程执行时间的统计
2. 6. 2 高按时钟中断
2. 6. 3 高频计时器
2. 6. 4 日期时间时钟
第3章 内核同步原语
3. 1 同步
3. 2 并行系统体系结构
3. 3 加锁和同步的硬件考虑
3. 4 关于同步对象的介绍
3. 4. 1 同步过程
3. 4. 2 同步对象操作向量
3. 5 互斥锁
3. 5. 1 概述
3. 5. 2 Solaris 7互斥锁的实现
3. 6 读/写锁
3. 6. 1 Solaris 7中的读/写锁
3. 6. 2 Solaris 2. 6中RW锁的差异
3. 6. 3 Solaris 2. 5. 1中的RW锁的差异
3. 7 旋转栅门和优先级继承
3. 7. 1 Solaris 7中的旋转栅门
3. 7. 2 Solaris 2. 5. 1和2. 6中的旋转栅门
3. 8 调度锁
3. 9 内核信号量
第4章 内核引导和初始化
4. 1 内核的目录层次
4. 2 内核引导和初始化
4. 2. 1 加载引导块
4. 2. 2 加载ufsboot
4. 2. 3 定位核心内核映像和链接
4. 2. 4 加载内核模块
4. 2. 5 创建内核结构. 资源和组件
4. 2. 6 完成引导过程
4. 2. 7 引导过程中创建系统内核线程
4. 3 内核模块的加载和链接
第二部分 Solaris内存管理
第5章 So1aris内存体系结构
5. 1 为什么需要虚拟内存系统
5. 2 模块化的实现
5. 3 虚拟地址空间
5. 3. 1 可执行代码和库的共享
5. 3. 2 SPARC地址空间
5. 3. 3 Intel芯片地址空间的布局
5. 3. 4 进程内存分配
5. 3. 5 栈
5. 3. 6 地址空间管理
5. 3. 7 虚拟内存保护模式
5. 3. 8 地址空间的页错误
5. 4 内存的段
5. 4. 1 vnod6段:seg_vn
5. 4. 2 写入时拷贝
5. 4. 3 页保护与通知
5. 5 匿名内存
5. 5. 1 匿名内存层
5. 5. 2 Swapfs层
5. 5. 3 匿名内存统计
5. 6 虚拟内存观测点
5. 7 全局页管理
5. 7. 1 页——So1aris内存的基本单元
5. 7. 2 页的Hash列表
5. 7. 3 特定MMU的页结构
5. 7. 4 物理页列表
5. 7. 5 页级函数接口
5. 7. 6 页的中止
5. 7. 7 页面大小
5. 7. 8 页的分配
5. 8 页扫描程序
5. 8. 1 页扫描程
5. 8. 2 出页算法和参数
5. 8. 3 共享库的优化
5. 8. 4 优先级分页算法
5. 8. 5 页扫描程序的实现
5. 8. 6 内存调度程序
5. 9 硬件地址转换层
5. 9. 1 虚拟内存上下文和地址空间
5. 9. 2 UltraSPARC-I和II型的HAT
5. 9. 3 地址空间标识符
5. 9. 4 大页面
第6章 内核内存
6. 1 内核虚拟地址规划
6. 1. 1 内核地址空间
6. 1. 2 内核正文段和数据段
6. 1. 3 虚拟内存数据结构
6. 1. 4 SPARC V8和V9内核的
核心程序
6. 1. 5 可加载的内核模块正文和数据
6. 1. 6 内核地址空间和段
6. 2 内核内存的分配
6. 2. 1 内核映射
6. 2. 2 资源映射分配程序
6. 2. 3 内核内存段驱动程序
6. 2. 4 内核内存片分配程序
第7章 内存的监控
7. 1 内存监控的简单介绍
7. 1. 1 物理内存总数
7. 1. 2 内核内存
7. 1. 3 空闲内存
7. 1. 4 文件系统缓存内存
7. 1. 5 内存不足的检测
7. 1. 6 交换空间
7. 2 内存监控工具
7. 3 vmstat命令
7. 3. 1 空闲内存
7. 3. 2’交换空间
7. 3. 3 页调度计数器
7. 3. 4 进程内存的使用情况, ps和
pmap命令
7. 4 MemToo1:没有绑定的内存工具
7. 4. 1 Memtoo1的实用程序
7. 4. 2 命令行工具
7. 4. 3 MemToo1的图形用户界面
7. 5 其他内存工具
7. 5. 1 运行空间的监视程序:wsm
7. 5. 2 一个扩充vmstat的命令:memstat
第三部分 线程. 进程和IPc
第8章 Solaris多线程的进程体系
结构
8. 1 So1aris进程简介
8. 1. 1 进程的体系结构
8. 1. 2 进程映像
8. 2 进程结构
8. 2. 1 进程结构
8. 2. 2 用户区
8. 2. 3 轻量级进程
8. 2. 4 内核线程
8. 3 内核进程表
8. 3. 1 进程限制
8. 3. 2 LWP限制
8. 4 进程创建
8. 5 进程终止
8. 5. 1 LWP/kthead模型
8. 5. 2 deadthrow
8. 6 Procfs———进程文件系统
8. 6. 1 Procfs的实现
8. 6. 2 进程资源使用
8. 6. 3 微状态计数器
8. 7 信号
8. 7. 1 信号的实现
8. 7. 2 SICWAITING特殊信号
8. 8 会话和进程组
第9章 So1aris内核调度程序
9. 1 概述
9. 1. 1 调度等级
9. 1. 2 调度表
9. 2 内核调度程序
9. 2. 1 调度队列
9. 2. 2 线程优先级
9. 2. 3 调度程序功能
9. 3 内核睡眠/唤醒程序
9. 3. 1 条件变量
9. 3. 2 睡眠队列
9. 3. 3 睡眠过程
9. 3. 4 唤醒机制
9. 4 调度程序激活
9. 4. 1 用户线程激活
9. 4. 2 LWP池激活
9. 5 内核处理器控制和处理器集
9. 5. 1 处理器控制
9. 5. 2 处理器集
第10章 进程间通信
10. 1 通用System V IPC支持
10. 1. 1 模块创建
10. 1. 2 资源映射
10. 2 System共享内存
10. 2. 1 共享内存内核实现
10. 2. 2 相似共享内存
10. 3 System V信号量
10. 3. 1 信号量内核资源
10. 3. 2 System V信号量的内核实现
10. 3. 3 Solaris内部的信号量操作
10. 4 System V消息队列
10. 4. 1 消息队列使用的内核资源
10. 4. 2 消息队列的内核实现
10. 5 POSIX IPC
10. 5. 1 P0SIX共享内存
10. 5. 2 POSIX信号量
10. 5. 3 P0SIX消息队列
10. 6 Solaris门
10. 6. 1 门概述
Io. 6. 2 门实现
第四部分 文件和文件系统
第11章 So1aris文件和文件I/0
11. 1 Solaris的文件
11. 2 文件的应用程序编程接口
11. 2. 1 标准I/0
11. 2. 2 C运行期文件句柄
11. 2. 3 标准I/0缓冲区大小
11. 3 系统文件I/0
11. 3. 1 文件I/0系统调用
11. 3. 2 文件打开模式和文件描述符
标志
11. 4 异步I/0
11. 4. 1 文件系统异步I/0
11. 4. 2 内核异步I/0
11. 5 内存映射文件I/0
11. 5. 1 映射选项
11. 5. 2 为存储系统提供建议
11. 6 Solaris中的64位文件
11. 6. 1 Solaris 2. 0中的64位设备
支持
11. 6. 2 Solaris 2. 5. t中的以位文件
应用程序编程接口
11. 6. 3 Solaris 2. 6:大文件0S
11. 6. 4 文件系统对大文件的支持
第12章 文件系统综述
12. 1 为什么要有文件系统
12. 2 支持多个文件系统类型
12. 3 普通文件系统
12. 3. 1 分配和存储策略
12. 3. 2 文件系统容量
12. 3. 3 支持可变块大小
12. 3. 4 访问控制列表
12. 3. 5 文件系统日志报表
12. 3. 6 扩大和缩小文件系统
12. 3. 7 直接I/0
第13章 文件系统框架
13. 1 Solaris文件系统框架
13. 1. 1 统一的文件系统接口
13. 1. 2 文件系统框架程序
13. 2 vnode
13. 2. 1 vnode类型
13. 2. 2 Vnode方法
13. 2. 3 vnde引用计数
13. 2. 4 分页vnde缓存的接口
13. 2. 5 vnode页上的块I/0
13. 3 vfs对象
13. 3. 1 文件系统交换表
13. 3. 2 安装的vfs列表
13. 4 文件系统I/0
13. 4. 1 内存映射I/0
13. 4. 2 系统调用read()和write()
13. 4. 3 Seg_map段
13. 5 路径名管理
13. 5. 1 lookupname()和lookuppn()方g
13. 5. 2 vop_lookup()方法
13. 5. 3 vop_readdir()方法
13. 5. 4 路径名遍历函数
13. 5. 5 目录名查询缓存
13. 5. 6 文件系统模块
13. 5. 7 安装和拆卸
13. 6 文件系统刷新守护进程
第14章 UNIX文件系统
14. 1 UFS发展历史
14. 2 UFS磁盘格式
14. 2. 1 UFSInode
14. 2. 2 UPS目录
14. 2. 3 UFS硬链接
14. 2. 4 UFS结构
14. 2. 5 磁盘块定位
14. 2. 6 UFS块分配
14. 2. 7 UFS分配和参数
14. 3 UFS的实现
14. 3. 1 文件映射到磁盘块
14. 3. 2 读写UFS文件的方法
14. 3. 3 核心内的UFS Inode
14. 3. 4 UF5目录和路径名
第15章 Solaria文件系统缓存
15. 1 文件缓存简介
15. 1. 1 Solaris页缓存
15. 1. 2 块缓冲区缓存
15. 2 页缓存和虚存系统
15. 3 分页对系统到底好不好
15. 4 影响文件系统性能的分页参数
15. 5 用直接I/0绕过页缓存
15. 5. 1 UFS直接I/0
15. 5. 2 Veritas VxFS的直接I/0
15. 6 目录名缓存
15. 7 Inode缓存
15. 7. 1 UFSInode缓存大小
15. 7. 2 VxFSInode缓存
第五部分 吩 录
附录A 内核的调整. 开关和限制参数
附录B 内核虚拟地址映射
附录C 一个Procfs程序示例
参考文献
前言
第一部分 Solaris内核简介
第1章 So1aris入门
1. 1 Solaris简史
1. 2 关键的不同之处
1. 3 内核概述
1. 3. 1 Solaris内核体系结构
1. 3. 2 内核的模块化实现
1. 4 进程. 线程和调度
1. 4. 1 两级线程模型
1. 4. 2 全局进程优先级和调度
1. 5 进程间通信
1. 5. 1 传统的UNIX IPC
1. 5. 2 System V IPC
1. 5. 3 POSDC IPC
1. 5. 4 高级Solaris IPC
1. 6 信号
1. 7 存储管理
1. 7. 1 全局内存分配
1. 7. 2 内核存储管理
1. 8 文件和文件系统
1. 8. 1 文件描述符和文件系统调用
1. 8. 2 虚拟文件系统结构
1. 9 I/0体系结构
第2章 内核服务
2. 1 访问内核服务
2. 2 进入内核模式
2. 2. 1 上下文
2. 2. 2 内核线程和中断上下文
2. 2. 3 UltraSPARC I&II陷阱
2. 3 中断
2. 3. 1 中断优先级
2. 3. 2 中断监控
2. 3. 3 处理器内部中断和交叉调用
2. 4 系统调用
2. 4. 1 一般的系统调用
2. 4. 2 快速陷阱系统调用
2. 5 内核标注表
2. 5. 1 Solaris 2. 6和7的标注表
2. 5. 2 Solaris 2. 5. 1标注表
2. 6 系统时钟
2. 6. 1 进程执行时间的统计
2. 6. 2 高按时钟中断
2. 6. 3 高频计时器
2. 6. 4 日期时间时钟
第3章 内核同步原语
3. 1 同步
3. 2 并行系统体系结构
3. 3 加锁和同步的硬件考虑
3. 4 关于同步对象的介绍
3. 4. 1 同步过程
3. 4. 2 同步对象操作向量
3. 5 互斥锁
3. 5. 1 概述
3. 5. 2 Solaris 7互斥锁的实现
3. 6 读/写锁
3. 6. 1 Solaris 7中的读/写锁
3. 6. 2 Solaris 2. 6中RW锁的差异
3. 6. 3 Solaris 2. 5. 1中的RW锁的差异
3. 7 旋转栅门和优先级继承
3. 7. 1 Solaris 7中的旋转栅门
3. 7. 2 Solaris 2. 5. 1和2. 6中的旋转栅门
3. 8 调度锁
3. 9 内核信号量
第4章 内核引导和初始化
4. 1 内核的目录层次
4. 2 内核引导和初始化
4. 2. 1 加载引导块
4. 2. 2 加载ufsboot
4. 2. 3 定位核心内核映像和链接
4. 2. 4 加载内核模块
4. 2. 5 创建内核结构. 资源和组件
4. 2. 6 完成引导过程
4. 2. 7 引导过程中创建系统内核线程
4. 3 内核模块的加载和链接
第二部分 Solaris内存管理
第5章 So1aris内存体系结构
5. 1 为什么需要虚拟内存系统
5. 2 模块化的实现
5. 3 虚拟地址空间
5. 3. 1 可执行代码和库的共享
5. 3. 2 SPARC地址空间
5. 3. 3 Intel芯片地址空间的布局
5. 3. 4 进程内存分配
5. 3. 5 栈
5. 3. 6 地址空间管理
5. 3. 7 虚拟内存保护模式
5. 3. 8 地址空间的页错误
5. 4 内存的段
5. 4. 1 vnod6段:seg_vn
5. 4. 2 写入时拷贝
5. 4. 3 页保护与通知
5. 5 匿名内存
5. 5. 1 匿名内存层
5. 5. 2 Swapfs层
5. 5. 3 匿名内存统计
5. 6 虚拟内存观测点
5. 7 全局页管理
5. 7. 1 页——So1aris内存的基本单元
5. 7. 2 页的Hash列表
5. 7. 3 特定MMU的页结构
5. 7. 4 物理页列表
5. 7. 5 页级函数接口
5. 7. 6 页的中止
5. 7. 7 页面大小
5. 7. 8 页的分配
5. 8 页扫描程序
5. 8. 1 页扫描程
5. 8. 2 出页算法和参数
5. 8. 3 共享库的优化
5. 8. 4 优先级分页算法
5. 8. 5 页扫描程序的实现
5. 8. 6 内存调度程序
5. 9 硬件地址转换层
5. 9. 1 虚拟内存上下文和地址空间
5. 9. 2 UltraSPARC-I和II型的HAT
5. 9. 3 地址空间标识符
5. 9. 4 大页面
第6章 内核内存
6. 1 内核虚拟地址规划
6. 1. 1 内核地址空间
6. 1. 2 内核正文段和数据段
6. 1. 3 虚拟内存数据结构
6. 1. 4 SPARC V8和V9内核的
核心程序
6. 1. 5 可加载的内核模块正文和数据
6. 1. 6 内核地址空间和段
6. 2 内核内存的分配
6. 2. 1 内核映射
6. 2. 2 资源映射分配程序
6. 2. 3 内核内存段驱动程序
6. 2. 4 内核内存片分配程序
第7章 内存的监控
7. 1 内存监控的简单介绍
7. 1. 1 物理内存总数
7. 1. 2 内核内存
7. 1. 3 空闲内存
7. 1. 4 文件系统缓存内存
7. 1. 5 内存不足的检测
7. 1. 6 交换空间
7. 2 内存监控工具
7. 3 vmstat命令
7. 3. 1 空闲内存
7. 3. 2’交换空间
7. 3. 3 页调度计数器
7. 3. 4 进程内存的使用情况, ps和
pmap命令
7. 4 MemToo1:没有绑定的内存工具
7. 4. 1 Memtoo1的实用程序
7. 4. 2 命令行工具
7. 4. 3 MemToo1的图形用户界面
7. 5 其他内存工具
7. 5. 1 运行空间的监视程序:wsm
7. 5. 2 一个扩充vmstat的命令:memstat
第三部分 线程. 进程和IPc
第8章 Solaris多线程的进程体系
结构
8. 1 So1aris进程简介
8. 1. 1 进程的体系结构
8. 1. 2 进程映像
8. 2 进程结构
8. 2. 1 进程结构
8. 2. 2 用户区
8. 2. 3 轻量级进程
8. 2. 4 内核线程
8. 3 内核进程表
8. 3. 1 进程限制
8. 3. 2 LWP限制
8. 4 进程创建
8. 5 进程终止
8. 5. 1 LWP/kthead模型
8. 5. 2 deadthrow
8. 6 Procfs———进程文件系统
8. 6. 1 Procfs的实现
8. 6. 2 进程资源使用
8. 6. 3 微状态计数器
8. 7 信号
8. 7. 1 信号的实现
8. 7. 2 SICWAITING特殊信号
8. 8 会话和进程组
第9章 So1aris内核调度程序
9. 1 概述
9. 1. 1 调度等级
9. 1. 2 调度表
9. 2 内核调度程序
9. 2. 1 调度队列
9. 2. 2 线程优先级
9. 2. 3 调度程序功能
9. 3 内核睡眠/唤醒程序
9. 3. 1 条件变量
9. 3. 2 睡眠队列
9. 3. 3 睡眠过程
9. 3. 4 唤醒机制
9. 4 调度程序激活
9. 4. 1 用户线程激活
9. 4. 2 LWP池激活
9. 5 内核处理器控制和处理器集
9. 5. 1 处理器控制
9. 5. 2 处理器集
第10章 进程间通信
10. 1 通用System V IPC支持
10. 1. 1 模块创建
10. 1. 2 资源映射
10. 2 System共享内存
10. 2. 1 共享内存内核实现
10. 2. 2 相似共享内存
10. 3 System V信号量
10. 3. 1 信号量内核资源
10. 3. 2 System V信号量的内核实现
10. 3. 3 Solaris内部的信号量操作
10. 4 System V消息队列
10. 4. 1 消息队列使用的内核资源
10. 4. 2 消息队列的内核实现
10. 5 POSIX IPC
10. 5. 1 P0SIX共享内存
10. 5. 2 POSIX信号量
10. 5. 3 P0SIX消息队列
10. 6 Solaris门
10. 6. 1 门概述
Io. 6. 2 门实现
第四部分 文件和文件系统
第11章 So1aris文件和文件I/0
11. 1 Solaris的文件
11. 2 文件的应用程序编程接口
11. 2. 1 标准I/0
11. 2. 2 C运行期文件句柄
11. 2. 3 标准I/0缓冲区大小
11. 3 系统文件I/0
11. 3. 1 文件I/0系统调用
11. 3. 2 文件打开模式和文件描述符
标志
11. 4 异步I/0
11. 4. 1 文件系统异步I/0
11. 4. 2 内核异步I/0
11. 5 内存映射文件I/0
11. 5. 1 映射选项
11. 5. 2 为存储系统提供建议
11. 6 Solaris中的64位文件
11. 6. 1 Solaris 2. 0中的64位设备
支持
11. 6. 2 Solaris 2. 5. t中的以位文件
应用程序编程接口
11. 6. 3 Solaris 2. 6:大文件0S
11. 6. 4 文件系统对大文件的支持
第12章 文件系统综述
12. 1 为什么要有文件系统
12. 2 支持多个文件系统类型
12. 3 普通文件系统
12. 3. 1 分配和存储策略
12. 3. 2 文件系统容量
12. 3. 3 支持可变块大小
12. 3. 4 访问控制列表
12. 3. 5 文件系统日志报表
12. 3. 6 扩大和缩小文件系统
12. 3. 7 直接I/0
第13章 文件系统框架
13. 1 Solaris文件系统框架
13. 1. 1 统一的文件系统接口
13. 1. 2 文件系统框架程序
13. 2 vnode
13. 2. 1 vnode类型
13. 2. 2 Vnode方法
13. 2. 3 vnde引用计数
13. 2. 4 分页vnde缓存的接口
13. 2. 5 vnode页上的块I/0
13. 3 vfs对象
13. 3. 1 文件系统交换表
13. 3. 2 安装的vfs列表
13. 4 文件系统I/0
13. 4. 1 内存映射I/0
13. 4. 2 系统调用read()和write()
13. 4. 3 Seg_map段
13. 5 路径名管理
13. 5. 1 lookupname()和lookuppn()方g
13. 5. 2 vop_lookup()方法
13. 5. 3 vop_readdir()方法
13. 5. 4 路径名遍历函数
13. 5. 5 目录名查询缓存
13. 5. 6 文件系统模块
13. 5. 7 安装和拆卸
13. 6 文件系统刷新守护进程
第14章 UNIX文件系统
14. 1 UFS发展历史
14. 2 UFS磁盘格式
14. 2. 1 UFSInode
14. 2. 2 UPS目录
14. 2. 3 UFS硬链接
14. 2. 4 UFS结构
14. 2. 5 磁盘块定位
14. 2. 6 UFS块分配
14. 2. 7 UFS分配和参数
14. 3 UFS的实现
14. 3. 1 文件映射到磁盘块
14. 3. 2 读写UFS文件的方法
14. 3. 3 核心内的UFS Inode
14. 3. 4 UF5目录和路径名
第15章 Solaria文件系统缓存
15. 1 文件缓存简介
15. 1. 1 Solaris页缓存
15. 1. 2 块缓冲区缓存
15. 2 页缓存和虚存系统
15. 3 分页对系统到底好不好
15. 4 影响文件系统性能的分页参数
15. 5 用直接I/0绕过页缓存
15. 5. 1 UFS直接I/0
15. 5. 2 Veritas VxFS的直接I/0
15. 6 目录名缓存
15. 7 Inode缓存
15. 7. 1 UFSInode缓存大小
15. 7. 2 VxFSInode缓存
第五部分 吩 录
附录A 内核的调整. 开关和限制参数
附录B 内核虚拟地址映射
附录C 一个Procfs程序示例
参考文献
猜您喜欢