𝓝𝓮𝓶𝓸&博客

【操作系统】处理器管理

指令与处理器模式

  • 指令执行周期:取指、译码、执行
  • 指令分类(根据权限)
    • 特权指令:只能被操作系统内核使用(启动 IO,置 PC 值)
    • 非特权指令:所有程序都能使用
  • 处理器模式:
    • 共有四种:0内核模式,1系统调用,2共享库程序,3用户模式
    • 一般来说:只有0内核模式(能执行全部指令)和3用户模式(只能执行非特权指令)
    • 模式切换:
      • 用户模式 --> 内核模式(系统调用、异常、响应中断)
      • 内核模式 --> 用户模式(中断返回指令)

中断

  • 概念:
    • 操作系统是中断驱动的。即 中断是激活操作系统的唯一方式
    • 广义中断:停止 CPU 正在执行的进程,转而执行中断处理程序,处理完后返回原进程或调度新进程
    • 狭义中断:源于处理器之外的中断事件,IO 中断、时钟中断、外部信号中断
  • 中断源:
    • 处理器硬件故障中断事件:内存故障
    • 程序性中断事件:除 0 异常、缺页异常
    • 自愿性中断事件:系统调用
    • IO中断事件:IO 完成
    • 外部中断事件:鼠标点击
  • 中断系统:
    • 实现:硬件完成中断响应,软件完成中断处理
    • 中断装置:
      • 处理器外中断:由中断控制器实现
      • 处理器内中断(陷阱):由指令控制逻辑实现
      • 系统调用(系统陷阱):执行陷入指令时直接触发,即系 统陷阱
    • 中断处理流程
    • 多中断处理:中断屏蔽、中断优先级、中断嵌套

进程

  • 进程:操作系统进行资源分配和调度的独立单位
  • 进程解剖:OS管理进程的数据结构P + 内存代码 + 内存数据 + 通用寄存器R + PSW
  • 进程状态:
  • 进程数据:
    • 进程控制块PCB:是 OS 用于记录进程状态和环境信息的数据结构
      • 标识信息:进程标识(进程标识号、进程组标识号)
      • 现场信息:用户可见寄存器内容、控制/状态寄存器内容、栈指针内容
      • 控制信息:进程调度信息、进程组成信息、队列指引元、通信相关、进程特权信息、处理器使用信息、资源清单信息
    • 进程映像:某一时刻进程的内容及执行状态集合
      • 进程控制块、进程程序块、进程数据块、核心栈
    • 进程上下文:进程执行的环境支持(CPU 现场、Cache 中的执行信息)
      • 用户级、寄存器级、系统级
  • 进程的管理
    • 进程实现的队列模型
    • 进程控制流程
      • 进程创建:进程表增加一项,申请 PCB 并初始化,生成标识,建立映像,分配资源,移入就绪队列
      • 进程撤销:从队列中移除,归还响应资源。。。
      • 进程阻塞:保存现场,修改 PCB,移入等待队列
      • 进程唤醒:从等待队列移出,修改 PCB,进入就绪队列
      • 进程挂起:修改进程状态并出入相关队列,收回内存等资源送至对换区
      • 进程激活:分配内存,修改状态并出入相关队列
    • 原语
      • 概念:由若干指令构成的完成某种特定功能,有原子性
      • 应用:修改 OS 核心数据结构(进程表、PCB 池)
  • 进程切换与模式切换
    • 流程:俩进程上下文切换(保存被中断的上下文、进程调度、恢复待运行的上下文)
    • 模式切换:用户态到内核态这种。进程切换必须在内核态完成,所以必须经理模式切换

线程

  • 多线程技术:一个进程内有多个线程
  • 思路:将进程的两个功能“独立分配资源”和“调度执行”功能分开

  • 分类:
    • KLT:内核级多线程
    • ULT:用户级别多线程
  • 多线程实现的混合策略
    • 一个 ULT 绑定多个 KLT

处理器调度

  • 处理器调度的层次:高级、中级、低级
  • 处理器调度算法
    • 原则:资源利用率、响应时间、周转时间(进入系统到出系统时间)、吞吐量(单位时间处理进程数)、公平性
    • 算法:优先数算法、时间片轮转、分级调度算法、彩票算法
posted @ 2020-05-31 14:43  Nemo&  阅读(320)  评论(0编辑  收藏  举报