进程
进程的定义和性质(进程的组成:PCB(进程存在唯一标志),程序,数据,工作区):
1)进程是程序的一次执行。
2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。也是操作系统进行资源分配和保护的基本单位。
进程的性质:
动态性:有生命周期,存在不同的状态;
并发性:执行时间可以重叠;
独立性:独立执行,是资源分配和调度的独立单位;
制约性:可能存在相互制约关系;
异步性:各进程执行时间相对独立,不确定;
结构性:拥有固定结构。
进程与程序的区别:
(1)程序是静态的,进程是动态的。程序是有序代码的集合;进程是程序的一次执行。
(2)进程是暂时的,程序是永久的。
(3)进程还是操作系统资源分配和保护的基本单位,程序没有此功能。
(4)进程与程序的不是一一对应关系。一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
(5)进程与程序的结构不同。
进程状态及转换(阻塞->就绪->运行->阻塞):
运行:进程占有处理机,处理机正在执行该进程的程序。
阻塞:也叫等待态,进程因等待某种条件无法运行。将进程插入某个相应的阻塞队列中。
就绪:进程已获得除处理机外的所需资源,等待分配处理机执行。
进程上下文切换(发生在内核态):
是让处于运行态进程中断运行,让出处理器,保存老进程状态,装入被保护了的新进程的状态,以便新进程运行
进程上下文:把进程物理实体和支持进程运行的环境合称为进程上下文。进程的运行被为是在上下文中执行。
用户级上下文:程序块、数据块、用户栈等
系统级上下文:PCB、内存管理信息、核心栈
寄存器上下文:处理器现场信息
进程控制:
进程控制的主要任务是:创建和撤销进程以及进行进程间的状态转换,
包括:
创建一个进程
撤销一个进程
改变进程状态
这些由操作系统内核通过执行各种原语完成。
【原语:由若干条机器指令构成的可完成特定功能的程序段,它是一个 “原子操作”过程,作为一个整体而不可分割——要么全都完成,要么全都不做。
原语分类:
进程控制原语
进程通信原语
进程管理原语
其他方面原语】