图书介绍
Solaris内核结构PDF|Epub|txt|kindle电子书版本网盘下载
![Solaris内核结构](https://www.shukui.net/cover/24/31441864.jpg)
- (美)Jim Mauro,(美)Richard McDougall著;冯锐等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111092929
- 出版时间:2001
- 标注页数:490页
- 文件大小:30MB
- 文件页数:502页
- 主题词:
PDF下载
下载说明
Solaris内核结构PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 Solaris内核简介1
第1章 Solaris入门1
1.1 Solaris简史1
1.2 关键的不同之处4
1.3 内核概述6
1.3.1 Solaris内核体系结构6
1.3.2 内核的模块化实现7
1.4 进程、线程和调度8
1.4.1 两级线程模型9
1.4.2 全局进程优先级和调度10
1.5 进程间通信11
1.5.1 传统的UNIX IPC11
1.5.2 System V IPC11
1.5.3 POSIX IPC12
1.5.4 高级Solaris IPC12
1.6 信号12
1.7 存储管理12
1.7.1 全局内存分配13
1.7.2 内核存储管理14
1.8 文件和文件系统14
1.8.1 文件描述符和文件系统调用15
1.8.2 虚拟文件系统结构15
1.9 I/O体系结构17
第2章 内核服务18
2.1 访问内核服务18
2.2.1 上下文19
2.2 进入内核模式19
2.2.2 内核线程和中断上下文20
2.2.3 UltraSPARC Ⅰ Ⅱ陷阱20
2.3 中断26
2.3.1 中断优先级26
2.3.2 中断监控30
2.3.3 处理器内部中断和交叉调用30
2.4 系统调用31
2.4.1 一般的系统调用31
2.4.2 快速陷阱系统调用32
2.5.1 Solaris 2.6和7的标注表33
2.5 内核标注表33
2.5.2 Solaris 2.5.1标注表36
2.6 系统时钟38
2.6.1 进程执行时间的统计39
2.6.2 高频时钟中断40
2.6.3 高频计时器40
2.6.4 日期时间时钟40
3.2 并行系统体系结构42
3.1 同步42
第3章 内核同步原语42
3.3 加锁和同步的硬件考虑45
3.4 关于同步对象的介绍48
3.4.1 同步过程49
3.4.2 同步对象操作向量49
3.5 互斥锁51
3.5.1 概述51
3.5.2 Solaris 7互斥锁的实现53
3.6.1 Solaris 7中的读/写锁59
3.6 读/写锁59
3.6.2 Solaris 2.6中RW锁的差异62
3.6.3 Solaris 2.5.1中的RW锁的差异62
3.7 旋转栅门和优先级继承64
3.7.1 Solaris 7中的旋转栅门65
3.7.2 Solaris 2.5.1和2.6中的旋转栅门67
3.8 调度锁70
3.9 内核信号量72
4.1 内核的目录层次75
第4章 内核引导和初始化75
4.2 内核引导和初始化77
4.2.1 加载引导块78
4.2.2 加载ufsboot79
4.2.3 定位核心内核映像和链接79
4.2.4 加载内核模块79
4.2.5 创建内核结构、资源和组件80
4.2.6 完成引导过程84
4.2.7 引导过程中创建系统内核线程84
4.3 内核模块的加载和链接84
5.1 为什么需要虚拟内存系统91
第5章 Solaris内存体系结构91
第二部分 Solaris内存管理91
5.2 模块化的实现94
5.3 虚拟地址空间94
5.3.1 可执行代码和库的共享96
5.3.2 SPARC地址空间96
5.3.3 Intel芯片地址空间的布局98
5.3.4 进程内存分配98
5.3.6 地址空间管理100
5.3.5 栈100
5.3.7 虚拟内存保护模式103
5.3.8 地址空间的页错误103
5.4 内存的段105
5.4.1 vnode段:seg_vn108
5.4.2 写入时拷贝111
5.4.3 页保护与通知112
5.5 匿名内存112
5.5.1 匿名内存层114
5.5.2 Swapfs层115
5.5.3 匿名内存统计119
5.6 虚拟内存观测点121
5.7 全局页管理123
5.7.1 页——Solaris内存的基本单元123
5.7.2 页的Hash列表124
5.7.3 特定MMU的页结构125
5.7.4 物理页列表126
5.7.5 页级函数接口127
5.7.7 页面大小128
5.7.6 页的中止128
5.7.8 页的分配129
5.8 页扫描程序132
5.8.1 页扫描程序的操作132
5.8.2 出页算法和参数133
5.8.3 共享库的优化135
5.8.4 优先级分页算法135
5.8.5 页扫描程序的实现137
5.8.6 内存调度程序140
5.9 硬件地址转换层140
5.9.1 虚拟内存上下文和地址空间142
5.9.2 UltraSPARC-Ⅰ和Ⅱ型的HAT143
5.9.3 地址空间标识符146
5.9.4 大页面148
第6章 内核内存151
6.1 内核虚拟地址规划151
6.1.1 内核地址空间151
6.1.5 可加载的内核模块正文和数据152
6.1.4 SPARC V8和V9内核的核心程序152
6.1.3 虚拟内存数据结构152
6.1.2 内核正文段和数据段152
6.1.6 内核地址空间和段155
6.2 内核内存的分配156
6.2.1 内核映射156
6.2.2 资源映射分配程序157
6.2.3 内核内存段驱动程序159
6.2.4 内核内存片分配程序160
7.1.2 内核内存172
7.1.1 物理内存总数172
第7章 内存的监控172
7.1 内存监控的简单介绍172
7.1.3 空闲内存173
7.1.4 文件系统缓存内存173
7.1.5 内存不足的检测173
7.1.6 交换空间174
7.2 内存监控工具175
7.3 vmstat命令175
7.3.1 空闲内存176
7.3.4 进程内存的使用情况,ps和pmap命令177
7.3.2 交换空间177
7.3.3 页调度计数器177
7.4 MemTool:没有绑定的内存工具180
7.4.1 Memtool的实用程序180
7.4.2 命令行工具180
7.4.3 MemTool的图形用户界面182
7.5 其他内存工具185
7.5.1 运行空间的监视程序:wsm186
7.5.2 一个扩充vmstat的命令:memstat186
第8章 Solaris多线程的进程体系结构189
8.1 Solaris进程简介189
第三部分 线程、进程和IPC189
8.1.1 进程的体系结构190
8.1.2 进程映像193
8.2 进程结构195
8.2.1 进程结构195
8.2.2 用户区205
8.2.3 轻量级进程209
8.2.4 内核线程210
8.3.1 进程限制213
8.3 内核进程表213
8.3.2 LWP限制215
8.4 进程创建216
8.5 进程终止223
8.5.1 LWP/kthead模型224
8.5.2 deathrow225
8.6 Procfs——进程文件系统226
8.6.1 Procfs的实现228
8.6.2 进程资源使用235
8.6.3 微状态计数器236
8.7 信号240
8.7.1 信号的实现245
8.7.2 SIGWAITING特殊信号254
8.8 会话和进程组255
第9章 Solaris内核调度程序260
9.1 概述260
9.1.1 调度等级262
9.1.2 调度表270
9.2 内核调度程序275
9.2.1 调度队列277
9.2.2 线程优先级280
9.2.3 调度程序功能291
9.3 内核睡眠/唤醒程序304
9.3.1 条件变量305
9.3.2 睡眠队列306
9.3.3 睡眠过程308
9.3.4 唤醒机制311
9.4 调度程序激活312
9.4.1 用户线程激活313
9.4.2 LWP池激活314
9.5 内核处理器控制和处理器集315
9.5.1 处理器控制317
9.5.2 处理器集320
第10章 进程间通信324
1O.1 通用System V IPC支持324
10.1.1 模块创建324
10.1.2 资源映射327
10.2 System V共享内存327
10.2.1 共享内存内核实现330
10.2.2 相似共享内存333
10.3 System V信号量336
10.3.1 信号量内核资源336
10.3.2 System V信号量的内核实现338
10.3.3 Solaris内部的信号量操作339
10.4 System V消息队列341
10.4.1 消息队列使用的内核资源341
10.4.2 消息队列的内核实现345
10.5 POSIX IPC346
10.5.1 POSIX共享内存348
10.5.2 POSIX信号量349
10.5.3 POSIX消息队列351
10.6 Solaris门354
10.6.1 门概述354
10.6.2 门实现355
第四部分 文件和文件系统361
第11章 Solaris文件和文件I/O361
11.1 Solaris的文件361
11.2 文件的应用程序编程接口367
11.2.1 标准I/O368
11.2.2 C运行期文件句柄371
11.2.3 标准I/O缓冲区大小371
11.3 系统文件I/O371
11.3.1 文件I/O系统调用371
11.3.2 文件打开模式和文件描述符标志372
11.4 异步I/O378
11.4.1 文件系统异步I/O379
11.4.2 内核异步I/O379
11.5 内存映射文件I/O383
11.5.1 映射选项385
11.5.2 为存储系统提供建议386
11.6 Solaris中的64位文件390
11.6.1 Solaris 2.0中的64位设备支持390
11.6.2 Solaris 2.5.1中的64位文件应用程序编程接口391
11.6.3 Solaris 2.6:大文件OS392
11.6.4 文件系统对大文件的支持394
第12章 文件系统综述395
12.1 为什么要有文件系统395
12.3 普通文件系统396
12.2 支持多个文件系统类型396
12.3.1 分配和存储策略397
12.3.2 文件系统容量399
12.3.3 支持可变块大小400
12.3.4 访问控制列表401
12.3.5 文件系统日志报表402
12.3.6 扩大和缩小文件系统405
12.3.7 直接I/O405
13.1.2 文件系统框架程序408
13.1.1 统一的文件系统接口408
13.1 Solaris文件系统框架408
第13章 文件系统框架408
13.2 vnode409
13.2.1 vnode类型411
13.2.2 Vnode方法412
13.2.3 vnode引用计数413
13.2.4 分页vnode缓存的接口414
13.2.5 vnode页上的块I/O415
13.3 vfs对象415
13.3.1 文件系统交换表417
13.3.2 安装的vfs列表418
13.4 文件系统I/O421
13.4.1 内存映射I/O421
13.4.2 系统调用read()和write()423
13.4.3 Seg_map段423
13.5 路径名管理426
13.5.1 lookupname()和lookuppn()方法427
13.5.2 vop_lookup()方法427
13.5.3 vop_readdir()方法427
13.5.4 路径名遍历函数428
13.5.5 目录名查询缓存429
13.5.6 文件系统模块432
13.5.7 安装和拆卸432
13.6 文件系统刷新守护进程434
第14章 UNIX文件系统435
14.1 UFS发展历史435
14.2.1 UFS Inode436
14.2.2 UFS目录436
14.2 UFS磁盘格式436
14.2.3 UFS硬链接438
14.2.4 UFS结构438
14.2.5 磁盘块定位440
14.2.6 UFS块分配441
14.2.7 UFS分配和参数442
14.3 UPS的实现444
14.3.1 文件映射到磁盘块444
14.3.2 读写UFS文件的方法447
14.3.3 核心内的UFS Inode450
14.3.4 UFS目录和路径名452
15.1 文件缓存简介453
15.1.1 Solaris页缓存453
第15章 Solaris文件系统缓存453
15.1.2 块缓冲区缓存455
15.2 页缓存和虚存系统456
15.3 分页对系统到底好不好457
15.4 影响文件系统性能的分页参数460
15.5 用直接I/O绕过页缓存462
15.5.1 UFS直接I/O462
15.6 目录名缓存463
15.5.2 Veritas VxFS的直接I/O463
15.7 Inode缓存465
15.7.1 UFS Inode缓存大小465
15.7.2 VxFS Inode缓存466
第五部分 附录469
附录A 内核的调整、开关和限制参数469
附录B 内核虚拟地址映射476
附录C 一个Procfs程序示例483
参考文献488