07-处理机的定义与进程控制

进程的定义、组成、组成方式

程序

#专业课
程序:就是一个指令序列.


单道程序阶段

  1. 早期的计算机只支持单道程序,CPU和内存是联的.在这个阶段,内存中只会存放运行一个程序
  2. 内存中包含了程序段、数据段
  3. 程序的代码放在程序段中,程序运行的数据放在数据段内(如变量)
  4. 程序段存放在内存的低地址部分,数据段存放在内存的高地址部分

多道程序阶段

  1. 内存中同时放入多道程序,各个程序的代码、运算数据存放的位置不同
  2. 为了方便操作系统管理,完成各程序并发执行,引入了进程进程实体的概念
进程实体
  1. 操作系统为每个运行的程序配置了一个数据结构,称为进程控制块(PCB),用来描述进程的各种信息(如程序代码存放位置)
  2. 进程实体:由PCB、程序段、数据段构成,一般来说我们把进程实体简称为进程
  3. 例如创建进程,实质上是指创建进程实体中的PCB,而撤销进程,实质上是撤销进程实体中的PCB
  4. PCB是进程唯一存在的标志

进程的定义

  1. 进程是程序的一次执行过程
  2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
  3. 进程是具有独立功能的程序在数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
  4. 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
  5. 进程是动态的,进程实体的静态的

进程的组成

  1. 程序段[程序运行本身需要的数据]
    1. 程序代码存放在此
  2. 数据段[程序运行本身需要的数据]
    1. 程序运行时使用、产生的运算数据。如全局变量,局部变量、宏定义的常量就存放在数据段内
  3. PCB[进程管理相关的数据存放在此]
    1. 操作系统通过PCB来管理进程,因此PCB中应该包含操作系统对其进行管理所需的各种信息
    2. PCB的组成包括了进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息
    3. 进程描述信息包括了进程标识符PID、用户标识符UID
    4. 进程控制和管理信息包括了进程当前状态、进程优先级
    5. 资源分配清单包括了程序段指针、数据段指针、键盘、鼠标
    6. 处理机相关信息包括了各种寄存器值

进程的组织

进程的组织方式分为链接方式和索引方式


链接方式

  1. 链接方式
    1. 按照进程将PCB分为多个队列
    2. 操作系统持有指向各个队列的指针
    3. 指针包括了执行指针、就绪队列指针、阻塞队列子指针
      1. 执行指针:指向当前处于运行态的进程
      2. 就绪队列指针:指向当前处于就绪态的进程
      3. 阻塞队列指针:指向当前处于阻塞态的进程,很多操作系统还会根据阻塞原因的不同,再分为多个阻塞队列

索引方式

2.索引方式
1. 根据进程状态的不同、建立几张索引表
2. 操作系统持有指向各个索引表的指针

进程的特征

进程具有动态性、并发性、独立性、异步性、结构性


动态性

  1. 动态性:进程是程序的一次执行过程,是动态地产生、变化和消亡的

并发性

  1. 并发性:内存中有多个进程实体,各进程课并发的执行

独立性

  1. 独立性:进程是能够独立运行、独立获得资源、独立接受调度的基本单位

异步性

  1. 异步性:各进程按照各自独立的、不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题

结构性

  1. 结构性:每个进程都会配置一个PCB.结构上看,进程由程序段、数据段、PCB三部分组成

进程控制

进程控制基本概念

进程控制的主要功能是指对系统中的所有进程实施有效的管理,它具有创建新进程,撤销已有进程,实现进程切换的功能


进程控制实现

我们用原语来实现进程的控制.原语的特点是执行期间不允许中断,只能一气呵成
原语采用‘关中断指令’和‘开中断指令’


进程控制相关原语

进程控制会导致进程状态的切换。无论哪个原语,要做的无非三件事情:

  1. 更新PCB中的信息
    1. 如修改进程状态标志位、将运行环境保存到PCB,从PCB恢复运行环境
    2. 所有进程控制原语一定会修改进程状态标志
    3. 剥夺当前运行进程的CPU使用权必然需要保存其运行环境
    4. 某进程开始运行前必须要恢复其运行环境
  2. 将PCB插入合适的队列
  3. 分配/回收资源

不同原语的分类与情形


进程的创建
创建原语
  1. 创建原语
    1. 申请空白PCB
    2. 为新进程分配所需的资源
    3. 初始化PCB
    4. 将PCB插入就绪队列
引起进程创建的事件
  1. 引起进程创建的事件
    1. 用户登录:分时系统中,用户登录成功,系统会为其创建一个新的进程
    2. 作业调度:多道批处理系统中,有新的作业放入内存时,会为其创建一个新的进程
    3. 提供服务:用户向操作系统提出某些请求时,会创建一个进程处理该请求
    4. 应用请求:由用户进程主动请求创建一个子进程

进程的终止
撤销原语
  1. 撤销原语
    1. 从PCB集合中找到终止进程的PCB
    2. 若进程正在执行,立刻剥夺CPU,将CPU分配给其他进程
    3. 终止其所有子进程
    4. 将该进程拥有的所有资源归还给父进程或操作系统
    5. 删除PCB
引起进程终止的事件
  1. 引起进程终止的事件
    1. 正常结束
    2. 异常结束 [[001-1-5-中断#中断和异常]]
    3. 外界干预

进程的阻塞
阻塞原语
  1. 阻塞原语
    1. 找到要阻塞的进程对应的PCB
    2. 保护进程运行现场,将PCB状态信息设置为“阻塞态”,暂时停止进程运行
    3. 将PCB插入相应事件的等待队列
引起进程阻塞的事件
  1. 引起进程阻塞的事件
    1. 需要等待分配系统的某种资源
    2. 需要等待相互合作的其他进程完成工作

进程的唤醒
唤醒原语
  1. 唤醒原语
    1. 在事件等待队列中找到PCB
    2. 将PCB从等待队列中移除,设置进程为就绪态
    3. 将PCB插入就绪队列,等待被调度
引起进程唤醒的事件
  1. 引起进程唤醒的事件
    1. 等待的事件发生

进程的切换
切换原语
  1. 切换原语
    1. 将运行环境信息存入PCB
    2. PCB移入相应队列
    3. 选择另一个执行,并更新其PCB
    4. 根据PCB恢复新进程所需的运行环境

引起进程切换的时间
  1. 引起进程切换的事件
    1. 当前进程时间片到
    2. 有更高的优先级进程到达
    3. 当前进程主动阻塞
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西瓜太郎呀!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值