第二章 操作系统运行环境

第一节:处理器

一、处理器的构成与基本工作方式

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

    1. 运算器实现算数与逻辑运算,是计算机计算的核心。
    2. 控制器控制程序运行流程,包括取指令、维护处理器状态、处理器与内存的交互等。
    3. 寄存器用于处理器执行指令的过程中暂存数据、地址及指令信息。
    • 高速缓存:为CPU和内存提供一个高速的数据缓存区域。
1.处理器中的寄存器

在处理器中常有两类寄存器:

  1. 用户可见寄存器,有编译程序分配,减少程序运行时访问内存的次数。
    • 一般包括数据寄存器、地址寄存器、条件码寄存器。
  2. 控制和状态寄存器,用来控制处理器的操作
    • 常见的有:程序计数器(PC)、指令寄存器(IR)、程序状态字(PSW)。
2.指令执行的基本过程
  • 最简单的处理指令方式包括两个步骤:
    1. 读取指令,并将程序计数器的值变成下一条指令的地址。
    2. 指令放入指令寄存器中,处理器解释并执行该指令。
  • 指令大致分为五类
    ①访问存储器指令 ②I/O指令 ③算术逻辑指令 ④控制转移指令 ⑤处理器控制指令

二、特权指令和非特权指令

  • 在多道程序环境下,指令分为特权指令和非特权指令。
    1. 特权指令
      • 在操作系统中那些只能由操作系统使用的指令。
      • 不允许一般用户使用
    2. 非特权指令:
      • 普通用户使用的指令

三、处理器的工作状态

  1. 管态和目态
    • 管态:操作系统管理程序运行时的状态,又称为内核态、系统态等,具有较高特权。
    • 目态:一般用户程序运行时的状态,又称为用户态、普通态,具有较低特权。
  2. 处理器工作状态的转换
    • 目态到管态的转换:
      唯一途径是通过中断。中断响应时交换中断向量,新的中断向量的PSW的处理器状态标志为管态。
    • 管态到目态的转换:
      可通过设置PSW指令,实现从操作系统到用户程序的转换
  3. 限制用户程序执行特权指令
    • 当用户程序执行时,如果取到了一条特权指令,则处理器拒绝执行该指令,并形成一个"非法操作"事件。然后操作系统通知用户程序–程序中有非法指令。

四、程序状态字(PSW)

  • 程序状态字一般包括:
    1. CPU的工作状态码:指明当前的工作状态是管态还是目态。
    2. 条件码:反映指令执行后的结果特征,比如结果为0等。
    3. 中断屏蔽码:指出是否允许中断。

第二节:计算机系统硬件部件

一、存储系统

1.存储器的类型
  1. 类型
    • 读写型存储器(RAM),用来存储随机存取的程序和数据
    • 只读存储器(ROM),存放一些固化的程序
  2. 存储分块
    • 存储的最小单位:二进位(bit)
    • 最小编制单位:字节(Byte)
    • 分块:为了分配和管理方便,将内存划分为大小相等的块(物理页Page),以块为单位分配内存空间,大小一般为512B,1KB,4KB,8KB
2.存储器的层次结构

计算机存储系统的设计主要考虑三个问题:容量、速度和成本

  • ①容量是存储系统的基础。②存储系统的速度要能匹配处理器的速度。③存储器的成本和其他部件相比应该在一个合适的范围之内
  1. 容量、速度和成本的匹配
    • 存储设备读写速度越快,平均单位容量价格越高,存储容量越小;
    • 存储设备读写速度越慢,平均单位容量价格越低,存储容量越大。
  2. 存储访问局部性原理
    • 程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序
      中的某一个部分。相应的,执行所访问的存储空间也局限于某个内存区域。

在这里插入图片描述

3.存储器保护
  • 多道程序设计系统中,保证每个程序独立运行、互不干扰,称为存储器保护。
  • 实现存储保护的方法:界地址寄存器
    其方法是在处理器中设置一对界限寄存器来存储该用户作业在内存中的上限和下限地址,分别称为上限寄存器和下限寄存器。或者一个寄存器作为基址寄存器,另一个作为限长寄存器。每当处理器访问内存时,硬件自动对比将被访问的内存地址与界限寄存器的内容,判断是否越界。未越界,按此地址访问内存;反之产生越界中断。

二、I/O部件

  • I/O部件包括了:I/O结构、通道、DMA技术、缓冲技术

三、时钟部件

  • 功能:
    1. 发现死循环,防止机时的浪费
    2. 分时系统中,时钟间隔实现时间片轮转执行
    3. 实时系统中,按要求的时间间隔控制设备
    4. 定时唤醒各个外部事件
    5. 记录各种设备的使用时间和某外部事件发生的时间间隔
    6. 记录用户和系统所需的绝对时间,即年、月、日
  • 分类:
    1. 一般分为:硬件时钟和软件时钟
    2. 用途分为:绝对时钟和相对时钟

第三节:中断机制

一、中断与异常的概念

