一、进程结构
组成(进程映像):
程序、数据集合、进程控制块PCB (Process Control Block )。PCB是进程存在的唯一标志。创建进程时,创建PCB;进程结束时,系统将撤消其PCB。
PCB
•进程标识信息:进程的内部和外部标识符
•处理机状态信息:通用寄存器值、指令计数器值、程序状态字PSW值、用户栈指针值
•进程调度信息:进程状态、进程优先权、进程调度的其它信息
•其它信息:程序及数据地址、进程同步和通讯机制、资源清单、链接指针
二、进程状态
•执行状态(Running)
•就绪状态(Ready)
•阻塞状态(Blocked)
•新状态(New)
•终止状态(Terminated)
三、进程控制
两种执行模式
•系统模式(又称为系统态)、控制模式或内核模式:
- 具有较高的特权
- 运行系统特定的指令,包括读/写控制寄存器的指令、基本I/O指令以及与存储器管理有关的指令,及一些特定的内存区
- 内核模式下的处理机及其指令、寄存器和内存都受到完全控制和保护
•用户模式(或用户态)
- 具有较低的特权
- 用户程序一般运行在用户模式
进程控制原语
•进程切换
•创建与终止
•阻塞与唤醒
•挂起与激活
进程创建
1.为进程分配一个唯一标识号ID 主进程表中增加一个新的表项
进程创建
2.为进程分配空间: 用户地址空间、用户栈空间、PCB空间。若共享已有空间,则应建立相应的链接。
3.初始化PCB:进程标识、处理机状态信息、进程状态
4.建立链接 :若调度队列是链表,则将新进程插入到就绪或就绪/挂起链表
5.建立或扩展其他数据结构
四、进程调度
调度方式:剥夺方式与非剥夺方式
调度类型
•批处理调度、分时调度、实时调度和多处理机调度
•长程调度(作业调度要创建新进程)、中程调度(挂起,激活不用创建新进程)、短程调度(进程调度)
•I/O调度
调度算法
先来先服务、短进程优先、时间片轮转调度法、基于优先级的调度算法、反馈调度法
五、引入线程
•目标:既能提高进程并发度,又能降低系统的额外开销。
•实现:将进程的资源申请和调度属性分开。即进程作为资源的申请和拥有者,但不作为调度的基本单位。这样,就产生了线程的概念。
•线程是进程中的一个实体,是独立调度和分派的基本单位。
•线程自身基本上不拥有系统资源,只拥有少许运行中必不可少的私有资源。线程可与同属一个进程的其它线程共享进程的全部资源。
六、进程的互斥与同步
•软件方法
•硬件方法
•信号量方法(通用)
•管程方法
•消息传递方法