目录
操作系统运行环境(1)
第一节
一、处理器的构成与基本工作方式
二、特权和非特权指令
三、处理器的工作状态
四、程序状态字
第二节、计算机系统硬件部件
一、存储系统
二、I/O部件:1.I/O结构,2.通道,3.DMA技术,4.缓冲技术
三、时钟部件
操作系统运行环境(2)
第三节、系统中断
一、中断与异常的概念
二、中断系统
三、中断优先级、中断屏蔽与中断嵌套
第四节、系统调用
一、系统调用简介
二、系统调用的处理过程
操作系统运行环境(1)
第一节
一、处理器的构成与基本工作方式
处理器一般由运算器、控制器和一系列寄存器以及高速缓存构成。
运算器:实现算数与逻辑处理
控制器:控制程序运行流程
寄存器:用于处理器执行指令的过程中暂存数据、地址及指令信息。
高速缓存:为CPU和内存提供一个高速的数据缓存区域。
1.处理器中的寄存器分为两类寄存器:
(1)用户可见寄存器,由编译程序分配,减少程序运行时访问内存的次数。
一般包括数据寄存器,地址寄存器、条件码寄存器。
(2)控制和状态寄存器,用来控制处理器的操作,常见的寄存器是程序计数器(PC)、指令寄存器(IR)、程序状态字(PSW)。
2.指令执行的基本过程
最简单的是两个基本步骤:
(1)读取指令,并将程序计数器的值变成下一条指令的地址。
(2)指令放入指令寄存器中,处理器解释并执行该指令。
3.指令的分类:访问存储器指令、I/O指令、算数逻辑指令、控制转移指令、控制器指令。
二、特权和非特权指令
在多道程序环境下,指令分为特权指令和非特权指令。
1.特权指令:
①在操作系统中那些只能由操作系统使用的指令。
②不允许一般用户使用
③比如:设置程序状态字、启动某设备、设置中断屏蔽字等
2.非特权指令:普通用户使用的指令
三、处理器的工作状态
1.管态和目态
管态:操作系统管理程序运行时的状态,又称内核态、系统态等,具有较高特权。
目态:一般用户程序运行时的状态,又称用户态、普通态,具有较低特权。
2.处理器工作状态的转换
目态到管态的转换:唯一途径是通过中断。中断响应时交换中断向量,新的中断向量的PSW处理器状态标志位管态。
管态到目态的转换:可通过设置PSW指令,实现从操作系统到用户程序的转换。
3.限制用户程序执行特权指令,当用户程序执行时,如果取到一条特权指令,则处理器拒绝执行该指令,并形成一个“非法操作事件”,然后操作系统通知用户程序-->程序中有非法指令。
四、程序状态字
为了解决处理器当前工作状态的问题,所有的处理器都有一些特别的寄存器,用以表明处理器当前的工作状态。用来指示处理器状态的寄存器,称为程序状态字。
比如:CF进位标志,ZF:结果为0标志等
程序状态字一般包括如下:
①CPU的工作状态代码,指明当前的工作状态是管态还是目态。
②条件码,反映指令执行后的结果特征,比如结果为0等。
③中断屏蔽码,指出是否允许中断
第二节、计算机系统硬件部件
一、存储系统
1.存储器的类型:
(1)类型:①读写型存储器(RAM),用来存储随机存取的程序和数据;②只读存储器(ROM),存放一些固化的程序
(2)存储分块
存储最小的单位:位(bit)
最小编制单位:字节
分块:为了分配和管理方便,将内存划分为大小相等的块(物理页Page),块为单位分配内存空间,大小一般为512B,1KB,4KB,8KB等。
2.存储器的层次结构
(1)容量、速度和成本的匹配,距离金字塔塔尖越近速度越快成本也越高,距离塔尖越远速度越慢成本越低
(2)存储访问局部性原理,程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下是顺序执行的。过程调用将会使程序的执行轨迹,由一部分区域转移至另一部分区域,即程序将会在一段时间内,都局限在这些过程的范围内运行。
程序中存在许多循环结构,这些虽由少数指令构成,但是它们将多次执行。程序中还包括对许多数据结构的处理,如对数组进行操作,它们往往都局限于很小的范围内。基于这一原理,设计多级存储的体系结构
3.存储保护,多道程序设计系统中,保证每个程序独立运行、互不干扰,称为存储器保护。
方法:界地址寄存器
二、I/O部件:1.I/O结构,2.通道,3.DMA技术,4.缓冲技术
三、时钟部件
1.功能:(1)发现死循环,防止机时的浪费
(2)分时系统中,时钟间隔实现时间片轮转执行
(3)实时系统中,按要求的时间间隔控制设备
(4)定时唤醒各个外部事件
(5)记录各种设备的使用时间和某外部事件发生的时间间隔
(6)记录用户和系统所需的绝对时间,即年、月、日
2.分类:硬件时钟和软件时钟,用途分绝对时钟和相对时钟
操作系统运行环境(2)
第三节、系统中断
一、中断与异常的概念
中断:指处理器对系统中或系统外发生的异步事件的响应。
异步事件:指无一定时序关系的随机发生的事件,如外部设备完成了数据传输任务,某一实时控制设备出现异常情况等。
1.中断与异常
中断源:引起中断的事件称为中断事件或中断源。
中断请求:中断源向处理器发出的请求信号。
中断事件处理程序:处理中断事件的程序
断点:发生中断时正在执行的程序的暂停点
中断响应:处理器暂停当前程序转而处理中断的过程
中断返回:中断处理程序结束后恢复原来程序的执行
中断向量表:为了使得中断装置可以找到恰当中断处理程序,专门设计了中断处理程序的入口地址映射表,又称中断向量表。
异常:由正在执行的指令引发的中断
2.中断与异常的分类
典型的中断:时钟中断、输入输出中断、控制台中断、硬件故障中断
典型的异常:程序性中断、访管指令异常
二、中断系统
1.中断请求的接收,中断系统如何接受中断源的中断请求,因机器而异,一般由中断逻辑线路和中断寄存器实现
2.中断响应,处理器的控制部件中有中断信号扫描结构,它每条指令执行周期内的最后时刻扫描中断寄存器,查看是否有中断信号到来,若无中断信号,处理器就继续执行下一条指令。若有中断到来,处理器接收由硬件中断装置发来的中断向量代号,准备中断处理准备工作。
中断请求响应过程:①处理器接收中断信号;②保护现场;③分析中断向量;④将处理器的PC值置为中断程序的入口地址;⑤调用中断处理程序;
3.中断处理,中断信号被接收和响应之后,进行中断处理,包括:检查I/O相关的状态信息,操纵I/O设备或者在设备和内存之间传送数据等。
中断处理结束后,中断返回,恢复系统上下文,原有程序继续运行,处理器状态也成管态恢复成目态。
整个中断信号的接收、响应和处理过程,可归纳为以下步骤:
(1)接收和响应中断
(2)保护中断断点现场
(3)分析中断向量,调用中断处理程序
(4)中断处理结束恢复现场,原有程序继续执行
4.几种典型的中断处理
(1)I/O中断;(2)时钟中断;(3)硬件故障中断;(4)程序性中断;(5)系统服务请求
三、中断优先级、中断屏蔽与中断嵌套
1.多级中断与中断优先级
作用:(1)对各类中断信号依据其紧急程度和重要性划分级别,系统优先处理最紧急或最重要的任务。
(2)解决如果有多个中断信号同时到达,如何选择首个被处理的中断信号的问题。
2.中断屏蔽,整个中断系统中,允许或禁止中断系统对某些类别中断的响应,PSW中设计有中断屏蔽位。
比如:某个I/O被中断屏蔽,意味着即使有I/O中断信号,处理器也不予响应。
注意:有些信号是不能屏蔽的,一般这类中断信号属于机器故障中断,比如掉电,机器无法继续操作,一旦发生,无论信号是否屏蔽,处理器都会立即响应,并进行处理。
3.中断嵌套,一般的计算机系统都有多个中断源,如果一个中断处理的过程又发生了中断,有两种策略处理:(1)当处理一个中断时禁止其他中断;(2)中断嵌套,即中断按照优先级划分,允许优先级高的中断优先级低的中断处理过程,优先进行处理。
第四节、系统调用
一、系统调用简介
系统调用的概念:就是用户在程序中调用操作系统提供的一些子功能,是操作系统提供给编程人员的唯一接口;是一种特殊的调用过程,由特殊的机器指令实现,这条指令将系统转入管态。
1.系统调用与函数调用的区别
(1)运行在不同状态,系统调用是管态,函数调用是目态
(2)状态的转换;(3)返回问题;(4)嵌套调用;
2.系统调用的分类
(1)进程控制类;(2)文件操作类;(3)进程通信类;(4)设备管理类;(5)信息维护类;
二、系统调用的处理过程
陷入(trap):在系统中为控制系统调用服务的机构称为陷入或异常处理机构。
陷入或异常指令(访管指令):把由于系统调用引起处理器中断的指令称为陷入或异常指令(或称访管指令)