16位/32位中断机制比较
原理:
16位中断机制:使用中断向量表
32位中断机制:使用中段描述符表IDT
位置:
中断向量表的位置是固定的,位于内存的开始0x00000
中断向量符表位置不固定,由系统设计者安排,由IDTR(IDT基地址寄存器)锁定其位置。...
分类:
其他好文 时间:
2014-07-09 12:32:57
阅读次数:
204
进程结构
Linux0.12中的每个进程都有如下的结构:
在gdt中占有两项,一项是tss段描述符,一项是ldt段描述符。
在task数组中占有一项,指向一页物理内存,该物理内存低端是进程控制块task_struct(里面包括tss段和ldt段),其余部分是进程的内核态堆栈。
在页目录表和页表中设置有相关项。
Linux0.12中,最多只有64个进...
分类:
系统相关 时间:
2014-05-25 18:19:08
阅读次数:
329
前言
前一篇我们介绍了内存管理中的分页试内存管理,分页的主要作用就是使得每个进程有一个独立的,完整的内存空间,通过虚拟内存技术,使得程序可以在较小的内存上运行,而进程之间内存空间相互独立,提高了安全性。这一篇将主要介绍内存管理中分段管理,以及两种的结合,也是目前计算机普遍采用的段页试内存管理。这也直接决定了的后面程序的编译,加载以及允许时的内存布局。
1. 分段...
分类:
其他好文 时间:
2014-05-22 07:58:31
阅读次数:
327
既然这样,段描述符表放在那里呢?80386中引入了两个新的寄存器来管理描述符表。一个是48位的全局描述符表寄存器GDTR,一个是16位的局部描述符表寄存器LDTR。那么,为什么有两个描述符表寄存器呢?
GDTR指向的描述符表为全局描述符表GDT。它包含操作系统中所有任务都可用的段描述符,通常包含描述操作系统所使用的代码段、数据段、堆栈段的描述符及各任务的LDT段等,全局描述符表只有一个。
LD...
分类:
其他好文 时间:
2014-05-03 21:03:23
阅读次数:
363