Linux培训
美国上市Linux培训机构

400-111-8989

热门课程

为你介绍一些Linux操作系统的基础知识(四)

  • 发布:linux培训
  • 来源:Linux职场
  • 时间:2018-05-25 15:48

今天小编继续为大家带来Linux操作系统的基础知识系列文章,今天为大家准备的是关于Linux操作系统的一些基础知识(四),之前的文章你是否看过了呢,喜欢Linux的小伙伴们快来看一看吧,希望对你有帮助~

内存管理

Q1.为什么把进程的地址空间划分为“内核空间”和“用户空间”?

A:

Linux的虚拟地址空间的大小为4GB,内核将这4GB的空间分为两部分,较高的1GB(虚地址0xC0000000到0xFFFFFFFF)供内核使用,称为“内核空间”;而较低的3GB(虚地址0x00000000到0xBFFFFFFF)供各个进程使用,称为“用户空间”;因为每个进程可以通过系统调用进入内核,因此,内核空间由系统内的所有进程共享;于是,从具体进程的角度来看,每个进程都可以拥有4GB的虚拟地址空间(也叫做虚拟内存)。

Q2.Linux是如何实现“请求调页”的?

A:

1)如果被访问的页不在内存,也就是说,这个页还没有被存放在任何一个物理页面中,那么,内核分配一个新的页面并将其适当地初始化,这种技术称为“请求调页”;

2)“请求调页”是一种动态内存分配技术,它将页面的分配推迟到不能再推迟为止,也就是说,一直推迟到进程要访问的页不在物理内存时为止,由此引起一个缺页异常;该技术的引入主要是因为进程开始运行时并不访问其地址空间中的全部地址。

Linux操作系统的基础知识

中断和异常

Q1.什么是中断?什么是异常?二者有何不同?

A:

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

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

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

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

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

A:

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

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

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

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

3)剩余的、编号为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内核特别设置的,用来让用户态的进程访问陷阱门。

以上就是小编今天为大家分享的关于Linux操作系统的一些小知识(四),没有看过之前文章的小伙伴记得去官网查看哦。希望这些问答能够对你有所帮助。明天小编将会继续为你带来后面的内容,对Linux感兴趣的小伙伴记得来达内Linux官网,这里有更多的Linux资讯和专业的Linux培训班

免费预约企业总监级讲师试听课

怕钱不够?就业挣钱后再付学费!     怕学不会?0基础入学,达内定制课程!     担心就业?近12万家雇主企业,推荐名企就业!

上一篇:为你介绍一些Linux操作系统的基础知识(三)
下一篇:为你介绍一些Linux操作系统的基础知识(五)

这五个最佳的Linux桌面环境你更喜欢哪一个?

Linux教程-教Linux运维人员如何正确地使用awk工具

什么?你居然还不知道“云计算”?

Linux运维入门新手都会犯哪些错误?

选择城市和中心
贵州省

广西省

海南省