《UNIX/Linux核心》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:周明德编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302078831
  • 页数:303 页
图书介绍:现代操作系统分类操作系统的核心和外围软件两大部分,操作系统的核心和灵魂。本书并不着眼于如何使用UNIX/Linux,不介绍如何在UNIX/Linux上编程。而是更深入一步,帮助读者进入UNIX/Linux的核心,理解掌握它们,从而更好地应用UNIX和Linux。

目录 1

第1章 引论 1

1.1 什么是操作系统 1

1.1.1 用户如何使用操作系统 1

1.1.2 操作系统的功能 1

1.2 操作系统的结构 3

1.2.1 PC-DOS的结构 3

1.2.2 Windows 95的结构 4

1.2.3 Windows NT的结构 5

1.2.4 UNIX操作系统的结构 6

1.3 UNIX发展简史 8

1.3.1 UNIX的诞生 8

1.3.2 UNIX走向社会 8

1.3.3 UNIX的商品化 8

1.3.4 UNIX走向统一 9

1.3.5 OSF/1 9

1.3.6 Linux 9

1.4.1 开放系统 10

1.4 操作系统与标准化 10

1.4.2 标准化的过程 11

第2章 并发程序设计(进程管理) 13

2.1 多道程序的并发执行 13

2.1.1 程序的顺序执行 13

2.1.2 程序并发执行时环境的变化 14

2.1.3 程序的并发执行 14

2.2 进程 15

2.2.1 什么是进程 15

2.2.2 进程的地址空间 17

2.2.3 进程映像 18

2.2.4 进程环境(进程上下文) 22

2.3 任务与线程 25

2.3.1 导言 25

2.3.2 任务 28

2.3.3 线程 29

2.3.4 进程数据结构的变化 30

2.3.5 super_task结构 34

2.3.6 super_thread结构 37

2.4.1 进程的创建和撤销 39

2.4 进程控制 39

2.4.2 进程的阻塞与唤醒 42

2.4.3 等待进程的终止 45

2.4.4 调用其他程序 46

2.5 进程间的同步与互斥 49

2.5.1 进程的互斥 50

2.5.2 互斥的加锁实现 51

2.6 进程和线程的状态及其转换 52

2.6.1 传统的UNIX进程的状态及其转换 52

2.6.2 线程状态及其转换 54

2.6.3 上下文切换 57

2.6.4 挂起机制 63

2.6.5 事件等待机制 64

2.7 进程(线程)调度 65

2.7.1 进程调度的功能 65

2.7.2 进程调度的时机 66

2.7.3 调度算法 67

2.7.4 分时调度 69

2.7.5 实时调度 74

2.7.6 线程调度的几个主要函数 76

2.8.1 什么是信号 78

2.8 信号 78

2.8.2 信号的处理 80

2.8.3 保持信号的数据结构 82

2.8.4 信号的发送和交付 82

2.8.5 进程中信号的发送 85

第3章 虚拟存储器管理 86

3.1 引言 86

3.1.2 存储分配 88

3.1.1 存储器管理的目的和功能 88

3.1.3 虚拟存储器 91

3.2 进程的地址空间 103

3.2.1 进程的存储映像 103

3.2.2 地址空间的主要数据结构 110

3.3 页表与虚拟地址和物理地址之间的转换 115

3.3.1 分页 115

3.3.2 80x86的页表结构 116

3.3.3 页表项格式 118

3.3.5 转换查找缓冲器 120

3.3.4 页级保护 120

3.4 高速缓存 122

3.5 物理页的分配和回收 124

3.5.1 页分配 125

3.5.2 页回收 125

3.6 存储映射 126

3.6.1 copy_on_write策略的实现 127

3.6.2 文件的共享 128

3.6.3 体外消息的传送 129

3.7.1 引言 130

3.7 换页与对换 130

3.7.2 Linux中的换页 131

3.7.3 Tru64 UNIX(COSIX64)系统中的换页与对换 133

第4章 UNIX/Linux文件系统 142

4.1 用户观点的文件系统与它的若干主要系统调用 142

4.1.1 UNIX/Linux系统中的文件 142

4.1.2 文件系统 142

4.1.3 打开文件——open 144

4.1.5 写文件——write 145

4.1.4 读文件——read 145

4.1.7 链接——link 146

4.1.6 调整文件I/O指针——lseek 146

4.1.8 关闭文件——close 147

4.2 UNIX文件系统UFS 147

4.2.1 老的System V文件系统布局及主要特点 147

4.2.2 UFS文件系统布局 148

4.2.3 inode 149

4.2.4 UFS的目录结构 152

4.2.6 几个主要数据结构之间的关系 153

4.2.5 UFS中的系统打开文件表——file结构 153

4.2.7 UFS的超级块结构 154

4.2.8 UFS中的碎片 156

4.2.9 磁盘块的分配 157

4.2.10 UFS的主要系统调用 157

4.3 虚拟文件系统VFS 158

4.3.1 概述 158

4.3.2 文件层次和VFS结构 159

4.3.3 VFS的主要数据结构 160

4.3.4 安装的文件系统结构 164

4.3.5 文件系统的主要操作 165

4.4 EXT2文件系统 168

4.4.1 EXT2 inode 169

4.4.2 EXT2文件系统的超级块 170

4.4.3 EXT2组描述符 171

4.4.4 EXT2文件系统中的目录 171

4.4.5 在EXT2文件系统中查找文件 172

4.4.6 改变在EXT2文件系统中文件的尺寸 172

4.5.1 概述 173

4.5 缓冲器管理 173

4.5.2 传统的缓冲器快存 175

4.5.3 统一的缓冲器快存UBC 178

4.6 先进文件系统 183

4.6.1 概述 183

4.6.2 AdvFS结构 187

4.6.3 交易管理 201

4.6.4 AdvFS中的文件和位文件 220

4.6.5 几个主要的系统调用 233

4.7.1 传统UNIX中文件的访问控制 235

4.7 文件系统的访问控制 235

4.7.2 访问控制表 236

4.7.3 强制型访问控制 236

第5章 进程间通信 238

5.1 概述 238

5.2 管道 238

5.3 FIFO 242

5.4 SVIPC进程通信软件包的消息传送 249

5.5 共享内存 267

5.6 信号量 272

5.7 UNIX System V IPC机制综述 280

第6章 套接口 282

6.1 概述 282

6.2 套接口的内存管理 287

6.3 套接口的数据结构 289

6.4 建立连接 292

6.5 数据传送 293

6.6 关闭套接口 296

6.7 应用举例 296

参考文献 303