操作系统(二)操作系统运行机制

  • 内核态与用户态
  • 中断与异常
  • 系统调用接口
  • 存储系统
  • I/O系统
  • 时钟(Clock)

中央处理器(CPU)
一:CPU的构成与基本工作方式
处理器由运算器,控制器,一系列的寄存器以及高速缓存构成
运算器实现指令中的算术和逻辑运算,是计算机计算的核心
控制器负责控制程序运行的流程,包括取指令,维护CPU状态,CPU与内存的交换等等

寄存器是指令在CPU内部作处理的过程中暂存数据,地址以及指令信息的存储设备
在计算机的存储系统中它具有最快的访问速度高速缓存处于CPU和物理内存之间
利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高了CPU的效率
 
 
 
1.处理器中的寄存器
寄存器提供了一定的存储能力,速度比主存快,造价高,容量一般都很小

两类寄存器:用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数。控制和状态寄存器,用于控制处理器的操作由OS的特权代码使用,以控制其他程序的执行。

用户可见寄存器:机器语言直接引用。包括数据寄存器地址寄存器以及条件码寄存器数据寄存器(data register)又称通用寄存器,主要用于各种算数逻辑指令和访存指令。地址寄存器(address register)用于存储数据以及指令的物理地址,线性地址或者有效地址,用于某种特点方式的寻址。如index register,segment pointer,stack pointer。条件码寄存器保存CPU操作结果的各种标记位如算术运算产生的溢出,符号等等。

控制和状态寄存器:用于控制处理器的操作,大部分对于用户不可见,一部分可以在某种特权模式(由OS使用)下访问。常见的控制和状态寄存器:程序计数器(PC:Program Counter),记录将要取出的指令的地址。指令寄存器(IR:Instruction Register),包含最近取出的指令。程序状态字(PSW:Program Status Word)记录处理器的运行模式等等。
 
 
 
2.指令执行的基本过程
两个步骤:先从存储器中每次读取一条指令 然后执行这条指令。一个单条指令处理过程称为一个指令周期。程序的执行是由不断取指令和执行指令的指令周期组成。仅仅当开关机,出错或者有停机相关指令时,程序才停止。

特权指令和非特权指令
特权指令:只能由操作系统使用的指令。使用多道程序设计的计算机指令系统。必须要区分特权指令和非特权指令 特权指令一般引起处理器状态的切换。处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状体(管态)

 
 
 
3.处理器的状态
根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态。
管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态),系统态,核心态
目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态),用户态
有些系统将处理器状态划分为核心状态,管理状态和用户程序状态(目态)三种。

管态和目态的差别
处理器处于管态时:全部指令(包括特权指令)可以执行,可以使用所有资源,并具有改变处理器状态的能力。
目态——>管态:其转换的唯一途径就是通过中断
管态——>目态:可用设置PSW(修改程序状态字)可以实现

 
 
4.程序状态字PSW
在PSW中专门设置一位,根据运行程序使用指令的权限而设置,PSW(Program Status Word)
CPU的工作状态码——指明管态还是目态,用来说明当前在CPU执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或者拥有其他的特殊权利。
条件码——反映指令执行后的结果特征
中断屏蔽码——指出是否允许中断
 
 
 
二:存储系统
支持OS运行硬件环境的一个重要方面:
作业必须把它的程序和数据存放在内存中才能运行。多道程序系统中,若干个程序和相关的数据要放入主存储器。操作系统要管理,保护程序和数据,使得它们不至于受到破坏。操作系统本身也要存放在主存储器中并运行

1.存储器的层次结构
存储系统设计三个问题:
容量,速度和成本 容量:需求永无止境。 速度:能匹配处理器的速度。 成本问题:成本和其它部件相比应该在合适范围之内。
这三个目标不可以同时达到最优,要作权衡。存取速度快,每比特价格高。容量大,每比特价格越低,同时存取速度也越慢。
解决方案:采用层次化的存储体系结构,当沿着层次下降时,每比特的价格将下降,容量将增大。速度将变慢,处理器的访问频率也将会下降。

