进程模型
进程定义
1. 一个进程就是一个正在执行的程序实例,包括程序计数器,寄存器,变量当前值。
2. 进程是某种类型的一个活动,它有程序,输入,输出,状态。单个处理器可以被
若干个进程共享,它使用某种调度算法决定何时停止一个进程的工作,并转而为另
外一个进程服务。如果一个程序运行了两边,算两个进程。
进程的创建
1. 系统初始化
2.一个正在运行的进程发出系统调用
3.用户请求创建新进程(Unix fork函数)
4.批处理作业初始化
进程的终止
1. 正常退出(自愿)
2. 出错退出(自愿)
3. 严重错误(非自愿)
4. 被其他进程杀死(非自愿)
进程的层次结构
1. 进程树的概念基于图论中的有向树的概念。一个进程树由若干个系统
进程和它们之间的关系构成。进程树中的每个进程是树的节点。如果进
程A创建了进程B,就称A是B的父进程,B是A的子进程。若一个进程不
是任何其它进程的子进程,则称之为根进程或进程家族的祖先。
进程的状态
#进程的三态模型
1) 运行态(该时刻进程实际占用CPU)
2) 就绪态(因为其他进程正在运行而等待)
3) 阻塞态(除非某种外部事件发生,否则不能运行)
#进程的五态模型
1) 初始状态:表示该进程初步准备占有CPU
2) 就绪状态:表示该进程已经准备好占有CPU
3) 执行状态:表示该进程占有CPU
4) 等待状态:表示进程因为某一种原因而暂时不能占有CPU
5) 终止状态:表示进程已经执行结束
进程的状态图
1.三态图

5.png
2.五态图

五态图.png
进程的实现
1.操作系统维护一张表格(一个结构数组),即进程表。每个进程占用一个进程表项。
表项中的重要信息有: 程序计数器,堆栈指针,内存分配状况,打开的文件状
态,账号,调度信息。

进程表信息.png
网友评论