第二章 操作系统运行环境

处理器

  • 依据处理器个数可分为单机系统和多处理器系统
  • 处理器的构成:一般由运算器、控制器、一系列寄存器以及高速缓存构成
  • 处理器内寄存器分类:
    • 用户可见寄存器——对于高级语言来说编译器可以通过一定的算法分配并使用;最常见的数码寄存器——各种算术逻辑指令和访存指令、地址寄存器——存储数据及指令的物理地址、线性地址或者有效地址、条件码寄存器——处理器操作结果的各种标记位
    • 控制和状态寄存器——控制处理器的操作;最常见的系统计数器(PC)——记录将要取出指令的地址、地址寄存器(IR)——包含最近取出的指令、程序状态字(PSW)——记录处理器运行的模式信息
    • 指令执行的基本过程:处理器每次从存储器中读取一条指令,并在取指令完成后,根据指令类别自动将程序计数器的值变为下一条指令的地址(通常为自增1)其次取到的指令被存储在处理器的指令寄存器中,处理器于是解释并执行该条指令
    • 指令分类:I/O指令——负责处理器和I/O模块之间的数据传送和命令发送、访问存储器指令——处理器和存储器之间的数据传送、算术逻辑指令(数据处理指令)——执行有关数据的算术和逻辑操作、控制转移指令——指定一个新的指令的执行起点、处理器控制指令——修改处理器状态,改变处理器工作方式
    • 特权指令——在指令系统中只能由操作系统使用的指令
    • 非特权指令
    • 处理器工作状态:
      • 管态和目态:多数系统将处理器工作状态分为管态和目态,前者一般指操作系统管理程序运行的状态,具有较高的特权级别,又称为内核态、特权态、系统态;后者一般指用户程序运行时的状态,具有较低级的特权级别,又称为用户态、普通态
      • 管态到目态的转换。通过设置PSW实现从操作系统向用户程序的转换
      • 目态到管态的转换。唯一方式是中断。中断响应时交换中断向量,新的中断向量中的PSW的处理器状态位标志为管态
    • 程序状态字(PSW)
      • CPU工作状态代码——指明当前处理器处于管态还是目态
      • 条件码——反映指令执行后的结果特征
      • 中断屏蔽码——是否允许中断
        在这里插入图片描述
    • CF——进位标志位
    • ZF——结果为零标志位
    • SF——符号标志位
    • OF——溢出标志位
    • TF——陷阱标志位
    • IF——中断使能标志位
    • VIF——虚拟中断标志位
    • VIP——虚拟中断待决标志位
    • IOPL——IO特权标志

计算机系统硬件部件

  • 存储器类型
    • 读写型存储器(RAM);可以将数据存入其中任一地址单元,并且可以在以后的任何时间把数据读出来或重新存储,主要用作存储随机存储的程序的数据
    • 只读型存储器(ROM);只能从中读取数据,但不能随意用普通方法向其中写入数据,只能用特殊方法进行
  • 存储最小单位是二进位;最小编址单位是字节,一字节等于8二进位;2字节称为字,4字节称为双字;1kb=1024字节
  • 计算机存储系统设计主要考虑三个问题:容量、速度和成本
  • 在计算机中的层次化存储体系是由寄存器、高速缓存、内存储器、硬盘存储器、磁带机和光盘存储器等装置构成

在这里插入图片描述

  • 界地址寄存器是被广泛使用的一种存储保护技术;在处理器中设置一对界限寄存器来存储该用户作业在内存中的上限和下限地址

在这里插入图片描述

  • 在每台外部设备中都配有各种的I/O设备控制器,由I/O设备控制器控制每台外部设备的运行
  • I/O结构;早期外部设备控制器通过I/O硬件结构与中央处理器连接。对设备控制器的操作由处理器直接发出的I/O指令实现(已淘汰)
  • 通道:独立于中央处理器,专门负责数据I/O传输工作的处理单元
  • DMA技术(直接存储器访问)——通过DMA控制器自动控制成块数据在内存和I/O单元之间的传送
  • 缓冲技术;用在外部设备与其他硬件部件之间的一种数据暂存技术,利用存储器件在外部设备中设置了数据的一个存储区域。一种用在外部设备之间通信,一种用在外部设备和处理器之间
  • 为什么设置时钟部件?
    • 在多道程序运行的环境中,时钟可以发现一个陷入死循环的作业从而防止机时的浪费
    • 在分时系统中,用时间间隔实现各个作业按时间片轮转运行
    • 在实时系统中,按要求的时间间隔输出正确的时间信号给相关的实时控制设备
    • 实时唤醒要求按照实现给定的时间执行的各个外部事件
    • 记录用户使用各种设备的时间和记录某外部事件发生的时间间隔
    • 记录用户和系统所需要的绝对时间
  • 时钟部件分类
    • 硬件时钟和软件时钟
      • 硬件时钟;在电路中的晶体振荡器,每隔一定间隔产生固定的脉冲频率,时钟电路中的时钟寄存器依据时钟电路所产生的脉冲数,对时钟寄存器进行加1的工作
      • 软件时钟;利用内存 模拟时钟寄存器,并采用一段程序来计算相应的脉冲数。对内存时钟寄存器进行加1或减1的工作
    • 绝对时钟和相对时钟
      • 绝对时钟;计算机系统中不受外界干扰、独立运行的一种时钟
      • 相对时钟;从某一个时间初值开始的一段时间间隔

