计算机操作系统学习(三)处理器管理(1)

目录

学习建议:

基本内容:

一.什么是多道程序设计:

二.为什么要采用多道程序设计:

(一)提高了处理器的效率  

        (二)充分利用外围设备资源  

        (三)发挥了处理器与外围设备以及外围设备之间的并行工作能力  

三.采用多道程序设计应注意的问题  

1.可能延长程序执行时间:

2.并行工作道数与系统效率不成正比任何一个需要:

3.多道程序系统的特点:

四.进程:

1.程序间的制约方式:

2.进程和程序的区别:

3.进程和线程的区别:

4.多个不同的应用程序进行工作:

五.进程的基本状态:

六.进程队列:        

 (1)进程控制块:

(2)进程的创建和撤销:

 (3)进程队列:

七.中断的概念和分类:

 通常在以下两种情况发生中断:  

1.强迫性中断事件:

2.自愿性中断事件:

八.中断响应:

1.中断寄存器:  

2.程序状态字:  

3.中断响应:



学习建议:

 本章首先引入多道程序设计概念,重点讲述了现代操作系统中最重要最基本的概念--进程,以及中断系统的一般知识,是学习以后有关章节的基础,学习中应该以深入理解掌握为主,掌握多道程序的基本概念,引入多道程序的目的和注意的问题;应该掌握进程的概念,进程控制,进程调度;中断系统的基本概念,结构以及中断处理。

基本内容:

一.什么是多道程序设计:

我们先来看一个例子。假定有某个数据处理问题,每次从输入机读一批数据,按要求进行处理后,把产生的结果打印输出,然后再读一批数据,如此循环直至所有数据处理完毕如图1所示。


                                                                图1        数据的循环处理
  显然,这个数据处理问题的程序在执行时不能使输入机、处理器和打印机同时工作。在输入数据时,处理器和打印机空闲。当处理器在处理数据时,输入机和打印机又在空等。同样地,打印机也只是在有结果产生时才工作,而这时处理器和输入机又无事可做。如图2所示。

 

                                                                         图2        单道处理

从上面的例子,我们可以引出多道程序设计的概念。这种计算机系统称"多道程序设计系统"或简称"多道系统"。

多道程序设计
  让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种设计技术称"多道程序设计"。

        在多道程序设计的系统中,主存储器中同时存放了多个作业的程序。为避免相互干扰,必须提供必要的手段使得在主存储器中的各道程序只能访问自己的区域。这样,每道程序在执行时,都不会破坏其他各道的程序和数据。特别是当某道程序发生错误时,也不致于影响其他程序。也就是说,在多道程序设计的系统中,应采用"存储保护"的方法保证各道程序互不侵犯。
  在多道程序设计的系统中,也不能事先规定程序存放在主存的哪个区域内,这要根据程序的大小及主存中空闲区域的大小来决定。因此,要求编制的程序存放在主存的任何区域都能正确执行。甚至在执行过程中,当程序被改变了存放区域,其执行仍不受影响。

二.为什么要采用多道程序设计:

在上面的例子中,为了提高系统效率,可以考虑同时接收两道以上的计算问题。外围设备传输信息的同时可以让另一道算题去占用空闲的处理器。处理器这样,当一道算题在等待如图3所示:

                                                                图3        两道并行处理

 显然对具有处理器与外设并行工作能力的计算机系统采用了多道程序设计的技术后,能提高整个系统地效率:

(一)提高了处理器的效率
  

从图2中看到在t2~t4的这段时间内处理器是空闲的,而在图3中又看到处理器在t2~t4的时间段内又忙碌了段时间,即缩短了空闲时间。如果再增加并行执行的程序道数,则可进-步减少处理器的空闲时间,提高处理器的使用效率。 

        

(二)充分利用外围设备资源
  

一个计算机系统经常配置多种外围设备,例如,输入机、打印机、磁带机及磁盘机等。单道程序可能只需要使用其中的一部分设备,因而另一部分设备就被闲置。而采用多道程序并行工作时,只要把使用不同外围设备的程序搭配在一起,同时装入主存储器,那么,系统中的各种外围设备都经常会处于忙碌状态,使系统中的设备资源被充分利用。 

        