2.存储保护
对主存中的信息加以严格的保护,使得操作系统及其它程序不被破坏,是其正确运行的基本条件之一。
多用户,多任务操作系统:
OS给每个用户进程分配一个存储区域。为了保证软件程序只影响程序的内部。硬件可以提供如下功能:界地址寄存器(界限寄存器)存储键

 
 
 
三:中断与异常机制
中断对于操作系统的重要性就像机器中的驱动齿轮一样。所以有人把操作系统称为是由“中断驱动”或者“事件驱动”。它使得OS可以捕获用户程序发出的系统功能调用。及时处理设备的中断请求定时启动指定程序

中断的概念:CPU对系统发生的某个事件做出的一种反应。CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序。
特点:中断是随机的中断是可恢复的中断是自动处理的

中断/异常概念:指的是系统发生某个异步/同步事件后,处理机暂停正在执行的程序,转去执行处理该事件程序的过程。
中断的引入:为了开发CPU和通道(或设备)之间的并行操作,当CPU启动通道(或设备)进行输入/输出后,通道便可以独立工作了,CPU也可以转去做与此次输入/输出不相关的事情,那么通道(或者设备)输入/输出完成后,还必须告诉CPU继续输入 /输出以后的事情,通道(或设备)通过向CPU发中断告诉CPU此次输入/输出结束。
异常的引入:用于表示CPU执行指令时算术溢出,零做除数,取数时的奇偶错,访存指令越界或者就是执行了一条所谓“异常指令”(用于实现系统调用)等情况,这是中断当前的执行流程,转到相应的错误处理程序或者异常处理程序。
注意:最早中断和异常并没有区分,都把它们叫做中断,随着它们的发生原因和处理方式的差别愈发明显,才有了以后的中断和异常。

中断的分类
广义的中断:

  • 中断(外中断)
    • I/O中断
    • 时钟中断
    • 硬件故障中断
  • 异常(内中断)例外
    • 系统调用
    • 缺页异常
    • 断点指令
    • 其他程序性异常(如算术溢出)

中断与异常的区别
中断:与正在执行指令无关,可以屏蔽
异常:与正在执行指令有关,不可屏蔽

中断系统是现代计算机系统的核心机制之一
硬件和软件相互配合,相互渗透而使得计算机系统得以充分发挥能力的计算模式
中断系统的两大组成部分:硬件中断装置和软件中断处理程序。

中断寄存器
有的计算机中,由于可能有很多中断源请求同时发生,为了区分和不丢失中断信号,对应每个中断源分别用一固定触发器寄存中断信号规定值为1时,表示有中断信号,为0时表示无这些触发器的全体称为中断寄存器。每个触发器称为一个中断位,所以中断寄存器是由若干个中断位组成。

处理器如何发现中断信号
处理器的控制部件中设一个能检测中断的机构称之为中断扫描机构。在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号。若无中断信号,继续执行下一条指令。若有中断,中断硬件将该中断触发器内容按照规定编码送入PSW的相应位,称为中断码。

典型的中断处理
I/O中断:由I/O设备的控制器或者通道发出。共有两种情况,一种是I/O操作正常结束,需要进行中断处理。另一种是I/O异常,比如说设备故障或者是特殊情况引起的中断。

时钟中断:系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转,管理和维护相关的工作。包括处理器时间调度控制系统定时任务所引起的中断

硬件故障中断:硬件故障中断一般需要保存现场,使用一定警告手段,提供些辅助信息。尽可能恢复系统。

程序中断:程序指令出错,指令越权或者指令寻址越界而引发的中断。

系统调用中断
 
 
 