1.中断与异常
  1. 中断的概念
    • 中断:指处理器对系统中或系统外所发生的异步事件的响应。
    • 异步事件:指无一定时序关系的随即发生的事件。如外部设备完成了数据传输任务,某一实时控制设备出现异常情况等。
    • 中断源:引起中断的事件称为中断事件或中断源。
    • 中断请求:中断源向处理器发出的请求信号。
    • 中断处理程序:处理中断事件的程序。
    • 中断断点:发生中断时正在执行的程序的暂停点。
    • 中断响应:处理器暂停当前程序转而处理中断的过程。
    • 中断返回:中断处理程序结束后恢复原来程序的执行。
    • 中断向量表:为了使得中断装置可以找到恰当的中断处理程序,专门设计了中断处理程序的入口映射表,又称为中断向量表。
    • 中断字:一个计算机系统提供的中断源的有序集合。
  2. 异常:由正在执行的指令引发的中断。
2.中断与异常的分类
  • 典型的中断:
    ①时钟中断、②输入输出中断、③控制台中断、④硬件故障中断。
  • 典型的异常:
    ①程序性中断、②访管指令异常。

二、中断系统

  • 终端系统两大组成部分:中断系统的硬件中断装置和软件中断处理程序。
  1. 中断请求的接收
    • 中断系统如何接收中断源的请求,因机器而异。一般由中断逻辑线路和中断寄存器实现。
  2. 中断响应
    • 处理器的控制部件中有中断信号扫描结构,它在每条指令执行周期内的最后时刻扫描中断寄存器,查看是否有中断信号到来。若无中断信号,处理器就继续执行下一条指令。若有中断到来,处理器接受由硬件中断装置发来的中断向量代号,准备中断处理准备工作。
    • 中断请求响应过程:
      1. 处理器接收中断信号
      2. 保护现场,将中断断点的PSW和程序计数器PC的值存入系统堆栈
      3. 分析中断向量,取得中断处理程序的入口地址
      4. 将处理器的PC值置为中断程序的入口地址
      5. 调用中断处理程序
  3. 中断处理
    • 中断信号被接收和响应之后,进行中断处理,包括:
      检查I/O相关的状态信息,操纵I/O设备或者在设备和内存之间传送数据。
    • 中断处理结束后,中断返回,恢复系统上下文,原有程序继续运行。处理器状态也从管态恢复成目态。
    • 整个中断信号的接受、响应和处理过程,归纳为以下步骤:
      1. 接收和响应中断
      2. 保护中断断点现场
      3. 分析中断向量,调用中断处理程序
      4. 中断处理结束回复现场,原有程序继续执行
  4. 几种典型中断的处理
    强迫性:①I/O中断 ②时钟中断 ③硬件故障中断 ④程序性中断 自愿性:⑤系统服务请求

三、中断优先级、中断屏蔽与中断嵌套

  1. 多级中断与中断优先级
    • 作用:
      1. 对各类中断信号依据其紧急程度和重要性划分级别,系统优先处理最紧急或最重要的任务。
      2. 解决如果有多个中断信号同时到达,如何选择首个被处理的中断信号的问题。
  2. 中断屏蔽
    • 整个中断系统中,允许或禁止中断系统对某些类别中断的响应。PSW中设计有中断屏蔽位。
    • 如果没有中断屏蔽,当中断装置响应了某个中断后中断处理程序在进行处理时,中断装置也可能去响应另一个中断事件,就会出现优先级低的中断事件的处理打断优先级高的中断事件的处理,使得中断事件的处理顺序与响应顺序不一致,而且会形成多重嵌套处理,使多现场保护、程序返回等工作变得复杂。因此设置中断屏蔽。
  3. 中断嵌套
    • 一般的计算机系统都有多个中断源,如果一个中断处理的过程中有发生的中断,有两种策略处理:
      1. 当处理一个中断时禁止其他中断
      2. 中断嵌套。即中断按照优先级划分,允许优先级高的中断打断优先级低的中断处理过程,优先进行处理。
        在这里插入图片描述

第四节:系统调用

一、系统调用简介

  • 系统调用的概念:
    就是用户在程序中调用操作系统提供的一些子功能,是操作系统提供给编程人员的唯一接口。
    是一种特殊的过程调用,由特殊的机器指令实现这条指令将系统转入管态。
  1. 系统调用与函数调用的区别
    ①运行在不同的系统状态 ②状态的转换 ③返回问题 ④嵌套调用
  2. 系统调用的分类
    一个操作系统的功能分为两大部分:一部分是系统自身所需要的;另一部分功能是作为服务提供给用户的。在一般通用的操作系统中,将其提供的系统调用分为一下几方面:
    ①进程控制类 ②文件操作类 ③进程通信类
    ④设备管理类 ⑤信息维护类
  3. 系统调用与库函数、API、内核函数的关系
    在这里插入图片描述

二、系统调用的处理过程

  • 陷入(trap):
    在系统中为控制系统调用服务的机构称为陷入或异常处理机构。

  • 陷入或异常指令(访管指令):
    把由于系统调用引起处理器中断的指令称为陷入或异常指令(或称访管指令)。

  • 处理过程:
    在这里插入图片描述

    用户程序(目态下执行)通过访管指令调用系统调用程序(管态下执行)
    当用户使用操作系统调用是,产生一条相应的指令(异常指令),处理器在执行到该指令时发生相应的中断,并发出有关信号给该处理机构(异常处理机构);该处理机构在收到了处理器发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能。
    当用户使用操作系统调用时,通过使用访管指令产生中断,把目态切换成管态,并启用操作系统。访管指令包含对应系统调用的功能号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值