(三)发挥了处理器与外围设备以及外围设备之间的并行工作能力
  

        尽管硬件具有处理器与外围设备的并行工作能力,但按照图2的工作方式,输入机、处理器及打印机是不能并行工作的。当采用多道程序设计后,情况就不同了。
  从图3中可以看到输入机与磁带机在并行工作,打印机与磁带机在同时工作,处理器与打印机也一起在忙碌。
  所以,多道程序设计实际上是利用了硬件的并行工作能力,但也只有多道程序设计才能发挥它们的并行工作能力。

因此,从总体上说,采用多道程序设计技术后可有效地提高系统中资源的利用率单位时间内的算题量,从而提高了吞吐量。
 

三.采用多道程序设计应注意的问题
  

采用多道程序设计能改善资源使用情况,提高系统效率。但是,应注意如下两个问题:

1.可能延长程序执行时间:

 假定有甲、乙两道程序,如果它们单独执行时,每道要用一个小时,其中处理器工作 18分钟,即处理器利用率为30%。
  如果采用多道程序设计方法,让甲、乙两道并行工作,假定处理器的利用率达到了 50%。那么,两道程序总共需要36分钟的处理器时间,则实际执行时间大约就是72分钟。另加操作系统进行调度等花费的时间,那么,可能总共花费80分钟,两道程序都能执行结束并产生结果。
  与两道依次执行共需120分钟比较,采用多道程序设计效率可以提高 (12%~33%),但是,从甲、乙两道程序来看,如果单道执行,则先执行的那道程序花60分钟就可以有结果。而两道并行工作时,都必须用80分钟时才有结果。可见,多道程序设计提高了系统的吞吐量,但延长丁某些程序的执行时间。
  因此,在设计实时操作系统时,是否采用多道程序设计技术要特别慎重实时处理的计算问题,是不允许延长计算时间的。

2.并行工作道数与系统效率不成正比任何一个需要:

从图3中可以看到在两道并行工作时处理器仍有空闲时间,如果再增加并行工作的道数,处理器的利用率可以进一步提高。那么,是否可以让处理器始终忙碌,利用率达到 100%呢?从表面上看,只要增加并行工作道数就可提高效率。但实际上并行工作的道数与系统的效率是不成正比的,并行的道数要根据系统配置的资源和用户对资源的要求而定。
  首先,主存空间的大小限制了可同时装入的程序数量。
  其次,外围设备的数量也是一个制约条件。
  再次,多个程序同时要求使用同一资源的情况也会经常发生。
  因此,我们希望在主存中的多道程序在使用设备时不发生冲突,即希望它们在同一时刻使用系统中的不同设备,而对同一个设备能在不同的时刻使用。

总之,多道程序设计能提高资源使用效率,增加单位时间的算题量。但是对每个计算问题来说,从算题开始到全部完成所需要的时间可能要延长。另外,在确定并行工作道数时应综合系统的资源配置和用户对资源的要求。

3.多道程序系统的特点:

(1)系统中存在着多个同时进行的活动。

(2)多道程序相互穿插交替运行,一道程序的前一个操作完成之后,系统并不马上执行其后续操作,而可能转去执行其他程序的某些操作,即并发出另一个程序的运行。

四.进程:

进程是能和其它程序并行执行的程序段在某数据集合上的一次运行过程.它是系统资源分配和调度的一个独立单位。

进程管理的主要功能是把处理机分配给进程,并协调各个进程之间的相互关系。

组成部分

功能

进程调度程序  根据一定的调度原则,确定分配给就绪进程中的哪一个,何时分配以及分配的时间长短等。
交通控制程序

交通控制程序的功能是记住进程所处的状态,并实现进程状态之间的转换。

进程的并行执行产生了一些和顺序执行时不同的特征,主要是并行执行的程序之间具有相互制约的关系。由于程序是并行执行的,它们之间必须共享计算机系统的资源,这就使得本来相互无逻辑关系的用户程序之间产生了相互制约关系。
  此外,程序的执行过程也发生了变化,也就是说,并行执行程序有时处在执行状态,有时又由于程序间的制约而处于暂停等待状态:一旦这种引起暂停的因素解除,程序又可以恢复到执行状态。所以,程序并行执行因制约关系使得执行程序具有"执行一暂停一执行"的活动规律。

1.程序间的制约方式:

(1)间接制约方式。这是由于竞争相同资源而引起的.得到资源的程序段可以投入运行,而得不到资源的程序段就要暂停。

