UNIX系统内核结构培训教材
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程 的虚空间 A 正文
数据
A
内存空间
A′ 共享存储区 栈
进程 的虚空间 B 正文
数据 B B′ 栈
图 10-7 利用共享存储区进行通信
16
信号量集
第十章 UNIX系统内核结构
10.3.6 信号量集机制 信号量集表
信号量表
sem 0 sem 1 sem 2 0 sem 3 1 sem 4 2 sem 5 3 sem 6 sem 7 sem 8 0 sem 9 1 sem 10 2 sem 11 0
物理页794
对换设备块 2743
图 10-11 四种数据结构之间的关系
20
第十章 UNIX系统内核结构
10.4.2 换页进程
1、增加有效页的年龄 2、对换出页的几种处理方式 3、将换出页面写到对换设备上
10.4.3 请求调页 1、缺页在可执行文件上 2、缺页在对换设备上 3
21
第十章 UNIX系统内核结构
10.5 设 备 管 理
10.5.1 字符设备缓冲区管理
1、空闲字符缓冲区队列
cblock[0] cfreelist c_next
cblock[1] c_next
cblwenku.baidu.comck[2] c_next
18
第十章 UNIX系统内核结构
2、页框数据表和对换使用表
图 10-10 页框数据表项及其散列队列
19
第十章 UNIX系统内核结构
虚地址 1493K
页表项 页框号 794
磁盘块描述项
对换 块号 设备 1 2743
页框数据表项794 引用数 1 对换设备 1 块号 2743
对换使用表项 引用数 1
信号量集
…
图 10-8 信号量集表与信号量表
17
第十章 UNIX系统内核结构
10.4 存 储 器 管 理 10.4.1 请求调页管理的数据结构
1、页表和磁盘描述表
物理页号 年龄 写时拷贝 修改位 访问位 有效位 保护
(a)页表项
对换设备号
设备块号
存储器类型
(b)盘块说明 图 10-9 页表项和磁盘描述表项
8
第十章 UNIX系统内核结构
2、 进程映像 1. (1)用户级上下文 (2)寄存器上下文 ➢ 程序寄存器 ➢ 处理机状态寄存器(PSR) ➢ 栈指针 ➢ 通用寄存器 (3)系统级上下文 ➢ 静态部分 ➢ 动态部分
9
第十章 UNIX系统内核结构
10.2.3 进程控制
1、 fork系统调用
(1) 为新进程分配一个进程表项和进程标识符; (2) (2) 检查同时运行的进程数目; (3) (3) 拷贝进程表项中的数据; (4) (4) 子进程继承父进程的所有文件; (5) (5) 为子进程创建进程上下文; (6) (6) 子进程执行。
(3) (3) 设备驱动程序
4
第十章 UNIX系统内核结构
10.2 进程的描述和控制
10.2.1 进程控制块PCB
在UNIX系统Ⅴ中, (1) (2) U区 (3) 进程区表 (4) 系统区表
5
第十章 UNIX系统内核结构
4、 本进程区表(Per Process Region Table)
A 正文 进 程 数据 区 表栈
字符设备
块设备
设备驱动程序
进程控制 子系统
进程间通信 调度
存储管理
硬件控制 核心级 硬件级
硬件 3
第十章 UNIX系统内核结构
10.1.3 UNIX系统的内核结构
1 (1) 进程控制
(2) (2) 进程通信 2、 文件子系统 (3) (3) 存储器管理 (1) 文件管理
(4) (4) 进程调度
(2) (2) 高速缓冲机制
10
第十章 UNIX系统内核结构
2、exec系统调用
trap path arg v
0 arg 2p arg 1p arg 0p
文件名字符串 参数字符串
图 10-5 exec Ⅴ的参数组织方式
11
第十章 UNIX系统内核结构
3、exit系统调用
(1) 关闭软中断; (2) 回收资源; (3) 写记账信息; (4) 置进程为“僵死”状态。 4、wait系统调用
第十章 UNIX系统内核结构
第十章 UNIX系统内核结构
10.1 UNIX系统概述 10.2 进程的描述和控制 10.3 进程的同步与通信 10.4 存储器管理 10.5 设备管理 10.6
1
第十章 UNIX系统内核结构
10.1 UNIX系统概述
10.1.1 UNIX系统的发展史 10.1.2 UNIX系统的特征
14
第十章 UNIX系统内核结构
…
10.3.4 消息机制
0
消息首部 msgh 0
…
队列 i 队列 n
消息 缓冲区
m
消息首部
3 消息首部
msgh 3
消息 缓冲区
2 消息首部
msgh 2
消息 缓冲区
…
消息队列头表
消息 缓冲区
图 10-6 消息机制中的数据结构
15
第十章 UNIX系统内核结构
10.3.5 共享存储区机制
10.2.2 进程状态与进程映像
1、进程状态
僵死
中断 中断返回
系统调用 中断
5
返回
用户态 执行 返回到用户态
9 睡眠 内存中 睡眠 6
换 出 睡眠 且换出 7
4 核心态 执行 唤醒
唤醒
抢夺 调度
8 被抢夺
2 内存中就绪
换换 出入
内存足 创建fork 1
内存不足
3 就绪且换出
图 10-4 进程的状态转换
1. 1、开放性 2. 2、多用户、 多任务环境 3. 3、功能强大, 实现高效 4. 4、提供了丰富的网络功能 5. 5、支持多处理器功能
2
第十章 UNIX系统内核结构
10.1.3 UNIX系统的内核结构 捕俘
用户级 核心级
用户程序
库函数
系统调用接口
图 10-1 UNIX核心的框图
文件子系统
高速缓存
B 正文 进 程 数据 区 表栈
a b c d e
系统区表
a b
c d
e
图 10-2 进程区表项、系统区表项和区的关系
6
第十章 UNIX系统内核结构
4、 本进程区表(Per Process Region Table)
本进程区表
系统区表
U区 a
b
进程表
c
a
b
c
图 10-3 进程的数据结构
7
第十章 UNIX系统内核结构
12
第十章 UNIX系统内核结构
10.2.4 进程调度与切换
1、引起进程调度的原因 2、 调度算法 3、进程优先级的分类 4、 进程优先数的计算
优先数 最近使用CPU的时间 基本用户优先数 2
5、进程切换
13
第十章 UNIX系统内核结构
10.3 进程的同步与通信
1、sleep与wakeup同步机制 2、信号(signal)机制 3、管道机制 4、消息机制 5、共享存储区机制 6、信号量集机制