title: 进程
date: 2017-04-10 14:02:45
categories: 编程基础
tags: [进程]
进程 (Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是OS结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
——《百度百科》
进程一般有三个基本状态: 就绪状态、执行状态和阻塞状态(等待状态)。
-
就绪状态 (ready)
进程已获得除处理器外所有需要的资源,只等分配了处理器就可执行。
-
运行状态 (running)
进程占用处理器资源,此状态下的进程数目小于等于处理器的数目。
-
阻塞状态 (blocked)
由于进程等待某种条件,在条件满足前无法继续执行。
- running -> blocked 等待外设,等待主存等资源分配或等待人工干预
- blocked -> ready 等待的条件已满足
- runnning -> ready 外界原因使运行状态的进程让出处理器
- ready -> runnning 系统按某种策略选中ready队列中某个进程
进程控制块是OS核心的一种数据结构,主要表示进程状态。系统可以用PCB来控制和管理进程,所以说它是系统感知进程存在的唯一标志。
程序计数器、进程状态、CPU暂存器、CPU排班法、存储器管理、会计信息、输入输出状态
- 动态性 :进程的实质是程序的一次执行过程,动态产生,动态消亡。
- 并发性 :任何进程都可以和其他进程一起并发执行。
- 独立性 :进程是可以独立运行的基本单位,也是系统分配资源和调度的独立单位。
- 异步性 :由于进程间的相互制约,使进程具有执行的间断性,进程按各自独立的、不可预知的速度向前推进。
- 结构特征 :进程由程序、数据和PCB三部分组成。
FIFO先进先出算法;SJF最短作业优先算法;SRTF最短剩余时间优先算法
RR时间片轮转算法;HPF最高优先级算法;多级队列;最短进程优先;保证调度;彩票调度;公平分享调度