四:系统调用
程序接口是OS专门为用户程序设置的,也是用户程序取得OS服务的唯一途径,程序接口通常由各种类型的系统调用所组成,系统调用提供了用户程序和操作系统之间的接口,应用程序通过系统调用实现其与OS的通信,并取得它的服务。

1.系统调用与一般过程调用的特点
由于操作系统过程的特殊性,使得应用程序不能采用一般的过程调用,而是利用一种系统调用命令来调用所需的系统过程。可见系统调用在本质上是应用程序请求OS内核完成某功能的一种过程调用,但是它是一种特殊的过程调用,他与一般的过程调用有明显的差别。
运行在不同的状态。一般的过程调用,其调用程序和被调用程序都运行在相同状态:系统态(核心态,管态),或者用户态(目态)。而系统调用,调用程序在用户态,而被调程序在系统态。
状态的转换。为了保证系统程序不被应用程序有意或者无意破坏,计算机设置了两种状态:系统态和用户态。操作系统在系统态运行,应用程序在用户态运行。
返回问题
嵌套调用

系统调用的目的是请求系统服务

 
 
 
五:I/O技术
I/O结构:为满足对于I/O设备的控制,提高处理器和外部设备的运行效率,出现各种不同的I/O结构。
主要有:通道DMA技术缓冲技术

通道
独立于中央处理器,专门负责数据I/O传输的处理机,。它对外设实现统一管理。代替CPU对I/O操作进行控制,使得CPU和外设可以并行工作,通道又称为I/O处理机。
引入通道的目的:为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行度。

DMA技术
中断的引入大大地提高了处理器处理I/O的效率。当处理器和I/O间传送数据时,效率仍旧不高。
解决办法:直接存储器访问(DMA:Direct Memory Access)。通过系统总线中的独立控制单元,然后再到DMA控制器,自动控制成块数据在内存和I/O单元间的传送,大大提高处理I/O的效能。
当处理器需要读取一整块数据时会给DMA控制单元发送一条命令。命令中包含:是否请求一次读或者写,I/O设备的编址,开始读或者写的主存编制,需要传送的数据长度等信息。处理器发送完命令后就可以处理其它事情。DMA控制器将自动管理数据的传送,当这个过程完成后,它会给处理器发送一个中断。处理器只在开始传送和结束时关注一下就可以。

缓冲技术
缓冲区时硬件设备之间进行数据传送时,用来暂存数据的一个存储区域。
缓冲技术有三种用途:处理器与主存储器之间,处理器和其他外部设备之间,设备和设备之间的通信。
目的是解决部件之间速度不匹配的问题。
单缓冲区:设备向缓冲区输入数据直到装满后,必须等待CPU将其取完,才能继续向其中输入数据。为了提高设备利用率,单缓冲区不够。
多缓冲区(Cache)技术:Cache离CPU最近,使CPU快速访问常常使用的数据,CPU首先到一级Cache中找。如果没有,CPU到二级Cache中找。如果还没有,CPU到系统内存中找。
 
 
 
六:时钟
操作系统时钟是微机上所有软件获得时间的主要来源,其位置至关重要。
操作系统时钟的时间是由硬件提供的,如果危机硬件时钟有错,就会影响到操作系统。

时钟为计算机完成如下必不可少的工作:
在多道程序运行环境中,为系统发现陷入死循环(编程错误)的作业,方式时钟的浪费。
在分时系统中,间隔时钟实现作业间按照时间片轮转
在实时系统中,按要求的间隔输出正确时间信息信号给实时的控制设备。

时钟是操作系统运行的必不可少的硬件设施:
时钟一般分为硬件时钟软件时钟
时钟的用途可以分为绝对时钟相对时钟
绝对时钟不受外界干扰,独立运行。
相对时钟(间隔时钟):通过时钟寄存器实现。

用户程序在目态下使用特权指令将引起的中断是属于程序中断。
能影响中断响应次序的技术是中断优先级中断屏蔽

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺旺的碎冰冰~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值