操作系统基础

计算机系统组成

(1)  运算器

(2)  控制器

(3)  存储器

(4)  输入/输出(I/O)设备

计算机系统与操作系统的区别

计算机系统是由软件和硬件组成的;其中软件系统包括系统软件和应用软件。操作系统则属于系统软件。

 

操作系统的主要功能

(1)  处理机管理

a)  进程控制

b)  进程同步

c)  进程通信

d)  进程调度

(2)  存储管理

a)  内存分配

b)  内存保护

c)  地址映射

d)  内存扩充

(3)  设备管理

a)  缓冲区管理

b)  设备分配

c)  设备处理

d)  虚拟设备管理

(4)  文件管理

a)  文件存储空间管理

b)  目录管理

c)  文件读/写关系

d)  文件保护

e)  文件系统的安全性

(5)  用户接口

a)  命令接口

b)  程序接口

c)  图形接口

 

操作系统的基本特征

(1)  并发性

(2)  共享性虚拟性

(3)  异步性

进程组成:内存映射和进程控制块

进程的特点

动态性:进程的实质是程序在多道程序系统中的一次执行过程,是动态产生和动态消亡的。

并发性:任何进程都可以同其他进程一起并发。

独立性:进程是一个能独立运行的基本单位。

异步性:集成按照个自独立的、不可预知的速度执行。

结构特征:进程是有程序、数据、进程控制块三部分组成。

 

进程通信方式

管道(pipe):半双工通信方式,数据只能单向流动,且只能在有亲缘关系的进程间使用(进程间的亲缘关系指父子进程关系)。

有名管道(namedpipe):半双工通信方式,允许无亲缘关系进程间的通信。

信号量(semophore):信号量是一个计数器,可以用来控制多个进程对资源的访问。常作为一种锁机制,主要实现进程之间及同一进程内不同线程之间的同步。

消息队列(message queue):消息队列是消息的链表,存放在内核中并由消息队列标识符标示。消息队列克服了信号传递信息少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

信号(signal):一种比较复杂的通信方式,用于通知接受某个事件已发生。

共享内存(shared memory):映射一段能被其他进程访问的内存,这段共享内存由一个进程创建,但可有多个进程访问。功效内存是最快的IPC方式。

套接字(socket):

 

 

线程的状态

新建(New)

就绪(Runnable):线程能够运行,但在等待中。可能刚启动,或刚从阻塞态恢复,或被其他资源抢占。

运行(Running):占有CPU资源,正在执行中。

阻塞(Blocked):线程进入某种条件等待过程中,在条件无法满足前无法继续执行。

死亡(Dead)

状态转换图:

 

线程的组成

线程有两部分组成:1) 线程的内核对象;操作系统用它来对线程进行管理,是操作系统用来管理线程的最小数据结构。内核对象也是系统用来存放线程统计信息的地方。2) 线程堆栈;它用于维护线程在执行代码时所需要的所有参数和局部变量。

如果说操作系统引入进程的目的是为了提高程序并发执行,以提高资源利用率和系统吞吐量。那么操作系统中引入线程的目的,则是为了减少进程并发执行过程中所付出的时间开销,使操作系统能更好的并发执行。

 

 

线程/线程同步的几种方式

(1)  临界区:通过对多线程的串行化来访问公共资源,速度快,适合控制数据访问。

(2)  互斥量:为协调共同对一个共享资源的单独访问而设计。

(3)  信号量:为控制一个具有有限数量用户资源而设计。

(4)  事件:用来通知线程有一些事件已发生,从而启动后继任务的开始。

 

进程和线程的区别

从调度者的角度看:

    进程是系统进行资源分配和调度的独立单位

    线程是CPU调度和分派的基本单位。

从资源拥有角度看:

    进程是资源拥有的独立单位,是一个

    线程不拥有系统资源(除过运行时必要的,如:程序计数器,寄存器,栈),但是可以访问隶属进程的全部资源。

从并发性看:

线程和进程都具有并发性。进程与进程之间可以并发,同时,同一进程内的多个线程也可以并发执行。

从系统开销看;

