处理器管理(二)

2019-04-02  本文已影响0人  菜根小友

目录

2.3 进程及其实现

2.4 线程及其实现


进程及其实现

2.3.1 进程的定义和性质

2.3.2 进程状态和转换

进程三态模型及其状态转换


image.png
image.png

进程的挂起:

挂起进程具有如下特征:

2.3.3 进程描述和组成

OS中把进程物理实体和支持进程运行的环境合称为进程上下文
当系统调度新进程占有处理器时,新老进程随之发生上下文切换。进程的运行被认为是在上下文中执行。

进程上下文组成:

进程控制块:
进程控制块PCB是OS用于记录和刻画进程状态及有关信息的数据结构,也是OS掌握进程的唯一资料结构,它包括进程执行时的情况,以及进程让出处理器后所处的状态,断点等信息。
进程控制块包含三类信息:

进程队列及其管理
处于同一状态的所有PCB链接在一起的数据结构称为进程队列。
同一状态进程的PCB既可以按先来先到的原则排成队列,也可以按优先数或其他原则排队。
通用队列组织方式:

2.3.4 进程上下文切换与处理器状态转换

进程切换是让处于运行态的进程中断运行,让出处理器,这时要做一次进程上下文切换,即保存老进程的上下文而装入被保护了的新进程的上下文,以便新进程运行。

进程上下文切换步骤

  1. 保存被中断进程的处理器现场信息
  2. 修改被中断进程的进程控制块有关信息,如进程状态等
  3. 把被中断进程的PSW加入有关队列
  4. 选择下一个占有处理器运行的进程
  5. 修改被选中进程的PSW的有关信息
  6. 根据被选中进程设置操作系统用到的地址转换和存储保护信息
  7. 根据被选中进程恢复处理器现场

进程调度和切换时机问题

请求调度的事件发生后,就会运行低级调度程序,低级调度程序选中新的就绪进程后,就会进行上下文切换。实际上,由于种种原因,调度和切换并不一定能一气呵成。

处理器状态转换

当中断/系统 调用发生时,暂时中断正在执行的用户进程,把进程从用户状态转换到内核状态,去执行操作系统服务程序以获得服务,这就是一次处理器状态转换;
内核在被中断了的进程的上下文中对这个中断事件作处理,即使该中断可能不是此进程引起的。

处理器状态转换步骤

  1. 保存被中断进程的处理器现场信息;
  2. 处理器从用户态转换到核心态,以便执行服务程序或中断处理程序;
  3. 如果处理中断,可根据规定的中断级设置中断屏蔽位;
  4. 根据系统调用号或中断号,从系统调用表或中断入口表找到服务程序或中断处理程序地址。

CPU上执行的进程所处活动范围

2.3.5 进程控制和管理

处理器管理的一个主要工作是对进程的控制,包括:创建进程、阻塞进程、唤醒进程、挂起进程、激活进程、终止进程和撤销进程等。这些控制和管理功能由操作系统中的原语实现。
原语是在管态下执行、完成系统特定功能的过程。
原语和机器指令类似,其特点是执行过程中不允许被中断,是一个不可分割的基本单位,原语的执行是顺序的而不可能是并发的。

进程的控制和管理


2.4 线程及其实现

2.4.1 引入多线程的动机

为了减少程序并发执行时所付出的时空开销,使得并发粒度更细,并发性更好。

2.4.2 多线程环境中的进程和线程

image.png

多线程环境中的线程概念

线程是OS进程中能够独立执行的实体(控制流),是处理器调度和分派的基本单位。线程是进程的组成部分,每个进程内允许包含多个并发执行的实体(控制流),这就是多线程。

线程的组成
(1)线程唯一标识符及线程状态信息(运行态、就绪态、阻塞态和终止态);
(2)线程是一条执行路径,有独立的程序计数器;未运行时保护线程上下文。
(3)线程有执行栈和存放局部变量的私用存储空间。
(4 )可访问所属进程的内存和资源,并与该进程中的其他线程共享这些资源。

线程的状态
运行、就绪、等待和终止。

2.4.3 线程的实现

线程调度

(1)当若干进程都有多个线程时,就存在两个层次的并行:进程和线程。操作系统调度程序需要根据是用户级线程还是内核级线程来决定对进程和线程的调度方法。
(2)用户级线程的调度:
(3)内核级线程的调度;
(4)用户级线程和内核级线程调度之间的差别:

上一篇 下一篇

猜你喜欢

热点阅读