(2)直接制约方式。这通常发生在逻辑上有间共享信息引起的。

        引入进程的目的是为了能够确切地描述并行程序执行过程的特点,能揭示操作系统的动态实质。因此,在操作系统中引入进程概念是非常自然和必要的,它是一个很重要的概念。
  通常把进程分成"系统进程"和"用户进程"两大类,把完成操作系统功能的进程称系统进程,完成用户功能的进程则称用户进程。

2.进程和程序的区别:

区别
进程(1)是指一组指令序列在处理机上的一次执行过程,是动态的。
(2)是程序在一个数据集合上的运行过程,它具有动态、并行、独立、异步等特性;
(3)一个进程由"创建"而产生、由调度而进入执行、在资源不能满足时被"挂起"、由"撤销"而消亡,因此,进程是有生命的。
程序

程序是一组指令的有序集合,是静态的。

(1)进程是程序的执行,进程是动态概念;程序是一组指令的有序集合,是静态概念。
  (2)进程是有生命过程的,从诞生(建立)到死亡(撤消);程序的存在则是永久的。
  (3)进程的组成包括程序,数据,以及记录进程状态信息的"进程控制块"。
  (4)一个程序可能对应多个进程。
  (5)一个进程可以包含多个程序,主程序执行中调用其它程序。

3.进程和线程的区别:

区别
进程一个进程可以产生多个线程,这些线程都共享该进程的地址空间,它们可以并行、异步地执行。
线程

采用线程最主要的好处是:使同一个程序能有几个并行执行的路径,提高了执行速度;线程需要的系统开销比进程要小。

4.多个不同的应用程序进行工作:

由于允许活动任务和后台任务同时运行,所以可以做到有一个任务在后台执行时,前台又能干另一件事。这就极大地提高了工作效率,因为大多数用户都确实需要同时对几个不同的应用程序进行工作。

在Windows 3.X中,多个应用程序同时运行是采取一种所谓的"协作式"方式,称为"协作式多任务"。"协作"这个用语意味着多个应用程序之间必须相互协调,依次实现对操作系统的控制。它们并不是真正的多任务执行,因为其中还有多任务共享系统资源的问题。
  为了让操作系统把控制权从一个程序转换到另一个程序,当前活动的程序就必须周期地检查一个消息队列。如果某个程序不能经常检查消息队列,操作系统就不能实现控制权的转移。
  在Windows 95中采用了一种所谓带优先权的多任务方式来运行基于Win32(Windows的32位)应用程序,称为"抢先式多任务"。在这种方式下,操作系统可以在需要时中断当前的任务,再按照任务队列中各个任务的优先级别来进行任务的调度。为兼容起见,基于Win16(Windows的16位)应用程序仍采用协作式方式完成多任务执行。
  在Windows 3.X的协作式多任务环境中,必须在Windows 3.X"控制面板"中386增强模式实用程序的一个对话框中才能设置任务的优先级。而Windows 95则在缺省情况下就是完全带优先级的,所以不需要手工对优先级加以设置,这个任务由Windows 95在后台透明地加以完成。
  Windows 95抢先式多任务执行实际上就是抢先式多线程执行。为了抢先式多线程执行实现,每个线程有一个优先级值,范围是从0到31。优先级0最低,保留给系统使用。优先级1到31分成四类:空闲(1-6),正常(5-11),高(11-15)和实时(16-31)。正常分类又进一步分成二级:后台(5-9)和前台(6-11)。注意这些范围是有重叠的。这样做可使调度更灵活。
  VMM(虚拟机管理程序)负责在分时抢先的环境里调度各个进程和线程,具体包括以下服务:生成线程、管理线程、撤消线程和线程调度。
  VMM中有两个调度程序:主调度程序和时间片调度程序。主调度程序负责确定最高优先级的线程。只有最高优先级的线程才会运行,其他优先级较低的都被封锁;时间片调度程序负责为所有具有最高优先级的可运行任务分配时间片。

系统运行过程中,线程的优先级可由系统或设备驱动程序(或两者)改变。例如,一旦中断产生,则处理这个中断的线程优先级临时提高,以便它立即得到时间来处理该中断。完成后,优先级可以再降低。

五.进程的基本状态:

进程有三种基本状态,一个进程在任何时刻总是处于其中的一种状态。

