Linux操作系统基础知识之五:中断和异常

简介: Q1.        什么是中断?什么是异常?二者有何不同? A: 1)        中断控制是为克服对I/O接口采用程序查询控制服务方式所带来的处理器低效率而产生的,它的主要优点是只有在I/O接口需要服务时才能得到处理器的响应,而不需要处...
Q1.        什么是中断?什么是异常?二者有何不同?

A:

1)        中断控制是为克服对I/O接口采用程序查询控制服务方式所带来的处理器低效率而产生的,它的主要优点是只有在I/O接口需要服务时才能得到处理器的响应,而不需要处理器不断地进行查询;因此,最初的中断全部是对外部设备而言的,称为外部中断(或硬件中断);

2)        异常也叫做内部中断,它是为解决机器运行时所出现的某些随机事件及编程的方便而出现的;

3)        256种中断分为外部可屏蔽中断(INTR)和外部非屏蔽中断(NMI),所有I/O设备产生的中断请求(IRQ)均引起可屏蔽中断,而紧急事件(如硬件故障)引起的故障则产生非屏蔽中断;

4)        异常又分为故障(fault)和陷阱(trap),它们的共同特点是既不使用中断控制器,又不能被屏蔽(异常其实是CPU发出的终端信号)。

 

Q2.        什么是中断向量?Linux是如何分配中断向量的?

A:

1)        为使处理器可以容易地识别每种中断源,将256种向量中断从0到255进行编号,即赋以一个中断类型码n,把这个8位的无符号整数叫做向量,即中断向量;

2)        Linux对256个中断向量的分配如下:

A.      编号为0~31的向量对应于异常和非屏蔽中断;

B.       编号为32~47的向量(即由I/O设备引起的中断)分配给可屏蔽中断;

C.       剩余的、编号为48~255的向量用来标识软中断;Linux只用其中的一个(即128或0x80向量)来实现系统调用。

 

Q3.        什么是中断描述符表?什么是门描述符?

A:

1)        在实地址模式下,CPU将内存中从0开始的1KB空间作为一个中断向量表,表中每个表项占4个字节;但在保护模式,由4个字节的表项构成的中断向量表满足不了要求;因此在保护模式下,中断向量表中的表项由8个字节组成,中断向量表也改称为中断描述符表(IDT);

2)        IDT中的每个表项叫做一个门描述符(gate descriptor)。

 

Q4.        门描述符有哪些类型?它们有什么不同?

A:门描述符中类型码占3位,表示门描述符的类型,主要分为以下几类:

1)        中断门(interrupt gate):其类型码为110,包含了一个中断或异常处理程序所在段的选择符和段内偏移量;

2)        陷阱门(trap gate):其类型码为111;

3)       系统门(system gate):是Linux内核特别设置的,用来让用户态的进程访问陷阱门。
目录
相关文章
|
1天前
|
Linux
杨校老师带你走进Linux操作系统的学习(一)
杨校老师带你走进Linux操作系统的学习(一)
7 0
|
3天前
|
Linux 网络安全 虚拟化
Linux操作系统第一章(Linux操作系统的带入,vmware-17虚拟化软件运用,FinalShell远程连接Linux )
Linux操作系统第一章(Linux操作系统的带入,vmware-17虚拟化软件运用,FinalShell远程连接Linux )
|
7天前
|
存储 缓存 安全
Linux基础——冯诺依曼体系结构与操作系统
Linux基础——冯诺依曼体系结构与操作系统
31 1
Linux基础——冯诺依曼体系结构与操作系统
|
8天前
|
网络协议 Linux 数据安全/隐私保护
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
|
8天前
|
Linux Shell 程序员
【Linux操作系统】命令的运行原理
【Linux操作系统】命令的运行原理
|
8天前
|
Linux
【Linux操作系统】基本指令-2
【Linux操作系统】基本指令
【Linux操作系统】基本指令-2
|
8天前
|
安全 Linux
【Linux操作系统】基本指令-1
【Linux操作系统】基本指令
|
8天前
|
Ubuntu Unix 大数据
【Linux操作系统】历史与环境
【Linux操作系统】历史与环境
【Linux操作系统】历史与环境
|
8天前
|
Linux API 云计算
探索Linux操作系统的模块化设计
【6月更文挑战第12天】本文深入探讨了Linux操作系统的模块化设计,揭示了其背后的技术原理与实践应用。通过分析Linux内核的模块化特性,我们了解到这一设计如何促进了系统的灵活性、可维护性以及安全性。文章将详细阐述模块加载机制、模块间的通信方式以及模块化给系统开发和维护带来的影响。
|
12天前
|
缓存 Linux Windows
初识Linux操作系统(根目录下的重要文件)(命令提示符的含义)
Linux系统基于"一切皆文件"的理念,重要文件分布在如/root(root用户目录)、/home(普通用户目录)、/etc(应用配置)、/dev(设备文件)、/boot(内核及启动文件)、/proc(动态系统信息)、/lib64(库文件)、/opt(软件存放)、/tmp(临时文件)。"[root@localhost ~]#"代表管理员在root目录,"$"代表普通用户。创建新用户用`useradd`命令。调节终端字体大小:Ctrl+Shift++增大,Ctrl+减号缩小。绝对路径从根目录开始,相对路径从当前目录开始。

热门文章

最新文章