进程:进程是程序的一次执行过程,是系统进行资源分配和处理机调度的一个独立的单位。
进程的特征:
动态性:进程的质是程序的一次执行过程,他有产生,执行和消亡的生命周期,是一个动态的过程。
并行性:进程引入的目的就是能使程序能并发进行。
独立性:进程是一个独立运行,独立获得资源,独立接受调度的基本单位。
异步性:进程是按照各自独立,不可预知的速度向前推进。
进程 = 程序段+数据段+PCB
进程控制块(PCB)是为了描述进程运动变化过程而采用的一个与进程相联系的数据结构。它用来记录系统管理进程所需要的信息,描述进程的瞬间特征。它是标识进程的唯一实体,操作系统通过PCB来感知进程的存在。PCB包括 标识符、进程优先级、进程的现行状态、CPU现场保护区、进程队列指针、进程起始地址、资源清单、家族联系和通信信息等相关内容。
简化的进程控制块
进程控制块由系统创建和管理。进程控制块可以中断一个进程的执行,并在后来恢复进程的执行,进程中断的时候,操作系统会把程序计数器和处理器寄存器保存到进程控制块中的相应的位置,进程状态相应的改为其他值,如阻塞状态或就绪状态。
进程的基本状态
就绪态:进程已经处于已经准备好的运行状态,已经分配到除CPU以外的所有必要的资源。只要获得cpu,便可以立即运行。处于就绪状态的进程进入一个就绪队列中。
运行态:进程已经获得CPU,其程序正在执行。
阻塞态:正在执行的进程由于发生某事件,暂时无法执行的状态,就是进程的执行收到阻塞。处于阻塞状态的进程进入一个阻塞队列中。
进程的基本状态图
单阻塞队列
多阻塞队列
引入挂起操作所谓挂起:就是使正在活动的进程(或执行、或就绪、或阻塞)处于静止状态,此时系统回收这些被进程占用的资源。
活动就绪:进程已经在内存里面,等待CPU。
活动阻塞:进程在内存里面等待一个时间。在事件发生,又处于活动就绪状态。
活动阻塞挂起状态称为静止阻塞:进程已经在外存中并等待一个事件。
活动就绪挂起称为静止就绪:进程已经在外存中,但只要调入内存就可以执行。
活动是在内存里面,静止是在外存里。挂起就是从内存里面将进程调到外存里面。
进程和程序的区别与联系
1、进程是一个动态的概念,程序是一个静态的概念。
2、进程具有并发性,程序没有。
3、进程是资源分配和处理机调度的独立单位,其并发性收到系统制约。
4、一个程序多次执行,对应多个进程,不同进程可以包含同一程序。