进程的基本概念

进程

1、程序、作业和进程的区别与关系:

程序(program):用来描述一个计算机能完成的一个独立功能,程序被理解为”一个在时间上有严格次序的操作序列集合“,一般以静态文件形式存在。

作业(JOB):用户向计算机提交的任务实体,可以是一个程序,也可以是从键盘上输入的命令。

进程(process):具体完成用户任务的运行实体,分配资源和调度的基本单位。

程序被提交–>作业进入内存–>进程

​ 在多道环境下,同一时刻,系统中有多件事情在同时做,程序运行失去了封闭性,运行也是走走停停,继续以程序的概念来管理程序的运行,已经无法正确有效的管理多道程序设计带来的动态特征,及程序之间的相互制约关系,因此引入一个新的概念来更好的对并发进行管理和控制,这个新的概念就是——进程。

进程的组成:程序+数据+进程控制块(PCB)

2、进程的定义

对于进程的定义,有多种不同的说法:

传统的进程定义:

  • 一个正在执行的程序

  • 计算机中正在运行的程序的一个实例

  • 可以分配给处理器并由处理器执行的一个实体

  • 有若干线程、一个当前状态和一组相关的系统资源所刻画的活动单元

    这些说法都对,但引入线程后,第四种说法显得更为贴切

    大多数情况下我们是这样定义的:是程序在给定数据集合上的一次执行过程,是系统进行资源分配和调度运行的独立单位。

系统进程:系统进行软硬件资源管理的进程,其相互关系由操作系统负责协调,是系统资源的实际享有者。

用户进程:可以独立执行的用户程序段,不插手资源管理,相互关系由用户安排,调度级别低于系统进程。

3、进程的特征
  • 动态性(最基本特征):进程是动态变化的,每个进程都有一个从创建到消亡的过程
  • 并发性:多道程序中每个进程的执行过程,总是与其他进程的执行过程并发执行的–重要特征
  • 独立性:多个进程同时存在内存,独立运行,独立进行资源分配和调度
  • 异步性:各进程按各自独立不可预知的速度向前推进。从而导致程序执行不可再现性
  • 制约性:资源共享形成间接制约;同步合作产生直接制约
  • 结构性:由程序段,数据和PCB三部分组成
4、进程的状态及转换

①三状态

  • 运行状态(Run),进程正在处理机上运行的状态。该进程已经获得必要的资源,也获得了处理机,用户程序正在处理机上运行

  • 阻塞状态(Wait),也叫等待状态或睡眠状态 进程等待某种事件完成(例如,等待I/O操作完成)而暂时不能运行的状态。此时,即使分配给它处理机,它也不能运行

  • 就绪状态(Ready),等待处理机的状态。该进程运行所需要的其他资源都得到满足,但因处理机个数少于进程个数,该进程不能运行,必须等待分配处理机资源

    在这里插入图片描述

②五状态

  • 新建状态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中,通常是还没有加载到主存中的新进程

  • 终止状态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消

    在这里插入图片描述

③七状态

在一个没有使用虚存的系统中,每个被执行的进程必须完全载入内存,因此,所有队列中的所有进程必须驻留在主存,而且,如果进程不断创建,系统资源不能满足这些进程的需求,这个时候就需要把某些进程(全部或一部分)换到辅存中,暂时不参与进程调度,于是就引入了挂起状态。

就绪挂起:进程在辅存中,但是只要被载入贮存就可以执行

阻塞挂起:进程在辅存中并等待一个事件的发生
在这里插入图片描述

5、进程控制

①进程切换

​ 进程切换实质是回收当前运行进程对CPU的控制权,并将CPU控制权转交给新调度的就绪进程

​ 进程上下文:一个进程运行时:CPU所有寄存器中的内容、进程的状态以及运行栈中的内容被称为进程的上下文。进程上下文是操作系统用来管理和控制进程的内部数据集合。

  • 系统级上下文:内核进程使用的进程上下文信息集合,如PCB,页表,段表等
  • 寄存器上下文:CPU中所有寄存器的信息集合,如通用寄存器、指0令寄存器、程序状态字寄存器和栈指针等
  • 用户级上下文:用户进程访问和修改的进程上下文信息集合,主要。包括进程的程序段、数据段、用户栈和共享存储区

②进程切换的时机

  • 中断。中断发生时,操作系统保存当前运行进程(称为旧进程)的现场信息,调度新进程运行
  • 异常。当CPU在一条指令执行时,检查到有一个或多个预定义的条件或错误,发生了异常,这时,系统终止当前运行进程的执行,CPU转去执行异常处理程序
  • 系统调用。阻塞型系统调用发生时,则当前运行进程被阻塞,此时CPU转去执行进程调度程序

③进程切换步骤

  • 当前运行进程被中断时保存其CPU现场信息
  • 对被中断的当前运行进程进行PCB更新,包括改变进程状态和其他相关信息
  • 将被中断的当前运行进程的PCB移入适当的队列(时间片到则移入就绪队列,因某事件阻塞则移入相应的阻塞队列
  • 由进程调度程序调度选中另一个就绪进程,为其设置执行的上下文环境并对其PCB进行更新
  • 修改新进程的地址空间,更新新进程的内存管理信息
  • 恢复被选中进程最后一次进程上下文切换时所保存的CPU现场信息

④进程控制原语

​ 原语通常由若干条指令组成,是不可分割和不可中断的程序,用来实现某个特定的功能。原语是操作系统核心的一个组成部分,它必须在核心态下执行,并且常驻内存。

​ 原语的原子性:一个不可分割的整体,一旦启动了原语程序,则必须一下子执行完,中间不能插入其他程序的执行序列。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值