- 1、本文档共156页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1操作系统进程管理汇编
第三章进程管理
本章要点
基础:进程描述及控制
策略:进程调度
实现:互斥与同步
避免:死锁与饥饿
饥饿:指长时间等待,没有得到回答
解决:几个经典问题
关于:进程通信
3.1 进程的引入
程序顺序执行
程序:源代码程序、目标程序和可执行程序
程序执行:编辑、编译、链接、执行
程序的结构:顺序结构、分支结构和循环结构
程序顺序执行
程序顺序执行的特征:顺序性、封闭性、可再现性
程序并发执行
多道程序设计技术:多个程序并发执行
程序并发执行时的特征:间断性、非封闭性、不可再现性
程序并发执行引发的问题
协调各程序的执行顺序
例如,当输入的数据还未全部输入内存时,计算必须等待
多个执行程序共享系统资源,程序之间可能会相互影响,甚至影响输出结果
选择哪些、多少个程序进入内存执行?
内存中的执行程序谁先执行,谁后执行?
内存如何有效分配?
进程的概念
定义:可并发执行的程序,在一个数据集合上的运行过程。
申请/拥有资源 ∽ 调度(线程)
程序:静态概念,是指令和数据的集合,可长期存储
程序属于进程
进程与程序对应关系:
- 一个程序可以对应一个进程或多个进程
- 一个进程可以对应一个程序,或者一段程序
进程的特征
动态性
并发性
独立性
异步性
引入进程带来的问题
增加了空间开销 :为进程建立数据结构
额外的时间开销 :管理和协调、跟踪、填写和更新有关数据结构、切换进程、保护现场
更难控制 :
- 协调多个进程竞争和共享资源如何预防
- 解决多个进程因为竞争资源而出现故障
处理机的竞争尤为突出
进程的结构
组成(进程映像): 程序、数据集合、进程控制块PCB (Process Control Block )
PCB是进程存在的唯一标志。创建进程时,创建PCB;进程结束时,系统将撤消其PCB。
PCB
进程标识信息:进程的内部和外部标识符
处理机状态信息:通用寄存器值、指令计数器值、程序状态字PSW值、用户栈指针值
进程调度信息:进程状态、进程优先权、进程调度的其它信息
其它信息:程序及数据地址、进程同步和通讯机制、资源清单、链接指针
PCB的组织方式之一-- 单一队列
所有进程的PCB通过链表组织成为一个单一队列。适用于进程数目不多的系统。如,Windows操作系统。
PCB的组织方式之二--表格结构
PCB按进程状态不同,组织成不同的表格:就绪进程表、执行进程表(多机系统中)及阻塞进程表
系统分别记载各PCB表的起始地址
PCB的表格结构
PCB的组织方式之三--多级队列
PCB按进程状态不同用链接指针组成不同队列:就绪进程队列、阻塞进程队列(可按阻塞原因不同,分别组织)
系统分别记载各PCB链表的起始地址
PCB多级队列
3.2 进程的状态
进程执行轨迹
进程的轨迹:进程执行的指令序列,用以观察处理机的执行过程。
例,假设内存中有3个进程A、B、C,他们的程序代码已全部装入内存。若A、B两进程需要执行12条指令,C进程需要执行4条指令,且C进程执行到第4条指令处必须等待I/O
假设分派程序分派处理机需要依次执行指令序列:s+0,s+1,…,s+5
分派程序不按时间片进行执行,主要任务是执行程序之间的互相切换执行
进程A的执行轨迹为a+0,a+1,a+2,a+3,…
进程B的执行轨迹为b+0,b+1,b+2,b+3,…
进程C的执行轨迹为c+0,c+1,c+2,c+3,当它执行到c+3指令时遇到了I/O指令,需要释放处理机,进行输入/输出操作
29 s+0
30 s+1
31 s+2
32 s+3
33 s+4
34 s+5
1 a+0
2 a+1
a+2
a+3
a+4
a+5
35 a+6
36 a+7
37 a+8
38 a+9
39 a+10
40 a+11
7 s+0
8 s+1
9 s+2
10 s+3
11 s+4
12 s+5
13 b+0
14 b+1
15 b+2
16 b+3
17 b+4
18 b+5
25 c+0
26 c+1
27 c+2
28 c+3
41 s+0
s+1
s+2
s+3
s+4
s+5
19 s+0
20 s+1
21 s+2
22 s+3
23 s+4
24 s+5
7 b+6
48 b+7
49 b+8
50 b+9
51 b+10
52 b+11
两状态进程模
文档评论(0)