在创建和撤销的过程中:线程都需要系统为其分配或撤销,操作系统所付出的开销远大于线程的创建和撤销。

在切换过程中:进程的切换涉及到当前进程CPU环境的保护和新调度进程的CPU环境的设置;而线程之间的切换只需要保护少量寄存器内存即可。

 

进程和程序的区别

    (1)进程是程序的一次执行,属于动态的概念;而程序是一组有序的指令,是一种静态概念。进程如果离开了程序,也是失去存在的意义;但同一程序在每次运行时都将构成不同进程。

    (2)一个进程可以执行一个或多个程序,同时一个程序也可被多个进程执行。

    (3)进程是程序的一次执行过程,是具有生命周期,因此是短暂的;而程序可作为软资源长期保留。

 

并发原理

和并发相关的术语:

(1)   临界区:是一段程序代码,进程将在此代码中访问共享的资源,当另一个进程已经在该代码中运行时,该进程不能在这段代码中执行。

(2)   竞争:多个进程在访问一个共享数据时,结果依赖于它们执行的相对时间,这种现象成为竞争。

(3)   同步:系统中以一些相互合作、协同工作的进程,它们之间的相互联系称为进程的同步。

(4)   互斥:多个进程因征用临界区内的共享资源而互斥地进行,即当一个进程在临界区访问共享资源时,其他进程不能进入该临界区访问任何共享资源。

(5)   死锁:两个或两个以上的进程因其中的每个进程都在等待其他进程执行完毕而不能继续执行,这样的情形称为死锁。

(6)   饥饿:是指一个可运行的进程虽然能继续执行,但被调用程序无限期地忽视而不能执行的情况。

 

死锁的主要原因:a)系统资源不足 b) 进程运行推进的顺序不合适 c) 资源分配不当。

导致死锁的四个必要条件:

(1)   互斥条件:一个资源每次只能被一个进程使用。

(2)   请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源不释放。

(3)   不剥夺条件:进程已获得的资源,在未使用完全之前,不能强行剥夺。

(4)   循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

处理死锁的四种方式

(1)   鸵鸟策略:忽视该问题。即该算法可应用在极少发生死锁的情况下。

(2)   检测与解除策略:检测死锁并恢复。

(3)   避免策略:仔细对系统资源进行动态分配,以避免死锁。

(4)   预防策略:通过破除产生死锁的四个必要条件之一,来防止死锁产生。

 

临界区的定义和冲突解决方式

每个进程中访问临界资源的那段程序成为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。

冲突解决方式

(1)   如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

(2)   任何时候,处于临界区内的进程不可多与一个。

(3)   进入临界区的进程要在有限时间内退出。

(4)   如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。

 

常见的调度算法

批处理作业调度算法:

(1)  先来先服务调度算法(FCFS):可用于作业调度,也可用于进程调度。实现简单,公平;缺点是是短作业用户等待时间不均衡。

(2)  短作业优先调度算法(SPF):调度上优先处理短作业。因为作业未投入运行前,无法判定运行时间,所以需要用户提交作业时提交作业运行的预估计值。

(3)  最高响应比优先算法(HRN):响应比=1+作业等待时间/作业处理时间

(4)  基于优先数调度算法(HPF):每个作业规定一个表示优先级的整数,当需要将新作业有输入井调入内存时,选择优先级最高的作业。

(5)  多级队列调度算法

进程调度算法

