操作系统之进程
进程的基础
进程传统的定义:
- 进程是程序的一次
执行过程
- 进程是一个程序及其数据在处理机上顺序执行时所
发生的活动
- 进程是具有独立功能的程序在数据集合上
运行的过程
,他是系统进行资源分配和调用的独立单位
进程是进程实体的运行过程(进程是动态的,进程实体静态),是系统进行资源
分配和调度`的一个独立单位,进程 强调 动态性
进程的组成
PCB:进程的管理层(操作系统)所需的数据都在PCB
数据段:程序本身的运行所需的数据
进程的组织
进程组织谈论的是 多个进程之间的组织的方式
进程的特征
进程和程序是不同的概念 ,相比程序,进程拥有以下特征:
小节:
动态性是进程最基本的特征
进程是资源分配、接受调度的基本单位
异步性会导致并发程序执行结果的不确定性
进程的状态及转换
进程是程序的一次执行
,在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,因此,进程的状态是会变化的。为了方便操作系统对进程管理,需要将进程分配为几个状态;
进程的三种基本状态:
- 运行状态 : 占用CPU ,并在CPU上运行 (单核CPU每一个事件只能一个进程运行态)
- 就绪状态: 已经具备运行条件,由于没有空闲CPU,暂时不能运行 (万事俱备,只欠CPU)
- 阻塞状态: 因等待某一事件而暂时不能运行 (例如等待操作系统分配打印机。。)
其他状态:
创建状态: 进程正在被创建,操作系统为进程分配资源、初始化PCB
终止状态: 进程正常从系统中撤销 ,操作系统回收进程拥有的资源 、撤销PCB
进程转换流程
注意:不能有阻塞态直接转换为运行态 ,也不能由就绪态直接转化为阻塞态(因为阻塞态是进程主动请求的,需要在进程运行时才能发出请求)
进程控制
什么是进程控制?
进程控制的主要功能时对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。
简单理解:实现进程状态的转换
如何实现进程控制?(了解即可)
用原语实现进程控制。原语的特点是执行期间不允许中断,只能一气呵成,这种不能被中断的操作即原子操作。原语采用 “关中断指令”
和 “ 开中断指令”
实现,其为核心态
下执行的特权指令
不允许中断,只能一气呵成,这种不能被中断的操作即原子操作。原语采用 “关中断指令”
和 “ 开中断指令”
实现,其为核心态
下执行的特权指令