图书介绍

Solaris内核结构PDF|Epub|txt|kindle电子书版本网盘下载

Solaris内核结构
  • (美)Jim Mauro,(美)Richard McDougall著;冯锐等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111092929
  • 出版时间:2001
  • 标注页数:490页
  • 文件大小:30MB
  • 文件页数:502页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

热门推荐