(1)  先进先出算法(FIFO

(2)  时间片轮换算法(RR):将CPU的处理时间划分成一个个的时间片,就绪队列中的进程轮流运行一个时间片。当时间片结束时,就强迫进程让出CPU,该进程进入就绪队列,等待下一次调度。

(3)  最高优先级算法(HPF

(4)  多级队列反馈算法

磁盘调度算法

(1)  先来先服务(FCFS

(2)  最短寻道时间优先算法(SSTF):让查找时间最短的作业先执行。克服了先来先服务调度算法中磁臂移动过大的问题。

(3)  扫描算法或电梯调度算法:总是从磁臂当前位置开始,沿磁臂的移动方向选择离当前磁臂最近的柱面访问者。如果沿磁臂方向无请求访问,就改变磁臂移动方向。

(4)  循环扫描算法(CSCAN):在扫描算法的基础上做改进。

 

 

Windows下的内存管理

存储层次结构

内存:CPU的控制部件只能从内存中获取得指令和数据;且内存的访问度度远低于CPU执行速度。

寄存器:用与加速存储器的访问速度。

高速缓冲存储器:容量远大于寄存器,但又比内存小几十个数量级,从几十千字节到数百兆字节,访问速度快于内存。

磁盘缓存:存盘I/O速度远低于主存访问速度,磁盘缓存本身不是一种实际存在的存储介质,依托于固定磁盘。

 

地址重定位

概念:一个逻辑地址空间的程序装入物理地址空间时,由于两个空间不一致,故需要进行地址变换,称为地址重定位。

重定位技术

静态重定位:程序执行前操作系统的重定位装入程序一次性地将该程序中的指令地址和数据地址全部转换成物理地址。(地址转换工作是在程序执行前集中完成,再程序执行过程中就不再需要进行地址转换工作)。

           优点:容易实现,无需硬件支持。

           缺点:地址已经重定位后,无法在内存中移动,不利于内存的有效利用;同时要求程序的存储空间时连续的,不能把程序放在若干个不连续的区域内。

动态重定位:是在每次访问内存单元之前,才将要访问的程序地址转换为内存地址。这种转换是由专门的硬件地址转换机构来完成的。

 

内存管理的几种主要方式

(1)   块式管理:把主存分为一大块,一大块的,当需要的程序片段不在主存时就分配一块主存空间。易于管理,但是空间浪费大。

(2)   页式管理:把主存分为一页一页的,每一页的空间要比块小很多,空间利用率高于块式管理。

(3)   段式管理:把主存分为一段一段的,每段空间比页还要小很多。有利于提高空间利用率,但是一个程序片段可能会被分为很多小段,会增加计算物理地址的时间。

(4)   段页式管理:把主存分为若干页,每页有分为若干段。

 

页式管理的基本原理

(1)   进程的虚拟空间被划分成长度相等的页。

(2)   内存空间按照页的大小划分成长度相等的页面。

(3)   采用请求调页或预调技术实现内外存储器的统一管理。

 

分页和分段的主要区别

1,        页是信息的物理单位,为了管理主存的方便而划分的,目的是实现离散分配,提高内存利用率,对用户是透明的;段是信息的逻辑单位,是根据用户的需要划分,对用户是可见的,便于存储保护和信息共享。

2,        页的大小固定且是有系统确定的;段的大小不固定,由完成的功能决定。

3,        分页式存储管理的作业地址空间时一维的;分段式存储管理的作业地址空间时二维的。

4,        分页的优点在于内存空间上的管理,分段的优点在于地址空间上的管理。

 

几种页面置换算法

1)   最佳置换算法(OPT)(理想置换算法):当发生缺页时,在内存中的页面,有些会很快被访问,有些需要多条指令后才会被访问到,每个页面都可以用该页面首次被访问前所有执行的指令数标记。该算法规定把标记为最大的页替换掉。因为当发生缺页时,操作系统无法知道各个页面下一次什么时候会被访问到,所以该算法无法实现,只能用作对可实现算法的衡量比较。

2)   先进先出置换算法(FIFO):总选择在内存中停留时间最久的页面置换。

3)   最近最久未使用算法(LRU):选择过去一段时间最久未被使用过的页面作为置换。算法的实现需要硬件的支持。确定时间顺序的方法:a)计数器 b)

 

 

内分分配方式

1)   单一连续分配:是一种最简单的存储管理方式,优点是软件处理简单,缺点是存储器不能充分利用。

2)   动态分区分配:是多道程序环境下中最简单的一种。分区形式:a)固定分区分配:内存在作业处理前以被划分成大小不等的分区,存储管理程序根据每个作业的最大存储量分配一个足够大的分区给它。当找不到足够大的分区时,通知作业调度选择另外一个作业。这种方式分配和回收内存简单,但内存利用不充分,会产生“碎片”空间。b)可变分区分配:当作业进入内存时,才根据作业大小建立分区。特点是分区的个数和大小都是可变的。

