1. 指令与处理器模式

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

2. 中断

  • 概念:

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

3. 进程

  • 进程:操作系统进行资源分配和调度的独立单位
  • 进程解剖:OS管理进程的数据结构P + 内存代码 + 内存数据 + 通用寄存器R + PSW
  • 进程状态:
  • 进程数据:
    • 进程控制块PCB:是OS用于记录进程状态和环境信息的数据结构

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

4. 线程

  • 多线程技术:一个进程内有多个线程
  • 思路:将进程的两个功能“独立分配资源”和“调度执行”功能分开
  •    
  • 分类:
    • KLT:内核级多线程
    • ULT:用户级别多线程
  • 多线程实现的混合策略
    • 一个ULT绑定多个KLT

5. 处理器调度

  • 处理器调度的层次:高级、中级、低级
  • 处理器调度算法
    • 原则:资源利用率、响应时间、周转时间(进入系统到出系统时间)、吞吐量(单位时间处理进程数)、公平性
    • 算法:优先数算法、时间片轮转、分级调度算法、彩票算法

【重学计算机】操作系统D2章:处理器管理的更多相关文章

  1. 【重学计算机】操作系统D3章:存储管理

    1. 存储管理的基本概念 逻辑地址:用户地址,从零开始编号 一维逻辑地址:(地址) 二维逻辑地址:(段号: 段内地址) 主存储器的复用方式 按分区:主存划分为多个固定/可变分区,一个程序占一个分区 按 ...

  2. 【重学计算机】操作系统D1章:计算机操作系统概述

    1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机 ...

  3. 【重学计算机】操作系统D6章:并发程序设计

    1. 并发程序的基本概念 程序顺序性 内部顺序性:CPU严格按照顺序执行指令 外部顺序性:程序员设计程序时往往用顺序设计的思想 顺序程序特性 程序执行的顺序性 计算环境的封闭性: 程序执行时犹如独占资 ...

  4. 【重学计算机】操作系统D4章:设备管理

    1. IO的控制方式 演进过程:轮询 --> 中断 --> DMA --> IO通道 经典布局:南北桥 PS:详见<计算机组成原理> 2. IO的实现 软件实现层次:硬件 ...

  5. 【重学计算机】计组D2章:数据表示

    1.基本概念 真值:+0101,-0100:机器数: [x]原=0101 2.几种机器数 原码:x = -0101,[x]原 = 1101 反码:x = -0101,[x]反 = 1010 补码:x ...

  6. 【重学计算机】操作系统D5章:文件系统

    1. 文件系统 文件系统概述 文件的组织: 逻辑结构:流式.记录式 物理结构:顺序.连接.直接.索引 文件的存取:顺序.直接.索引 文件的控制:逻辑控制.物理控制 文件的使用:打开.关闭.读.写.控制 ...

  7. 【重学计算机】机组D4章:存储系统

    1. 存储系统层次结构 主存速度缓慢的原因:主存增速与CPU不同步,执行指令期间多次访问主存 主存容量不足的原因: 存在制约主存容量的技术因素:如由CPU.主板等相关技术指标规定了主存容量 应用对主存 ...

  8. 【重学计算机】计组D1章:计算机系统概论

    1.冯诺依曼计算机组成 主机(cpu+内存),外设(输入设备+输出设备+外存),总线(地址总线+数据总线+控制总线) 2.计算机层次结构 应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层 ...

  9. 【重学计算机】机组D8章:输入输出系统

    1. 输入输出系统概述 组成:外设.接口.总线.管理软件 基本功能 完成计算机内外的信息传递 保证CPU正确选择输出设备 利用缓冲等,实现主机与外设的速度匹配 特点:异步性.实时性.设备无关性 输入过 ...

随机推荐

  1. git添加本地的项目到git远程管理仓库

    目标:将本地存在的项目添加到git远程仓库管理 步骤: 1. 需要一个git远程仓库管理地址 例如:https://github.com/xingfupeng/test.git git@github. ...

  2. HTML学习笔记 day two

    HTML学习笔记 day two Charter three网站中的文本样式标签 3.1设置标题字体 语法结构:<h#>标题文字</h#> 注:其中的#可以为1,2,3,4,5 ...

  3. 表示一个文件的 File 类型

    从本篇文章开始,我们将开启对 Java IO 系统的学习,本质上就是对文件的读写操作,听上去简单,其实并不容易.Java 的 IO 系统一直在完善和改进,设计了大量的类,也只有理解了这些类型被设计出来 ...

  4. Java基础:Java虚拟机(JVM)

    当我们第一次学习Java时这些原理上的东西就会被提到,但是很少有真正去学习.今天开始从头过一遍Java,打算从JVM开始. 1. JVM是什么 2. JRE和JDK 3. JVM结构 3.1. 程序计 ...

  5. 循环中else的用法

    name = 'hello' for x in name: print(x) if x == 'l': break #退出for循环 else: print("==for循环过程中,如果没有 ...

  6. IAAS-虚拟化技术组件介绍

    虚拟化技术组件涉及众多,下面对一些组件所处的层级以及定位做个简单的汇总介绍,部分信息来自于网络整理,如有不准确之处,请指正.

  7. TCP的作用

    1. 首先,TCP提供客户与服务器之间的连接.TCP客户先与某个给定服务器建立一个连接,然后通过该连接与服务器交换数据,最后终止该连接. 2. 其次,TCP提供了可靠性.超时重传.当TCP向另一端发送 ...

  8. [ Java面试题 ]算法篇

    1.堆和栈在内存中的区别是什么? 概念: 栈(stack)是为执行线程留出的内存空间.当函数被调用的时候,栈顶为局部变量和一些 bookkeeping 数据预留块.当函数执行完毕,块就没有用了,可能在 ...

  9. HTML5 CSS3 精美案例 : 实现VCD包装盒个性幻灯片

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/31015121 哈,首先感谢下w3cfuns的老师,嗯~ 好了,这次给发夹分享一个 ...

  10. map用法

    描述: map()会根据提供的参数对指定序列做映射. 语法: map(function,iterable) function:函数以参数列表中的每一个元素调用function函数,返回包含每次func ...