为了便于管理,根据进程在执行过程中的不同时刻的状态归结为三种基本状态:

(1)等待态:等待某个事件的完成。

(2)等待系统分配处理器以便运行。

(3)占有处理器正在运行。

进程在执行过程中状态不断发生变化,每个进程在执行过程中的任一种基本状态之一。

在一个实际的系统里,往往把这三种基本状态还细分成若干状态。例如,在UNIX操作系统中,进程的状态被分成六种。当然,状态被细分后,状态转换关系相应地也要复杂一些。 

六.进程队列:
        

系统中到底有多少进程在并发执行?如何知道这些进程各自的状态?怎样才能找到这些进程?进程运行中被打断后,当它再次轮到运行时,能否让它继承被打断前的执行情况进行后继的工作?等等。下面看看操作系统如何解决这些问题。

 (1)进程控制块:

 为了标识进程,记录各个进程执行时的情况,操作系统为每个进程都设置一个"进程控制块"。进程控制块的英文名称是process control block,缩写成PCB。
  对于不同的操作系统来说,进程控制块记录信息的内容与数量是不相同的。操作系统的功能越强,进程控制块中的信息量也就越多。

1.标识信息
  每个进程都要有一个唯一的标识符,用以标识进程的存在和区分各个进程。标识符可以用字符或编号表示。
2.说明信息
  用于说明本进程的情况,其中"进程状态"是指进程的当前状态(运行、就绪和等待三种基本状态之-),若是等待状态的话,则进一步说明具体的等待原因;"进程程序存放位置"指出该进程的程序存放在哪里;"进程数据存放位骨"指出进程执行时的工作区,用来存放处理的数据集和处理结果。
3.现场信息
  当进程由于某种原因让出处理器时,把与处理有关的各种现场信息保留下来,以便该进程在重新获得处理器后能把保留的现场信息重新置入处理器的相关寄存器中继续执行。通常被保留的现场信息有通用寄存器内容、控制寄存器内容以及记录有关系统状态和进程暂停执行时断点的程序状态字寄存器内容等。
4.管理信息
  对进程进行管理和调度的信息。通常用"进程优先数"指出进程可以占用处理器的先后次序;"队列指针"指出处于同-状态的另一个进程的进程控制块地址,这样就可把具有相同状态的进程链接起来,便于对进程实施管理。

(2)进程的创建和撤销:

        进程是一种动态实体,一个进程能完成一个特定的任务,当任务完成后其执行也结束了,该进程也就不再存在。所以说,每个进程都是有生命期的,即从创建到消亡。
1.进程的创建:
  请求系统为一个程序分配一个工作区(存放程序处理的数据集)和建立一个进程控制块后就创建了一个进程。
  当一个用户作业被接受进入系统后,可能要求创建一个或多个进程才能完成这个作业。由于进程控制块是进程存在的标识,所以,每创建一个进程就要建立一个进程控制块。一个刚被创建的进程,它的初始状态为"就绪态"。操作系统依据进程控制块对进程进行控制和管理,把进程执行时不断变化的情况也记录在进程控制块中。
