进程是程序在某个数据集合上的一次运行活动
数据集合:软/硬件环境,多个进程共享的环境
进程的特征
动态性
进程是程序的一次执行过程,动态产生/消亡
并发性·
进程同其他进程一起向前推进;
异步性
进程按各自速度向前推进
独立性
进程是系统分配资源和调度CPU的单位;
进程与程序的区别
动态与静态
进程是动态的:程序的一次执行过程 程序是静态的:一组指令的有序集合
暂存与长存
进程是暂存的:在内存驻留
程序是长存的:在介质上长期保存
程序和进程的对应
一个程序可能有多个进程
按使用资源的权限
系统进程:指系统内核相关的进程
用户进程:运行于用户态的进程
按对CPU的依赖性
偏CPU进程:计算型进程
偏IO进程:侧重于IO的进程
状态
运行状态(Running )
进程已经占有CPU,在CPU上运行
就绪状态(Ready )
具备运行条件但由于无CPU,暂时不能运行
阻塞状态(Block )【等待(Wait)状态】
因为等待某项服务完成或信号不能运行的状态
如等待:系统调用,I/O操作,合作进程信号…
就绪→运行:进程调度
运行→就绪:时间片到;被抢占
运行→阻塞:请求服务;等待信号
阻塞→就绪︰服务完成;信号来到
也有新建和终止状态
可运行态
就绪 TASK_RUNNING在就绪队列中等待调度
运行:正在运行
阻塞(等待)态
浅度阻塞:TASK_INTERRUPTIBLE(可中断)能被其他进程的信号或时钟唤醒。
深度阻塞:TASK_UNINTER