深入剖析大数据接收过程.docVIP

  • 6
  • 0
  • 约1.22万字
  • 约 10页
  • 2018-12-30 发布于安徽
  • 举报
实用标准文案 精彩文档 深入剖析数据接收过程 Layer 2:数据链路层(Data Link Layer) 在进入正式讨论数据包的接收之前,需要介绍一下linux中断过程。 当网卡检测到一个数据包到来时,就会向8259A触发相应的中断信号线,识别为一个中断后,控制单元将会执行如下步骤: 1. 确定与中断或异常关联的向量i(0≤ i ≤255) 2. 读由idtr寄存器指向的IDT表中的第i项。 3. 从gdtr寄存器获得GDT的基地址,并在GDT中查找,以读取IDT表项中的选择符标识的段描述符。这个描述符指定中断或异常处理程序所在的段的基地址。 4. 确信中断是由授权的(中断)发生源发出的。首先将当前特权级CPL(存放在cs寄存器的低两位)与段描述符(存放在GDT中)的描述符特权级DPL比较。如果CPL小于DPL,就产生一个“通常保护”异常,因为中断处理程序的特权级不能低于引起中断的程序的特权。对于编程异常,则做进一步的安全检查:比较CPL与处于IDT中的门描述符的DPL,如果DPL小于CPL,就产生一个“通常保护”异常,这最后 一个检查可以避免用户应用程序访问特殊的陷阱门和中断门。 5. 检查是否发生了特权级的变化,也就是说,CPL是否不同于所选择的段描述符的DPL。如果是,控制单元必须开始使用与新的特权级相关的栈,通过执行以下步骤来保证这一点: A. 读tr寄存器,以访问运行

文档评论(0)

1亿VIP精品文档

相关文档