中断机制:
中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。
中断是CPU对系统发生的某个事件作出的一种反应。引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点成为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分成为软件处理程序。中断装置和中断处理程序统称为中断系统。
一般将中断源分为两大类:强迫性中断和自愿性中断。
强迫性中断是正在运行的程序所不期望的,它们是或发生,何时发生事先无法预料,因而运行程序可以在任意位置处被打断。
中断类型:
1. 输入输出中断:这是来自通道或外部设备的中断。
2. 硬件故障中断
3. 时钟中断,如硬件时钟到时。
4. 控制台中断,如系统控制员通过控制台发出命令。
5. 程序性中断
自愿性中断是正在运行的程序有意识安排的,通常是由于程序员在编制程序时,因要求操作系统提供服务而有意使用访管指令或系统调用,从而导致中断的,所以又称其为访管中断。系统为每类中断设置一个中断处理程序。每个中断处理程序都有一个入口地址PC及其运行环境PSW,它们被称为中断向量,保存在内存中固定的单元。中断响应是解决中断的发现和接受问题,是由中断装置完成的。中断响应是硬件对中断请求作出响应的过程,包括识别中断源,保留现场,引出中断处理程序等过程。CPU每执行完一条指令,便去扫描中断寄存器,查询有无中断请求。若有中断请求,则通过交换中断向量进入中断处理程序,这就是中断响应。系统根据引起中断事件的重要性和紧迫程度,由硬件将中断源分为若干个级别,称为中断优先级。
中断屏蔽是指在提出中断请求之后,CPU不予响应的状态。它常常用来在处理某一中断时防止同级中断的干扰或在处理一段不可分割,必须连续执行的程序时防止任何中断事件的干扰。CPU是否允许某类中断,由当前程序状态字中的中断屏蔽位决定。
屏蔽中断源相当于关中断,处于关中断状态下执行的程序段因尽量短,否则可能会丢失信息,也会影响系统的并发性。
中断处理过程:
1.保存被中断程序的现场。
2.分析中断源,确定中断原因。
3.转去执行相应的处理程序。
4.恢复被中断程序现场,继续执行被中断程序。
操作系统向用户提供两类接口:一类是用于程序级的,另一类是用于作业控制一级的。
1 程序级接口。
它由一组系统调用命令组成。与机器指令不同之处在于系统调用命令由操作系统核心解释执行。系统调用是操作系统向用户提供的程序一级的服务,用户程序借助与系统调用命令来向操作系统提出各种资源要求和服务请求。一般系统调用可分为几类:设备管理类,文件管理类,进程控制类,进程通信类,存储管理类。
2 作业级接口。
这类接口是系统为用户在作业一级请求系统服务而设置的,用户可利用这组接口组织作业的工作流程和控制作业的运行。作业级接口分为联机接口和脱机接口:①联机接口。联机接口由一组键盘操作命令组成,是用户以交互方式请求操作系统服务的手段。键盘操作命令的作业控制方式灵活方便,用户可以根据运行情况随时干预自己的作业,但是系统利用率不高。②脱机接口。由一组作业控制命令组成,供脱机用户使用。这种接口主要是用于批处理方式操作系统,其优点是作业的操作过程由系统自动调度或系统操作员干预,因而系统利用率高。处理机是计算机系统中最重要的资源。多道程序设计是操作系统所采用的最基本,最重要的技术。其根本目的是提高整个系统的效率。
衡量系统效率的尺度是系统吞吐量。所谓吞吐量是单位时间内系统所处理作业的道数。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行运动,进程是系统核心资源分配和调度的一个独立单位。进程可以分为系统进程和用户进程两类。
系统进程的优先级通常高与一般用户进程的优先级。从静态的角度看,进程是程序,数据和进程控制块PCB三部分组成。
进程和程序的区别是程序是静态的,而进程是动态的。一个进程可以执行一个或几个程序,一个程序也可以构成多个进程。被创建的进程成为子进程,创建者称为父进程,从而构成进程家族。操作系统的并发性和共享性正是通过进程的活动体现出来的。(进程特征)
1 并发性。2 动态性。3 独立性。4 交往性。5 异步性。
进行中的进程可以处于以下三种之一:运行,就绪,等待。
运行状态是进程已经获得CPU,并且在CPU上执行的状态。显然,在一个单CPU系统上,最多只有一个进程处于运行状态就绪状态,是一个进程已经具备运行条件,但是由于没有获得CPU而不能运行所处的状态。等待状态,也叫阻塞状态或封锁状态。是进程因等待某种事件发生而暂时不能运行的状态。在任何时刻,任何进程都处于且仅处于以上3种状态之一。
为了便于系统控制和描述进程的活动进程,在操作系统核心中为进程定义为一个专门的数据结构,成为进程控制块PCB。
PCB信息可以分成为调度信息和现场信息两部分。
每个进程都有自己专用的工作存储区,其他进程运行时不会改变它的内容。
进程是程序,数据和进程控制块PCB三部分组成。
系统中进程队列分为3类:
①就绪队列。②等待队列。③运行队列。在单机系统中整个系统只有一个。实际上,一个运行队列中只有一个进程。进程同步是进程之间一种直接的协同工作关系,是一些进程相互合作,共同完成一项任务。进程之间间接相互作用构成进程同步。各个进程互相排斥使用这些资源,进程之间的这种关系是进程的互斥。进程之间的间接相互作用叫做进程的互斥。系统中一些资源一次只允许一个进程使用,这个资源称为临界资源。而在进程中访问临界资源的那一段程序称为临界区。
系统对临界区的调度原则归纳为:当没有进程在临界区时,允许一个进程立即进入临界区;若有一个进程已经在临界区,其他要求进入临界区
的进程必须等待,进程进入临界区的要求必须在有限时间里得到满足。信号量。被P和V操作使用。
原语是由若干条机器指令构成的一段程序,用以完成特定功能。原语在执行过程中不可分割。高级通信原语,解决大量信息交换问题。
目前高级通信机制有1 消息缓冲通信,2 管道通信和3 信箱通信。
1 实现信息缓冲通信,要利用发送原语和接受原语。
2 管道通信以文件系统为基础。实质是利用外存来进行数据通信,故具有传送数据大的优点。
3 信箱通信。分为单向信箱和双向信箱两种通信方式。