3)   可重定位分配:为使各分区中用户程序能够已到内存的另一端,使碎片集中于一端成为一个大分区,在程序执行过程中,需要对作业移动过程中与地址有关项进行调整。有点是清楚碎片,更大程度上利用内存空间,但必须硬件支持,且要花费时间。

 

外存分配方式

1)   连续分配:为每一个文件分配一组相邻的盘块;物理上形成了顺序文件结构;外存上会出现“碎片”。顺序访问容易,速度快;但要求有连续的存储空间,必须实现知道文件的长度。

2)   链接分配:离散分配方式。消除了“碎片”,有利于文件的增删改,隐式链接:在文件的每个目录项中,都含有指向链接文件第一盘块和最后一个盘快的指针,之适合于顺序访问;显示链接:把用于链接文件各物理块的指针,显示地存放在内存的一张“连接表”中。

3)   索引分配:单级索引分配:每个文件一个索引块;多级索引分配:当文件较大,需要很多个索引块时,可以为各索引块建立一个索引表;混合索引分配方式。

 

 

传统存储管理方式和虚拟存储器

传统存储管理方式的特征:

1)    一次性:要求将作业全部装入内存后方可运行,浪费空间内存。

2)    主流性:作业装入内存后便一直驻留在内存中,直到作业结束。

3) 局部性原理:体现在如下两个方面

    a) 时间局部性:如果程序中的某条指令一旦执行,不久以后该指令可能再次执行;如果某数据被访问过,不久以后该数据可能再次被访问。产生时间局部性的典型原因,是由于在程序中存在大量的循环操作。

   b) 空间局部性:一旦程序访问了某个存储单元,在不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定范围内,这是因为指令通常是顺序存放,顺序执行的,数据一般也是以向量、数组表等形式簇集存储的。

时间局部性是通过将进来使用的指令和数据保存到高速缓存存储器中,并使用高速缓存的层次结构实现。空间局部性通常是使用较大的高速缓存,并将预取机制集成到高速缓存控制逻辑中实现。虚拟内存技术实际上就是建立了“内存-外出”的两级存储器的结构,利用局部性原理实现高速缓存。

虚拟存储器

定义:

基于局部性原理,在程序装入时,可以将程序的一部分装入内存,而将其余部分留在外存,就可以启动程序执行。在执行过程中,当访问的信息不在内存时,由操作系统将所需要的部分调入内存,然后继续执行程序。另一方面,操作系统将内存中暂时不使用的内容换出到外存,从而腾出空间放入也要调入的内容。这样,系统好像为用户提供了一个比实际内存大得多的存储器,称为虚拟存储器。

特征:

       之所以称之为虚拟存储器,是因为这种存储器实际上并不存在,只是由于系统提供了部分装入、请求调入和置换功能后(该操作对用户透明),给用户的感觉是好像是存在一个比实际内存大的多的存储器。虚拟存储器的大小由计算机的地址结构决定,并非是内存和外存的简单相加。虚拟存储器主要有以下三个特点:

多次性:是指无需在作业运行时一次性的全部装入内存,而是允许被分成多次调入内存运行。

对换性:是指无需在作业运行时一直常驻内存,而是允许在作业的运行过程中,进行换入和换出。

虚拟性:是指从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。

虚拟内存技术的实现:

虚拟内存中,允许将一个作业分多次调入内存。采用连续分配方法时,会使相当一部分空间都处于暂时或长久的空闲状态,造成空间的严重浪费,而且也无法实现从逻辑上扩大内存容量。因此,虚拟内存的实现需要建立在离散分配的内存管理方式的基础上。虚拟内存的实现主要有一下三种方式:

1)   请求分页存储管理

2)   请求分段存储管理

3)   请求段页式存储管理

不管哪种方式,都需要有一定的硬件支持。一般需要的支持有如下方面:

1)   一定容量的内存和外存

2)   页表机制(或段表机制)作为主要的数据结构

3)   中断机构,当用户程序要访问的部分尚未调入内存时,则产生中断

4)   地址变换机构,逻辑地址到物理地址的变换

 

