操作系统课堂笔记(2)操作系统的硬件环境之中央处理器

专门设计了一系列基本机制:

  - 具有特权级别的处理器状态,能在不同特权级运行的各种特权指令

  - 硬件机制使得OS可以和普通程序隔离, 实现保护和控制

  1.CPU的构成与基本工作方式

  处理器由运算器、控制器、一系列的寄存器以及高速缓存构成

  运算器实现指令中的算术和逻辑运算,是计算机计算的核心

  控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等

  处理器中的寄存器

  寄存器提供了一定的存储能力,速度比主存快得多,造价高,容量一般都很小

  两类寄存器:

  用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问内存次数

  控制和状态寄存器,用于控制处理器的操作

  由OS的特权代码使用, 以控制其他程序的执行

  用户可见寄存器

  机器语言直接引用

  包括数据寄存器、地址寄存器以及条件码寄存器

  数据寄存器(data register)又称通用寄存器

  主要用于各种算术逻辑指令和访存指令

  地址寄存器(address register)用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如index register、segment pointer、stack pointer

  条件码寄存器保存CPU操作结果的各种标记位, 如算术运算产生的溢出、符号等等

  控制和状态寄存器

  用于控制处理器的操作

  大部分对于用户是不可见的

  一部分可以在某种特权模式(由OS使用)下访问

  常见的控制和状态寄存器:

  程序计数器(PC:Program Counter),记录将要取出的指令的地址

  指令寄存器(IR:Instruction Register),包含最近取出的指令

  程序状态字(PSW:Program Status Word),记录处理器的运行模式信息等等

  2.特权指令和非特权指令

  特权指令:只能由操作系统使用的指令

  使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令

  特权指令一般引起处理器状态的切换

  处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)

  然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入

  CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识

3.处理器的状态

  根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态——程序状态字PSW

  多数系统将处理器工作状态划分为管态和目态

  管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、核心态、系统态

  目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态

  具体处理器将CPU状态划分为两种、三种或四种

  4.程序状态字PSW (Program Status Word )

  在PSW中专门设置一位,根据运行程序使用指令的权限而设置CPU状态

  CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其他的特殊权力

  条件码——反映指令执行后的结果特征

  中断屏蔽码——指出是否允许中断

  CPU状态的转换

  目态→管态

  唯一途径  是  中断(广义)

  管态→目态

  设置PSW(修改程序状态字) 可实现

  一条特殊的指令:访管指令

  供用户调用操作系统的功能(服务)

  INT,TRAP,SYSCALL   

最新内容请见作者的GitHub页:http://qaseven.github.io/

   

时间: 2024-10-02 15:44:33

操作系统课堂笔记(2)操作系统的硬件环境之中央处理器的相关文章

操作系统课堂笔记(2)操作系统的硬件环境之存储系统

支持OS运行硬件环境的一个重要方面: 作业必须把它的程序和数据存放在内存中才能运行 操作系统本身也要存放在内存中并运行 多道程系统中,若干个程序和相关的数据要放入内存 →→操作系统要管理.保护程序和数据,使它们不至于受到破坏 1.存储器的层次结构 存储系统设计三个问题:          容量.速度和成本 存储访问局部性原理 提高存储系统性能的关键:     程序存储访问局部性原理 程序执行时,有很多循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合 对数据存取也有局部性,在较短

操作系统课堂笔记(2)操作系统的硬件环境之缓冲技术、中断技术

缓冲区是硬件设备之间进行数据传输时专门用来暂存这些数据的一个存储区域.    缓冲技术一般在三种情况下采用:1.处理器与内存之间,2.处理器与其他外部设备之间,3.设备与设备之间. 多Cache技术:Cache是离CPU最近的高速缓存,能使CPU更快速的访问经常使用的数据.是运行过程中,CPU首先到一级Cache中找数据(也可能是一段指令序列).如果没有找到,那么CPU就接着到二级CPU中找,然后是三级Cache(如果有的话),如果还是找不到,CPU就只好到运行速度较慢的系统内存中去找了. 中断

操作系统课堂笔记(2)操作系统的硬件环境之I/O技术和时钟