中断机制

  • 中断与异常
    • 中断: 处理器对系统中或系统外异步事件(无一定时序关系的随机发生的事件)的响应
    • 异步例子:外部数据完成了数据传输,某一实时设备出现异常等
    • 中断技术解决了主机和外设并行工作的问题,消除了因设备的慢速而使得主机等待的现象,为多机操作和实时处理提供了硬件基础
    • 中断向量表——中断处理程序入口地址映射表,每一项称为一个中断向量,由程序状态字PSW和指令计数器PC组成
    • 中断作用——充分发挥处理器的使用效率、提高系统实时能力
    • 中断由外部事件引发,异常由正在执行的指令引发
  • 中断与异常的分类
    • 典型中断如下:
      • 时钟中断——由处理器内部计时器产生,允许操作系统以一定规律执行函数
      • 输入输出(I/O)中断——由I/O控制器产生,用于通知一个I/O操作的正常完成或发生的错误
      • 控制台中断——系统操作员通过控制台发出命令
      • 硬件故障中断——由掉电、存储器校验错等硬件故障引起等
    • 典型异常如下:
      • 程序性中断——某些条件下由指令执行结果产生,例如算术溢出、被零除、目态程序试图执行非法指令、访问不被允许访问的存储位置、虚拟存储中的缺页等
      • 访管指令异常——要求操作系统提供系统服务
  • 中断系统——可分为两大组成部分:中断系统的硬件中断装置(负责捕获中断源发出的中断请求,并以一定方式响应中断源,然后将控制器交给中断处理程序)和软件中断处理程序(针对中断事件的性质而执行相应的一系列操作)。
  • 如何接收中断请求?——中断逻辑线路接收中断信号,并把接收到的中断信号寄存在线路中的硬件触发器(触发器全体称为中断寄存器,每个触发器值为1表示收到0为无)
  • 中断响应流程如下——处理器的控制部件中设置有中断信号扫描结构(每条指令执行周期内的最后时刻扫描中断寄存器,查看是否有中断信号),若无,执行下一条;反之,接收中断向量代号,处理器保存现场,处理器目态换到管态,根据中断向量代号查询中断向量表,获得与该中断处理程序的入口地址,并将PC置为该地址,控制权转交给中断处理程序
    在这里插入图片描述
  • 中断处理过程可以简要概括为:接收和响应中断、保护中断断点现场、分析中断向量,调用中断处理程序、中断处理结束恢复现场,原有程序继续执行
  • 典型中断处理:
    • I/O中断:由控制器或通道发出,分为两类I/O操作正常结束(继续准备重启等待则唤醒)或I/O异常(重新执行且有一定限度,次数过大判定硬件故障并通知管理员)
    • 时钟中断:维护软件时钟、处理器调度、控制系统定时任务、实时系统
    • 硬件故障中断:保护现场使用一定手段警告管理员并提供一些辅助的诊断信息
    • 程序性中断:只能由操作系统完成的程序性中断(由相关扩展功能模块完成)、程序自己完成的程序性中断(算术错误,程序调试)
    • 系统服务请求(自愿性中断) :处理器提供专用指令(访管指令)激发
  • 多级中断作用——对各类中断信号依据紧急程度和重要性划分、解决如果有重要程度相当的多个中断信号同时到达时,如何选择首个被处理的中断信号
  • 同一中断级中多个设备接口同时都有中断请求时可采用固定的优先数(给每个接口安排不同固定的优先顺序“就近原则——离处理器越近越高”)和轮准法(用一个表格依次轮转响应)
  • 中断屏蔽——PWS中的中断屏蔽位决定,对于被屏蔽的中断信号一般存储在中断寄存器中,还有一类中断信号不可被屏蔽如机器故障屏蔽(即便建立屏蔽位也依旧响应)
  • 中断处理问题:一个中断的处理过程中又发生了中断,那么将引起中断处理程序
  • 中断处理程序解决方案:
    • 处理一个中断时禁止其他中断,在此期间发生的中断都将被挂起,当处理器再次允许中断时,这些中断信号会被处理器检测到并做出反应
    • 中断嵌套,按中断优先级分级,允许优先级较高的中断打断优先级低的中断处理过程如下图所示:

在这里插入图片描述

系统调用

  • 系统调用——用户在程序中调用操作系统所提供的一些子功能
  • 系统调用与函数调用的区别——运行在不同的系统状态、状态转换、返回问题、嵌套调用
  • 系统调用分类:
    • 进程控制类系统调用;进程创建和终止获得和设置进程属性的系统调用等
    • 文件操作类系统调用;对文件相关操作
    • 进程通信类系统调用;进程之间传递消息和信号
    • 设备管理类系统调用;请求和释放有关设备以及启动设备操作等
    • 信息维护类系统调用;获得当前时间与日期、设置文件访问和修改时间、了解系统当前用户数、操作系统版本号、空闲内存和磁盘空间大小等
  • 系统调用与库函数、API、内核函数关系:通常应用程序是使用API在用户空间实现的,用户使用库函数和API完成系统调用的执行

在这里插入图片描述

  • 系统调用处理过程

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值