5.操作系统的硬件基础8 i( ]: [8 o7 D1 k1 a6 H
现代计算机系统设备的发展异常迅速,导致了控制技术的发展,设备控制的基本技术是中断。
+ d5 A; S( ^: g. Q% c(1)中断的基本概念在计算机系统中,中断是改变处理器执行指令顺序的事件,被打断的程序可以在将来某个时候(可能在中断处理完成后立即或推迟,这是由操作系统控制的)恢复执行。计算机系统的中断既来自系统内部,也来自系统外部,分别称为内部中断和外部中断。①内部中断是系统本身在工作过程中出现的各种需要紧急处理的事件:一种是由于运行程序发生意外而产生的,另一种是运行程序需要发生的。内部中断也称为软件中断。②外部中断是由于硬件方面的原因,故也称为硬件中断,硬件中断往往是随机发生的,不是由正在运行的程序所控制的。外部中断和由于运行程序产生的例外中断常常称为强迫中断,而运行程序主动要求而产生的中断称为自愿中断。外部中断可进一步分成可屏蔽中断和不可屏蔽中断。不可屏蔽的中断是一些最紧急最重要的中断,如掉电等。可屏蔽的中断通过处理器内部的中断许可状态确定响应中断的次序或者不响应一些不重要(或不紧急)的中断请求。
* B# L5 N3 r7 }! q(2)中断的响应与处理引起中断的事件(即原因)称为中断源。目前,大多数系统都采用中断向量的技术,所谓中断向量,实际上是一种指针,就是由硬件对不同的中断源将控制转移到不同的中断处理程序入口地址。所有的中断向量构成一个中断向量表,它们通常存放在一个专门的存储区域中,这个区域的地址可以是固定的;相应的处理程序的入口地址通常是在系统引导过程中,通过对系统配置的检测,得到系统中设备配置的情况,在操作系统装入过程中,填写中断向量表中的指针内容。中断处理程序对中断事件的处理分两步进行。第一步是保护好被中断程序的现场信息,即保存被中断程序的寄存器以及PSW(程序状态字)的内容,以保证被中断程序以后能继续运行;第二步是具体处理中断。中断处理完成后,处理器分配给发生中断时正在运行的进程,还是分配给另一进程,这取决于被中断的进程是可剥夺的还是不可剥夺的。如果是不可剥夺的,它重新得到处理器,否则,可能被别的进程(如优先级更高)夺得处理器。
5 G+ Y' U( k9 i) m+ c2 |' q二、进程管理
' w8 Z8 i" Q% g6 F, g, y/ Y1.程序、进程和处理器
# R# a7 z6 M, e- O; L程序是指令的集合,每一程序完成确定的任务。在只允许一个程序运行的系统(称为单道系统)中,这个程序独占系统资源,而系统按程序的指令顺序运行,程序的顺序执行有两个基本特征,即程序的封闭性和程序的可再现性。封闭性是指程序运行时独占系统资源,只有程序本身能改变系统的状态;可再现性是指程序运行不受外部因素影响,只要初始条件相同,运行结果就相同。多道程序系统让多个程序在系统中轮流运行,当一个程序不用处理器时,另一个程序就使用。也就是说,处理器在程序间切换,从而获得宏观上的并行(微观上的串行),以提高处理器的利用率。这种切换,通常是由中断引起的。由于中断是以不可预测的次序发生,即程序的指令序列也以不可预测的次序前进,这样就会产生操作系统的另一特性:不确定性。即在多道程序系统中,顺序程序的封闭性和可再现性消失了。需要采用一个新的概念———进程来描述程序的执行,进程是运行中的程序。
9 t: P5 @9 t" F2 M4 Z" K2.进程间的通信
& s9 | D3 t' H8 v/ ?4 p0 u在操作系统中,进程是可以独立运行的程序单位,系统中的各个进程并不是相互隔离的:一方面它们相互竞争使用有限的资源,如处理器、存储器、设备或文件等;另一方面,它们可能相互协作以达到用户作业预期的目的。因此,进程之间需要某种形式的通信。进程之间直接发生联系的称为相交进程(又称相关进程),否则为不相交进程。相交进程需要协调彼此间的相对运行速度,存在着直接制约的关系。不相交进程之间的联系将表现在资源使用上的间接制约关系。2 N! l2 p. u5 C/ E# ^, o, v
(1)互斥多道系统中,各进程可以共享各类资源,但有些资源却一次只能供一个进程使用。这种资源常常称为临界资源,如打印机、公共变量、表格等。互斥是要保证临界资源在某一时刻只被一个进程访问。 |