I/O技术 1.程序控制I/O技术 有处理器提供相关的IO指令来实现的.主要缺陷是,处理器必须关注IO处理单元的状态,因而它会耗费大量的时间轮询以获得这个信息,这严重降低了系统性能. 2.中断驱动I/O技术 当IO处理单元准备好与设备交互的时候,通过物理信号通知处理器,即中断处理器. 3.DMA技术(直接存储器访问技术) DMA通过系统总线中的一个独立的控制单元---DMA控制器,自动的控制成块的数据在内存和IO单元之间的传送.当处理器需要读写一整块数据的时候,它给DMA控制单元发送一条命令就可

操作系统课堂笔记(1)概述

1 . 计算机系统的概观 (1)手动.机械和电动计算机 中国:算筹.算珠. 1617年 苏格兰:计算尺. 1624年 海德堡大学:第一台具有四则运算功能的计算器. 1673年 莱布尼茨 建造了一台具有四则运算功能的机械计算机器. 1884年 美国工程师 赫尔曼·霍勒雷斯 制造了第一台电动计算机. ... (2)数字电子计算机       第一代:电子管计算机 第二代:晶体管计算机 第三代:集成电路计算机 第四代:大规模集成电路计算机(1971年以后) (3)电子计算机分类: 模拟计算机: 优点:

操作系统课堂笔记(7)设备管理

1.设备管理的任务和功能 设备管理的任务 (1)按用户需求提出的要求接入外部设备,系统按一定算法分配和管理控制,而用户不必关心设备的实际地址和控制指令: (2)尽量提高输入输出设备的利用率,例如发挥主机与外设以及外设与外设之间的真正并行工作能力. 设备管理的功能 (1)分配设备 (2)控制和实现真正的输入输出操作 (3)对输入输出缓冲区进行管理 (4)在一些较大系统中实现虚拟设备技术 2.外部设备分类 (1)按系统和用户分:系统设备.用户设备 (2)按输入输出传送方式分(UNIX或Linux操作

操作系统课堂笔记(4)进程管理之多道程序设计和进程

4.1多道程序设计 4.1.1程序的顺序执行:一个具有独立功能的程序独占CPU直到得到最终结果的过程 程序的顺序执行的特点: 1) 顺序性:严格按顺序执行,一一对应 2) 封闭性:结果只能取决于程序本身 3)程序执行结果的确定性:与时间无关 4) 可再观性:不同时间执行,输入相同则结果相同 4.1.2多道程序设计中程序执行环境的变化 1.多道程序设计技术的引入 并发:单CPU,按给定的时间片交替的在处理机上运行:多CPU:并发程序在各自处理机上运行. 根本目的:提高整个系统的效率 衡量系统效率的

操作系统课堂笔记(5)存储管理

1.存储管理使用的基本概念 逻辑地址与物理地址 在具有地址变换机构的计算机中,允许程序中编排的地址和信息实际存放在内存中的地址有所不同.前者叫逻辑(相对)地址,后者叫物理(绝对)地址. 重定位:将逻辑地址转换为物理地址. 虚拟存储管理 虚存是由操作系统调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这样好象内存容量不受限制. 虚存的特点: (1)虚存容量不是无限的,极端情况受内存和外存可利用的总容量限制: (2)虚存容量还受计算机总线地址结构限制: (3)速度和容量的"

操作系统课堂笔记(3)用户接口和作业管理

用户与操作系统的接口 1.作业级接口 用于作业控制.用户通过键盘输入或在作业中发出一系列命令,告诉操作系统执行哪些操作.1)联机作业控制方式的接口  2)脱机作业控制方式的接口 2.程序级接口 系统为用户在程序一级提供相关服务而设置的. 典型的作业控制过程: 1)编译  2)连接装配  3)运行 批处理系统的作业管理    作业控制块:批处理作业存在标志,其中保存有系统对于作业进行管理所需要的全部信息,它们被保存于磁盘区域中. 作业表:每个作业有一个作业控制块,所有的作业JCB构成一个表. 批处

操作系统课堂笔记(3)SPOOLing系统工作原理与系统调用

SPOOLing系统工作原理 含义: 同时的外围设备联机操作(假脱机技术) 包括: –输入程序模块(预输入进程) –作业调度程序(作业调度进程) –作业控制程序(作业控制进程) –输出程序模块(缓输出进程) •作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘.磁鼓,称为输入井)中,称为预输入 •作业运行中,当要使用数据时,直接从输入井中取出 •作业运行中,需要输出数据时,不必直接启动外部设备输出数据,只需将这些数据写入输出井中 •作业全部运行完毕,再从外部设备输出全部数据和信息,称为缓输出