管理學院 工業工程與管理學程 碩士班 - ir.nctu.edu.tw · 表 四:台灣地區團結圈決賽案例「方案的擬定」階段的手法工具運用概況.....9 表
操作系统习题课(一) - PKU · 2019-01-21 · 进程控制块pcb...
Transcript of 操作系统习题课(一) - PKU · 2019-01-21 · 进程控制块pcb...
中断的调用过程
中断装置
PSW PC
CPU
PSWa PCa
PSWb PCb
……
系统堆栈
向量代号
中断处理程序地址
……
中断向量表
0 D0
1 D1
255 D255
中断处理程序
程序
中断断点
1
2 3
4
5
处理器接收中断信号
保护现场 分析中断向量
调用中断处理程序
将处理器置为中断处理程序的入口地址
中断与异常的区别? 中断是由与现行指令无关的中断信号触发的,是异步
的,中断的发生与CPU处于用户模式或内核模式无关,通常在两条机器指令之间才可响应中断,一般而言,中断处理程序提供的服务不是为当前进程所需要的,如时钟中断等,中断允许嵌套
异常则是处理器正在执行的现行指令引起,因而一条指令允许陷入,通常异常处理程序提供的服务是为当前进程所用的,异常多数为一重处理异常包括出错和陷入:区别是它们发生时保存的返回指令地
址不同出错保存指向触发异常的那条指令
陷入保存触发异常的那条指令的下一条指令;
当从异常返回时,出错会重新执行那条指令,而陷入不会重新执行那条指令
如缺页异常是一种出错,而陷入主要应用在程序调试中
异常处理过程可能发生中断,反之则不会发生
强迫性中断事件 自愿性中断事件
保存现场信息 保存现场信息
取出中断码 取出访管号
分析中断原因 分析何种系统调用
转相应处理程序
是否中断嵌套
由系统恢复现场由系统恢复现场 转低级调度程序
返回上层中断返回目态程序
需要切换进程
T F
F T
进程—概念
进程创立步骤:
1. 分配进程控制块
2. 初始化机器寄存器
3. 初始化页表
4. 将程序代码从磁盘读进内存
5. 将处理器状态设置为“用户态”
6. 跳转到程序的起始地址(设置程序计数器)
硬件将第五、第六步作为一个步骤完成
UNIX:fork
Windows: CreateProcess
解答:处于运行态进程个数不能大于处理器个数,处于就绪态和等待态的进程可以有多个
如:对于单CPU计算机:运行进程最多1个,最少0个;就绪进程最多N-1个,最少0个;等待进程最多N个,最少0个;
概念:进程、进程的基本状态;
进 程 概 念(一)
问题:一个转换发生,是否另一个转换一定发
生?找出所有的可能。
进 程 概 念(三)
解答: 就绪—运行: 不一定(系统中仅一个进程)
转换条件:被调度程序选中
运行—就绪:不一定(讨论就绪队列的长度及进程
优先权)
转换条件:时间片到时,或有更高优先级的进程出现
运行
就绪 等待
进程的状态
三状态模型
运行态(Running):进程占有CPU,并在CPU上运行
就绪态(Ready):一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)
等待态(Blocked):指进程因等待某种事件的发生而暂时不能运行的状态
即使CPU空闲,该进程也不可运行
运行
就绪 等待
进程状态转换
Ready
Blocked
Running Exit
Blocked
Suspend
New
Ready
Suspend
Admit Admit
Suspend
Release
Event
Wait
Event
Occurs
Event
Occurs
Activate
Suspend
Activate
Suspend
Dispatch
Timeout
进程状态转换 挂起(Suspend):把一个进程从内存转到外存;可能有以下几种情况:阻塞→阻塞挂起:没有进程处于就绪状态或就绪进程要求更多内存资源时,发生这种转换,以提交新进程或运行就绪进程
就绪→就绪挂起:当有高优先级阻塞(系统认为会很快就绪的)进程和低优先级就绪进程时,系统会选择挂起低优先级就绪进程
运行→就绪挂起:对抢占式系统,当有高优先级阻塞挂起进程因事件出现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态
收容(Admit):收容一个新进程,进入就绪状态或就绪挂起状态。进入就绪挂起:考虑系统当前资源状况和性能要求,将新建进程对换出去成为就绪挂起状态;
进程控制块PCB
系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程
系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志
进程与PCB是一一对应的
记录调度信息、现场信息等