Unix内核源码剖析 - (EPUB全文下载)
文件大小:6.27 mb。
文件格式:epub 格式。
书籍内容:
版权信息
书名:Unix内核源码剖析
作者:( 日) 青柳隆宏
译者:殷中翔
ISBN:978-7-115-34521-9
本书由北京图灵文化发展有限公司发行数字版。版权所有,侵权必究。
您购买的图灵电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
图灵社区会员 或许未必不过(185687308@qq.com) 专享 尊重版权
译者序
前言
阅读内核源代码的意义
为何选择 UNIX V6
面向的读者
本书的结构
关于本书的说明
关于代码的说明
几点有助于增进理解的建议
本书的写作原委和谢辞
小结
第 I 部分 什么是 UNIX V6
第 1 章 UNIX V6 的全貌
1.1 什么是 UNIX V6
1.2 UNIX 的历史
1.3 UNIX V6 内核
1.4 构成 UNIX V6 运行环境的硬件
PDP-11
1.5 代码
1.6 手册
1.7 小结
第 II 部分 进程
第 2 章 进程
2.1 进程的概要
什么是进程
进程的并行执行
进程的执行状态
用户模式和内核模式
交换处理
2.2 proc 结构体和 user 结构体
proc 结构体
user 结构体
2.3 为进程分配的内存
代码段
数据段
虚拟地址空间
变换地址
2.4 小结
第 3 章 进程的管理 I
3.1 进程的生命周期
3.2 创建进程
进程的复制
父进程和子进程
系统调用 fork
newproc()
panic()
3.3 切换执行进程
中断执行进程
进程的执行状态
选择执行进程的算法
上下文切换
系统调用 wait
sleep()
swtch()
swtch() 的返回位置
savu()
retu()、aretu()
setpri()
wakeup()
setrun()
3.4 执行程序
程序执行文件的格式
系统调用 exec
estabur()
sureg()
expand()
3.5 进程的终止
系统调用 exit
系统调用 wait
3.6 数据区域的扩展
系统调用 break
3.7 管理内存和交换空间
map 结构体
获取未使用区域
释放区域
3.8 小结
第 4 章 交换处理
4.1 什么是交换处理
代码段和数据段
sched()
xswap()
4.2 共享代码段的处理
xalloc()
xfree()
xccdec()
4.3 小结
第 III 部分 中断
第 5 章 中断与陷入
5.1 什么是中断与陷入
什么是中断
什么是陷入
5.2 优先级与向量(Vector)
中断优先级和处理器优先级
中断和陷入向量
5.3 中断和陷入的处理流程
发生中断或陷入
执行 call 和 trap
5.4 时钟中断处理函数
时钟设备的规格
时钟中断处理函数的内容
clock()
5.5 陷入处理函数
trap()
grow()
5.6 系统调用的处理流程
传递参数的方法
sysent 结构体
trap()
5.7 小结
第 6 章 信号
6.1 什么是信号
信号的发送方法
确认接收信号
信号的种类
ssig()
kill()
signal()
psignal()
issig()
psig()
core()
在系统调用处理中处理信号
6.2 跟踪功能
什么是跟踪
ipc 结构体
跟踪的处理流程
stop()
ptrace()
procxmt()
wait()
6.3 小结
第 IV 部分 块 I/O 系统
第 7 章 块设备子系统
7.1 设备的基础
设备的种类
设备驱动
类别和设备编号
特殊文件
7.2 块设备子系统
缓冲区
b-list 和 av-list
RAW 输入输出
7.3 缓冲区的初始化
binit()
clrbuf()
7.4 缓冲区的获取和释放
getblk()
notavail()
brelse()
7.5 读取
读取的种类
bread()
iowait()
iodone()
geterror()
breada()
incore()
7.6 写入
写入的种类
bwrite()
bawrite()
bdwrite()
bflush()
7.7 RAW 输入输出
physio()
swap()
7.8 小结
第 8 章 块设备驱动
8.1 什么是块设备驱动
块设备驱动表
设备处理队列
处理流程
8.2 RK-11 磁盘驱动
RK11-D
特殊文件
设定 bdevsw[]
中断处理函数
RK11-D 的寄存器
rkstrategy()
rkstart()
rkaddr()
devstart()
rkintr()
RAW 输入输出
8.3 小结
第 V 部分 文件系统
第 9 章 文件系统
9.1 什么是文件系统
inode
树状结构的命名空间
挂载
访问权限
根磁盘
9.2 块设备的区域
用于启动的区域
超级块
inode 区域
存储区域
9.3 挂载
mount 结构体
系统调用 mount
getmdev()
系统调用umount
9.4 inode 的获取和释放
inode[]
iget()
iput()
iupdat()
9.5 inode 与存储区域的对应关系
bmap()
itrunc()
9.6 分配块设备中的块
ialloc()
ifree()
alloc()
free()
getfs()
badblock()
9.7 将路径变为 inode
目录的内容
namei()
access()
9.8 初始化与同步
iinit()
update()
9.9 小结
第 10 章 文件处理
10.1 用户程序对文件的处理
10.2 3 个结构体
标准输入输出
10.3 文件的生成和打开处理
系统调用 creat
maknode()
wdir()
系统调用 open
open1()
falloc()
ufalloc()
openi( ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Unix内核源码剖析 - (EPUB全文下载)