第三章 进程线程模型
进程
1、并发环境与多道程序设计
(1)程序的顺序执行
程序:指令或者语句序列;体现了某种算法;所以程序是顺序的
特点:顺序性;封闭性;程序执行结果的确定性;程序结果的可再现性
(2)多道程序设计
定义:计算机能够同时处理多个具有独立功能的程序;以增强系统的处理能力和提高机器的利用率
特点:独立性;随机性;资源共享
(3)程序的并发执性
定义:在一定时间内一台机器上有两个或者两个以上的程序运行或者处于未结束的状态,并且次序不确定(交替使用CPU)
特征:并发程序之间存在相互制约关系;程序与计算不在一一对应;并发的程序结果不再现(即使初始条件相同结果可能不同;因为程序的执行没有顺序了)
2、进程模型
1、进程的概念:进程是正在执行的程序;可分为系统进程和用户进程;进程和程序之间有联系又有区别(程序是进程的一部分;程序是静态;进程是动态的)
2、进程特点:并发性、动态性、独立性、交往性、异步性
3、进程的基本状态以及状态
(1)进程的基本状态
三状态进程模型;五状态进程模型;七状态进程模型
(2)三状态进程模型
就绪状态
:进程分配到除CPU以外的所有资源;就绪队列
运行状态
:获得CPU的使用权;从就绪转换到运行状态
阻塞状态
:运行状态转化为阻塞状态;阻塞队列
创建状态
:新进程刚刚建立;还未放入就绪队列当中
结束状态
:一个进程已经结束;但是还未从系统队列中移除,尚未撤销的状态
挂起状态
:将一个进程从内存转到外存
激活状态
:将一个进程从外存换到内存
(3)进程状态的转换
新状态——就绪状态
:当就绪队列空闲的时候将新状态放入
就绪状态——执行状态
:获得CPU使用权
执行状态——阻塞状态:进程由于某种事件(I/O请求)中断
执行状态——结束状态:进程正常结束或者异常错误
执行状态——就绪状态
阻塞状态——就绪状态:完成输入出响应(I\O完成)
4、PCB进程控制块
1、PCB表的组织方式
(1)线性方式
:不分状态的放在一个连续的表当中;简单;不需要额外的开销
(2)索引方式
:状态相同的进程;分别设置PCB;需要额外的空间存放索引
(3)链接方式
:状态相同的进程;通过PCB的连接字来构成队列
2、进程控制
(1)进程的创建、撤销以及各种进程之间的转换由具有特定功能的原语实现
3、UNIX的fork函数
(1)定义:父进程通过fork()创建子进程;只执行一次;但是返回两个值
子进程和父进程执行相同的代码段,子进程fork为0,父进程不为0
5、进程状态
1、进程的创建
(1)创建一个PCB;赋予一个同意的进程标识符;为进程分配空间;初始化进程控制块
2、进程的撤销
(1)调用中止原语;引起进程结束的三个事件:进程的正常结束;进程遇到故障被迫中止;进程应对外界的请求而终止运行
3、进程的阻塞
(1)引起阻塞的事件:请求系统服务;启动某种操作;新数据尚未到达;无新工作可做
4、进程的唤醒
线程
线程的引入
进程不能更好的并发执行;所以引入线程:"将进程的两个属性分开"
标签:状态,第三章,模型,程序,PCB,线程,进程,就绪 From: https://www.cnblogs.com/gsupl/p/18324239