2.1处理器与寄存器
2.1.1 处理器及其部件
PC:指向下条指令地址
flag:算术逻辑单元返回结果存储
访问内存中的数据的器件:MAR MDR 控制单元
2.1.2 用户程序可见寄存器
- 减少程序员访问主存存储器的次数,提高指令执行效率
- 所有程序可用,包括应用程序和系统程序
AX:× /,字的输入输出,中间结果的缓存
BX:存储器指针
CX:串操作、循环控制的计数器
AR:地址寄存器
SI:存储器指针、串指令中的源操作数指针
DI:存储器指针、串指令中的目的操作数指针
栈指针
BP:存储器指针、存取堆栈的指针
SP:堆栈的栈顶指针
段地址
CS:代码段寄存器
SS:堆栈段寄存器
DS:数据~
ES:附加~
2.1.3 控制与状态寄存器
控制处理器的操作,主要被具特权的OS程序使用
PC:程序计数器
IR:指令寄存器
CC:条件码。CPU为指令操作结果设置的位,标志正/负/溢出等结果
2.1.4 程序状态字PSW
记录当前程序运行的动态信息
2.2 指令与处理器模式
2.2.1 机器指令及其执行过程
机器指令是计算机系统执行的基本命令,是 中央处理器执行的基本单位
指令流水线
2.2.2 特权指令与非特权指令
保护与计算机核心资源有关的特殊指令会被保护,只能被内核使用的指令。
处理器模式及其切换
2.3 中断
2.4 中断源
2.5 中断系统
2.6 多中断的响应与处理
2.6.1 中断屏蔽
当计算机检测到中断时,中断装置通过中断屏蔽位决定是否响应已发生的中断
中断优先级
中断的嵌套处理
多中断的响应与处理
2.7 进程及其状态
2.7.1 进程
进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动;是OS进行资源分配和调度的单位,OS为正在运行程序建立的一个管理实体。
可再入代码:共享的代码,是纯代码的,如编辑器
2.7.2 进程挂起
OS无法预期进程的数目与资源需求,计算机系统在运行过程中可能出现资源不足的情况
运行资源不足表现为性能低和死锁两种情况
解决办法:进程挂起.剥夺某些进程的内存及其他资源, 调入OS管理的对换区,不参加进程调度,待适当时候再调入内存、恢复资源、参与运行
挂起态与等待态有着本质区别,后者占有已申请到的资源处于等待,前者没有任何资源
2.8 进程的数据描述
2.8.1 进程控制块 PCB
OS用于记录和刻画进程状态及环境信息的数据结构,通过PCB全面管理进程的物理实体。
2.8.2 进程的内存映像 Process Image
某一时刻进程的内容及其执行状态集合
进程控制块: 保存进程的标识信息、状态信息和控制信息
进程程序块: 进程执行的程序空间
进程数据块: 进程处理的数据空间,包括数据、处理函数的用户栈和可修改的程序
核心栈:进程在内核模式下运行时使用的堆栈,中断或系统调用
进程映像是内存级的物理实体,又称为进程的内存映像
2.8.3 进程上下文 Process context
刻画了进程的执行情况
2.9 进程的管理
2.9.1 进程管理程序的概念级组成
2.9.2 进程队列模型和队列管理模块
队列的进程可以通过PCB中的队列指引元采用单/双指引元或索引连接。
队列管理和资源调度围绕队列管理展开
2.9.3 进程的控制与管理程序的实现
进程创建:进程表加一项,申请PCB并初始化, 生成标识,建立映像,分配资源,移入就绪队列[见3.1.5存储管理的主要模式]
进程撤销:从队列中移除,归还资源,撤销标识, 回收PCB,移除进程表项
进程阻塞:保存现场信息,修改PCB,移入等待队列,调度其他进程执行
进程唤醒:等待队列中移出,修改PCB,移入就绪队列(该进程优先级高于运行进程触发抢占)
进程挂起:修改状态并出入相关队列,收回内存 等资源送至对换区
进程激活:分配内存,修改状态并出入相关队列
其他:如修改进程特权
2.10 进程切换和模式切换
本质上是被中断运行进程与待运行进程的上下文切换
模式切换在2.2
中断相关在2.3
2.11 多线程技术
2.11.1 单线程结构进程
2.11.2 多线程结构进程
2.12 KLT与ULT
多线程环境下进程与线程的概念
2.12.3 多线程环境下线程的状态与调度
与线程状态变化有关的线程操作有:
孵化、封锁、活化、剥夺、指派、结束
2.12.4 jacketing
把阻塞式系统调用改造成非阻塞式的
当线程陷入系统调用时,执行jacketing程序
由jacketing 程序来检查资源使用情况,决定是否执行进程切换或多线程环境下线程的传递控制权给另一个线程
2.13 多线程实现的混合策略
2.14 处理器调度的层次
2.14.1 处理器调度的概念
高级调度-长程调度:决定能否加入到执行的进程池中
中级调度-平衡负载调度:决定主存中的可用进程集合
低级调度-处理器调度-短程调度-进程调度:决定哪个可用进程占用处理器执行
进程的 五态模型
2.14.2 处理器调度层次与关键状态转换
蓝线:某些OS允许父进程杀死子进程
2.15 处理器调度算法
2.15.1 处理器调度算法的原则
2.15.2 分级调度算法
多队列策略,反馈循环队列