操作系统总结——处理器管理

处理器管理

多处理器系统

  • 共享存储多处理器系统(紧密耦合)

    • 主从式系统
    • 对称式系统
  • 分布存储多处理器系统(松散耦合)

寄存器管理

cpu和控制寄存器、数据寄存器、以及缓冲区之间的通信方式:

  1. 为寄存器分配端口号
  2. 为寄存器分配内存地址
  3. 既分配内存地址也分配端口号

特权指令和非特权指令

  1. 特权指令

    仅供内核程序使用的指令

  2. 非特权指令

    供所有应用程序使用的指令

处理器状态

根据当前执行的程序,修改处理器状态标识

  • 核心态(管态)

    获得所有权限

  • 用户态(目态)

    无法执行特权指令,访问仅限于当前进程地址空间

状态转换
1. 用户到核心
中断和异常是用户态到核心态转换的仅由途径

  • 程序请求操作系统服务
  • 程序运行时,产生中断和异常事件

2.核心到用户

通过调用特权指令

中断技术

中断是指在程序执行过程中,遇到急需处理的事件时,暂时中止现行程序在CPU上的运行,转而执行相应的事件处理程序,待处理完后再返回断电或调度其他程序执行。

中断的分类

按中断事件的性质和激活方式分类

  1. 机器故障中断
  2. 程序性中断
  3. 外部中断
  4. 输入输出中断
  5. 访管中断

按中断事件的来源和实现手段可将中断划分:

  1. 硬中断
    要通过硬件设施来产生
    • 外中断
      来自处理器之外的中断信号
    • 内中断(异常)
      来自处理器内部的中断信号

(中断与异常的区别)
  1. 中断的发生与CPU模式无关
  2. 异常是有CPU控制单元产生的
2 . 软中断 不必由硬件设施来产生中断源
  • 信号
    信号的发送者相当于中断源,信号的接收者必然是一个进程(相当于CPU)
  • 软件中断
    采用软件方法对中断机智进行模拟,实现宏观上的异步执行。

中断和异常的响应

  1. 发现中断源
  2. 保护现场
  3. 转向中断/异常事件的处理程序
  4. 恢复现场

进程

进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和保护的基本单元。

  1. 结构性

    • 程序块
    • 数据块
    • 进程控制块
    • 核心栈
  2. 共享性

  3. 动态性
  4. 独立性
  5. 制约性
  6. 并发性

进程的状态

  • 运行态

    进程占用处理器的状态

  • 就绪态

    进程具备运行条件,等待系统分配处理器以便其运行的状态

  • 等待态(阻塞态、睡眠态)

    进程不具备运行条件,正在等待某个时间完成的状态

  • 新建态

    进程被创建是的状态,进入就绪队列之前

  • 终止态

    进程完成任务,到达正常结束点,或因出现无法克服的错误而异常终止,或被操作系统及有终止权的进程所终止时所处的状态

  • 挂起就绪态

    进程具备运行条件,但目前在辅助存储器中

  • 挂起等待态

    表明进程正在等待某一事件发生且进程在辅助存储器中


转态转换

进程的描述和组成

**进程映像**

某时刻进程的内容及其状态集合
包括:
- 进程控制块
- 进程程序块
- 进程核心块
- 进程数据块

**进程上下文**

进程物理实体和支持进程运行的环境合称

  • 用户级上下文

    程序块+数据块+堆栈

  • 系统级上下文

    PCB+内存管理信息+进程环境块+系统堆栈

  • 寄存器上下文

    各类寄存器

**进程控制块(进程描述符)** 进程存在的唯一标识,是操作系统用来记录和刻画进程转态及有关信息的数据结构,是进程动态特征的汇集
  • 表示信息PID
  • 现场信息
  • 控制信息

进程队列
把所有PCB组织起来的结构
- 线性方式
- 链接方式
链接
链接2
- 索引方式
索引


进程是资源分配单位,线程是系统调度和分配单位



线程及其实现

线程组成部分:

  • 线程唯一标识符及线程状态信息
  • 未运行时所保存的线程上下文
  • 核心栈
  • 用于保存线程局部变量和用户栈的私有存储区

线程状态:

  • 运行态
  • 等待态
  • 就绪态

线程的组织

  • 调度员-工作者模式
  • 组模式
  • 流水线模式

线程的实现

  • 内核级线程

    线程的管理工作由应用程序完成,由内核提供的线程api使用线程,在内核空间建立和维护PCB和TCB

  • 用户级线程

    线程的管理由应用程序完成,在用户空间中实现。用户空间中的线程库是线程运行的支撑环境

  • 混合式线程

处理器的调度

处理器调度的层次

  • 高级调度 ——调度对象:作业
  • 中级调度 ——决定进程在主存和辅存间的对换(挂起)
  • 低级调度 ——调度对象:进程

处理器调度算法

  • 非剥夺式

    • 先来先服务算法(FCFS)

    按作业进入后备作业队列的先后次序来挑选作业

  • 最短作业优先算法(SJF)

    总是选取预计时间最短的作业投入运行

  • 响应比最高者优先算法(HRRF)

    相应比 = 1+作业等待时间/作业处理时间

  • 剥夺式

    • 最短剩余时间优先算法(SRTF)

    新进程进入就绪队列,如果他所需的CPU运行时间比当前运行进程所需的剩余CPU时间还短,抢占式最短作业优先算法强行剥夺当前执行者的控制权,调度新进程执行

  • 轮转调度算法(RR)

    就绪队列中进程轮流运行一个时间片

  • 多级反馈队列调度算法(MLFQ)

    系统建立多个就绪队列,每个队列一个优先级,优先级较高的分配较短时间片

  • 彩票调度算法

    为进程发放对应各种资源的彩票,当要调度的时候,随机选择一张彩票,彩票持有者获得相应的系统资源

  • 可选

    • 优先级调度算法(PS)

    总是选择就绪队列中优先级最高的投入运行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值