请求分页式存储管理方式

       在进程开始运行之前,仅装入当前要执行的部分页面即可运行;在执行过程中,可使用请求调入中断动态装入访问但又不在内存中的页面;当内存已满,又需要装入新页面时,会根据置换功能适当调出某个页面以便腾出空间装入新页面。为实现请求分页,需要一定的硬件支持。

请求分段式存储管理方式

为了能够实现虚拟存储,段式逻辑地址空间中的程序段在运行时并不全部装入内存,而是如同请求分页存储管理一样,首先调入一个或若干个程序段运行,在运行过程中调用到那个段时,就根据该段长度在内存分配一个连续的分区。若内存中没有足够大的空间,则考虑段的紧凑或者将某些段淘汰出去,这种管理技术成为请求分段式管理方式。

 

 

 

用户态和核心态区别

当一个任务(进程)执行系统调用而陷入内核代码中执行时,就称进程处于了内核运行态(简称内核态)。此时处理器特权级最高(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低(3级)的用户代码中运行。

用户态切换到内核态的3种方式:系统调用;异常;外围设备中断。

从用户态到内核态要两步骤:首先是将用户堆栈地址保存到内核堆栈中,然后将CPU堆栈指针寄存器指向内核堆栈。

当由内核态转向用户态,首先是将内核堆栈中的用户堆栈地址恢复到CPU堆栈指针寄存器中。

 

用户栈和内核栈的区别

IntelCPU分为四个运行级别ring0 ~ ring3,内核创建进程,创建进程的同时创建进程控制块,创建进程自己的堆栈。一个进程有两个堆栈,用户栈和系统栈。用户堆栈的空间指向用户地址空间,内核堆栈的空间指向内核地址空间。

用户栈是进程在用户空间时创建的栈,用户保存用户进程子程序间的相互调用的参数和返回值等。

内核栈是属于操作系统空间的一块固定区域,用户保存中断现场、保存操作系统子程序间相互调用的参数和返回值等。

设置两个不同栈的原因

(1)  共享原因:内核的代码和数据是为所有的进程共享的,如果不为每一个进程设置对应的内核栈,就不能实现不同的进程执行不同的代码。

(2)  安全原因:如果只有一个栈,那么用户就可以修改栈内容来突破内核安全保护。

 

 

静态链接库和动态链接库

静态链接库与动态链接库都是共享代码的方式。

静态链接是把所有用到的函数全部连接到exe文件中

动态链接是指在生成可执行文件时不将所有程序用到的函数连接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找。

静态链接是把所有的代码和数据都复制到本地模块中,运行时不在需要库;而动态链接只是建立一个引用接口,而真正的代码和数据存在另外的可执行模块中,等到运行时再装入。

 

批处理操作系统、分时处理操作系统和实时操作系统的特点

批处理操作系统:成批处理,系统吞吐量高,资源利用率高,用户不能直接干预作业的执行。

分时操作系统:多路性、独立性、及时性、交互性。

实时操作系统:及时响应、快速处理、高可靠性和安全性;不要求系统资源利用率。

 

 

缓冲区溢出

       概念:指当计算机向缓冲区内填充数据时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。

       危害:可利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并执行一段恶意代码,已达到攻击目的。

       造成原因:程序中没有仔细检查用户输入的参数。

 

 

常见的操作系统的文件系统

计算机将信息保存在硬盘上成为“簇”的区域,使用的簇越小,保存效率就越高。

FAT】 

FAT16MS-DOSwin95采用该文件系统;所支持的最大分区为2G

FAT32:采用更小的簇,提高信息保存的效率。

基于Win2000FAT16支持的最大分区为16G;基于Win2000de FAT32支持的最大分区为32G

NTFS

       NTFS文件系统是一个局域安全性的文件系统,是WindowsNT所采用的独特的文件系统结构;建立在保护文件和目录数据基础上,同时照顾洁身存储资源、减少磁盘占用量的文件系统。

NTFS 5.0特点:

1, NTFS可以支持的分区大小可以达到2TB。而win2000中的FAT32最大为32GB

2, NTFS是一个可恢复的文件系统。

3, NTFS支持对分区、文件夹和文件的压缩。

4, NTFS采用更小的簇,可以更有效的管理磁盘空间。在Win2000FAT32文件系统下,分区大小在2GB ~ 8GB时簇的大小为4KB;分区大小在8GB ~ 16GB时簇的大小为8KB;分区大小在16GB ~ 32GB时,簇大小为16KB;而在NTFS文件系统下,当文区大小在2GB一下时,出的大小都比响应的FAT32簇小;当分区大小在2GB ~ 2TB时,簇的大小都为4KB

5, NTFS分区上,可以为共享资源、文件夹及文件设置访问许可权限。

6, NTFS文件系统可以进行磁盘配额管理。

7, NTFS使用一个“变更”日志跟踪记录文件发生的变更。

 

Ext2

Linux系统中标准的文件系统。单一文件大小与文件系统本身容量和文件系统本身的簇大小有关。在一般常见的x86系统中,簇最大为4KB,则单一文件大小上限是2048GB

Ext3

是一种日志式文件系统,是对Ext2的扩展,兼容Ext2.目前支持最大16TB的文件系统和2TB的文件。

Ext4

Ext3的改进,修改了Ext3中部分重要的数据结构。

具有更大的文件系统和更大的文件。支持1EB1EB=1024PB1PB=1024TB)的文件系统和16TB的文件;无限数目的子目录(Ext3只支持32000个子目录)。