2.进程的撤消:
  当一个进程完成了特定的任务后,系统收回这个进程所占的工作区和取消该进程的进程控制块,就撤消了该进程。
  一个进程被撤消后就结束了它的生命,而该进程就消亡。

 (3)进程队列:

        在多道程序设计的系统中,往往会同时创建多个进程。在单处理器的情况下每次只能让一个进程运行,其他的进程处于就绪状态或等待状态。
  为了便于管理,经常把处于相同状态的进程链接在一起,称为"进程队列"。
  若干个等待运行的进程(就绪进程)按一定的次序链接起来的队列称"就绪队列"。
  把等待资源或等待某些事件的进程也排成队列。有时可以把等待队列按等待的原因分成若干个相应的等待队列。
  由于进程控制块能标识进程的存在和动态刻画进程的特性,因此,进程队列可以用进程控制块的链接来形成。链接的方式有两种:单向链接和双向链接。

                                                图4        进程队列

        同一队列中的进程,通过进程控制块中的队列指针联系起来,前一进程的进程控制块中的指针值为它的下一个进程的进程控制块的地址,队列中最后一个进程的进程控制块中的指针值置为"0"。
  在双向链接中,可设置两个指针,称为前向指针和后向指针,分别指出它的前一个或后一个进程的进程控制块地址。另外,系统还为每个队列设置一个队首指针,指出该队列的第一个和最后一个进程的进程控制块地址,以便双向搜索。
  一个刚被创建的进程,它的初始状态是"就绪态"。因此,它应该置于就绪队列中。当一个进程能被选中占用处理器时,就从就绪队列中退出成为"运行态"。进程在运行过程中, 可能要求读磁盘上的信息而成为等待磁盘传输信息的状态,便进入等待队列。
  当磁盘的传输 操作结束后,进程又要退出等待队列而进入就绪队列。可见,进程在执行过程中,随着状态 的变化经常要从一个队列退出后再进入另一个队列,直至进程工作结束。一个进程从所在的 队列中退出称为"出队";一个进程排入到指定的队列中称"入队";系统中负责进程入队和 出队的工作称"队列管理"。

        以图4中双向链接的队列讨论进程的"出队"和"入队"。假定某个指定进程要退出队列,则首先找到该队列的队首指针,沿链查找要出队的进程,找到后只要修改与该进程相邻进程的前向或后向队列指针值就行了。根据要出队的进程原先在队列中的位置可以分成三种情况:
  1.队首进程出队:
  队首进程出队时,只要把该进程的后继进程的前向指针值修改成"0",把出队进程的后向指针值送入队首指针单元中。于是,原先在队列中的第二个进程成了队首,而原来的队首进程已于队列脱钩了。
  2.非队首(或队尾)进程出队:
  如果欲出队的进程既不是队首进程也不是队尾进程,则可以假定进程B要出队,进程B的前一个进程是进程A,而后一个是进程C。于是,进程B的出队过程是:把进程B的前向指针值送入进程c的前向指针位置;把进程B的后向指针值送入进程A的后向指针位置。于是,进程A的后向指针就指向进程C,而进程C的前向指针就指向进程A,进程B就从队列中退了出来。

  如果某进程要加入到一个队列中去,若队列原来是空的,则入队的进程就成为该队列的第一个进程。若原队列非空,则应先找到入队进程应插入的位置,再根据链接要求修改相邻进程的队列指针值。进程入队时,根据应插入的位胄也可分成三种:从队首入队成为新的队首进程,从队尾入队成为新的队尾进程,插入到队列中某两个进程之间。

七.中断的概念和分类:

  中断很像子程序,但又不同于一般意义上的子程序。

中断是计算机在运行过程中随机的和实时的处理外界发出的各种请求或紧急情况的技术。

 通常在以下两种情况发生中断:
  

        1.希望请求,例如需要从设备输入或输出;
  2.意外发生,例如除法溢出等。
  中断有硬件中断和软件中断之分
  1.外中断(来自外部硬件的中断)
  2.内中断(来自内部硬件的中断) 


  从中断事件的性质来说,可以分成两大类:

1.强迫性中断事件:


1.强迫性中断事件:
  这类中断事件不是正在运行的进程所期待的,是由于外部的请求或某些意外事故而迫使正在运行的进程被打断。强迫性中断事件的发生是随机的,无法预知是否会发生和发生的时间,因而进程的断点可能在任意位置。

2.自愿性中断事件:

​​​​​​​
2.自愿性中断事件:
  这是正在运行的进程所期望的中断事件,是正在运行的进程为了请求调用操作系统的某个功能服务而执行一条"访管指令"所引起的中断。例如,用户请求操作系统分配主存储器空间,或请求分配一台设备,或请求启动外围设备工作等。经常把自愿性中断事件称为"访管中断"。

  

        中断是CPU处理外部突发事件的一个重要技术。它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行CPU原来的工作。引起中断的原因或者说发出中断请求的来源叫做中断源。
  CPU为了处理并发的中断请求,规定了中断的优先权/中断优先权由高到低的顺序是:

八.中断响应:

         

        通常,处理器每执行完一条指令后,硬件的中断装置定即检查有无中断事件发生,若有中断事件发生,则暂停现行进程的执行,而让操作系统的中断处理程序占用处理器,这一过程称"中断响应"。