HFS

分层文件下是由苹果电脑开发,在Mac OS上使用的文件系统。

 

操作系统

分时系统和实时系统的主要区别?

分时系统是指在一个系统中多个用户分时地使用同一台计算机;实时系统是指计算机及时响应外部事件地请求并在规定时限那完成对该事件地处理,控制所有实时设和实时任务协调一致地运行。实时系统和分时系统的主要区别有两点:(1)分时系统的目标是提供一种通用性很强的系统,有较强的交互能力;而实时系统则大都是具有特殊用途的专用系统,交互能力略差。(2)分时系统对响应时间虽有要求,但一般来说,响应时间由人所能承受的等待时间来确定;而实时系统对响应时间要求很高,一般由控制系统或信息处理磁头所能接受的延迟时间来决定。

 

网络操作系统和分布式操作系统的区别?

网络OS中的用户使用自己的机器可以访问网络上别的机器的资源,通过网络将很多机器连接起来,共享硬件资源,但是,整个系统对用户来说是分散的,不透明的。分布式OS的用户也是通过网络将多台机器连接起来,但是整个系统对用户是透明的,用户对整个OS就好像使用一个自己的机器一样。

 

什么是原语?它与广义指令有什么区别?

原语是由若干条机器指令构成的用以完成特定功能的一段程序,而这段程序在系统态下执行,且在执行期间是不可分割的。它与广义指令的区别主要体现在两个方面:(1)原语的执行是不可分割的,而广义指令所包含的程序段是允许被中断的,不要求具有不可分割性。(2)广义指令的功能可以在用户态下实现,而原语只能在系统态下执行。

 

试述引起多道程序系统程序执行不确定性的内部原因?

程序执行不正确性,有两个方面:(1)程序执行结果不正确,即程序执行结果不能再现。同一个程序,对给定相同的初始数据,在相同的环境下运行,多次运行可能得到完全不同的结果。(2)多道程序环境下,程序按异步方式运行,每个程序在何时执行,各个程序执行的顺序,以及每个程序所需要的时间都是不确定的,也是不可预知的。

 

操作系统的基本功能有哪些?它们各自包括哪方面的内容?

1、处理机管理功能进程控制,进程同步,进程通信,调度

2、存储器管理功能内存分配、内存保护、地址映射、内存扩充

3、设备管理功能缓冲管理、设备分配、设备处理

4、文件管理功能文件储存空间的管理、目录管理、文件的读写管理和保护

5、用户接口命令接口、程序接口、图形接口

 

给出系统总体上的中断处理过程

CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应的中断处理程序。中断处理过程可粗略的分为以下四个过程:① 保护当前正在运行程序的现场;② 分析是何种中断,以便转去执行相应的中断处理程序;③ 执行相应的中断处理程序;④ 恢复被中断程序的现场。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值