1.中断寄存器:
  

        处理器执行指令时,分析指令的操作码,如果操作码表示为"访管指令",则立刻通知中断装置有自愿性中断事件发生。然而,中断装置怎样知道是否有强迫性中断事件发生呢?由于强迫性中断事件是在指令执行过程中识别到的或随机的外部请求引起的,为此,硬件设置了"中断寄存器",它是记录强迫性中断事件的寄存器。
  于是,中断装置只要检查中断寄存器就可知道是否有中断事件发生,若中断寄存器内容则无中断事件发生,处理器继续执行下一条指令;若有中断寄存器的内容为"0",则表示有中断事件发生。 

2.程序状态字:
  

        当中断装置检查到有中断事件发生后,应保护被中断进程的哪些信息?怎样保护?又怎样让操作系统的中断处理程序占用处理器?为了弄清这些问题,先介绍一下"程序状态字"。
  程序状态字(program status word缩写为PSW)是用来控制指令执行顺序并且保留和指示与程序相关的系统状态。一般说来,程序状态字包含三部分内容。 

(1)程序的基本状态:
  a.指令地址--指出下一条指令的地址。处理器每取一条指令后,总是修改指令地址使其指示下一条指令的存放位置。这样,在一条指令执行完后,就可立即按指令地址的指示取出后继的指令执行。
  b.条件码--指出指令执行结果的特征。处理器执行一条指令后,把指令执行后的特征用条件码的形式记录下来。由于程序执行的顺序性,只有当前的特征才会对后继指令产生影响,故条件码随指令的执行不断被更改。
  c.目态/管态--设置为管态,程序执行时可以使用包括特权指令在内的一切指令,若设置为目态,程序执行时不可使用特权指令。
  d.等待/计算--置为计算状态时时,处理器按指令地址顺序执行指令;置为等待状态处理器不执行任何指令。

(2)中断码:
  保存程序执行时当前发生的中断事件,以便操作系统进行分析处理。

(3)中断屏蔽位:
  用来指出要不要响应出现的中断事件,若设置了"中断屏蔽",则即使出现中断事件也不中止程序的执行,就像没有发生中断事件一样。
  每个程序都要有一个程序状态字,刻画本程序的执行状态。处理器设有一个"程序状态字寄存器"用来存放当前运行程序的PSW。处理器总是按照存放在程序状态字寄存器中的指令地址和其他状态控制程序的执行。

3.中断响应:
 

        由于处理器总是按程序状态字寄存器中的PSW来控制程序的执行,所以,哪个程序的 PSW在程序状态字寄存器中,处理器就一定执行哪个程序的指令。为了说明中断响应过程,区分三种PSW:
(1) 当前PSW
  把当前存放在程序状态字寄存器中的PSW称为"当前PSW",它是正占有处理器运行的进程的PSW。
(2) 旧PSW
  当出现中断事件后,现行进程被中断,为了使进程在适当时候能继续运行,必须把被中断进程的PSW保护好,把保护起来的被中断进程的PSW称为"旧PSW"。
(3) 新PSW
  把操作系统的中断处理程序的PSW称为"新PSW",系统初始化时把新PSW存放在主存固定单元中。新PSW中的指令地址是中断处理程序的入口地址。
  中断处理程序占用了处理器执行时,只要从保存起来的旧PSW中取出中断码,分析发生的中断事件,从而完成对中断事件的处理。
  一个进程占有处理器运行时,可以由于各种不同的事件发生而被中断。对于各种不同的事件操作系统的处理是不同的,一般来说,对每一种事件都有该种事件的处理程序。每一种处理程序都有一个"新PSW",中断装置发现中断事件后应让相应的中断处理程序占用处理器。
  为此,可预先约定一些主存固定单元分别存放各中断处理程序的"新PSW"。同样地,由于各种不同原因被中断的进程的"旧PSW"也分别保存到不同的主存单元中。中断装置按照发生的中断事件交换相应的新、旧PSW,如下图所示。

 图中①表示中断装置发现中断事件后把中断事件存入程序状态字寄存器中当前 PSW的中断码位置;接着执行②,根据发生的事件找出对应的旧PSW的存放位置,把当前 PSW保存到该位置上;然后执行③,找出对应的新PSW,把它送入程序状态字寄存器。图 3-6中假设发生的是外部中断事件,交换PSW后,由处理外部事件的中断处理程序执行。

                                                         交换新、旧PSW

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Shining0596

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

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

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

打赏作者

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

抵扣说明:

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

余额充值