zoukankan      html  css  js  c++  java
  • windows 并发与同步 学习笔记

    测试

    5.2 windows 中断与异常

          1.外部硬件中断是通过处理器上的中断引脚管或者本地APIC的内置模块来发生的;对于一个处理器,一旦被中单,

            某个预先被设定的中断服务例程就被执行!

           2.处理器的内部的IDTR寄存器记录着IDT的位置和它的最大限制,IDTR寄存器为48位。

              每个中断描述符号是8字节(共64位)对于 软中断的情形,可避免低特权的代码通过软中断的形式 去执行关键的异常或中断处理的代码!

           3.

      

            APC_LEVEL 一个线程插入一个APC可以打断该线程

            DISPATCH_LEVEL  一个处理器运行在这个IRQL上 可能正在做两件事情:1.线程调度  2.硬件处理的后半部分 DPC

                                不会被其他线程抢占,只有被更高的中断抢占,与线程调度相关的数据结构 只有在此级别才能同步范围

                 这个是最高级的软中断,不能访问换页内存,因为一旦发生换页就要执行IO操作,所以只能访问非换页内存

    5.2.3 中断对象
       typedef struct _KINTERRUPT {
              CSHORT Type;
              CSHORT Size;
              LIST_ENTRY InterruptListEntry;
            。。。。。。
            }

        InterruptListEntry 与同一个中断向量关联的中断对象双链表,当中断发生 所有的中断对象 都被执行!

               每个中断对象都只能被连接到一个IDT项,如果一个服务例程需要被连接到多个处理器,必须建立多个中断对象。

  • 相关阅读:
    浅析 Java 中的 final 关键字
    谷歌Java编程风格指南
    分布式事务之两阶段提交协议(2PC)and 使用事件和消息队列实现分布式事务
    零和博弈与木桶定律
    Executors类创建四种常见线程池
    软件设计的原则&101个设计模式-2011年04月25日 陈皓
    编程中的命名设计那点事-陈皓
    从面向对象的设计模式看软件设计- 2013年02月01日 陈皓
    SQL语句
    分布式事务
  • 原文地址:https://www.cnblogs.com/shenlian/p/3506636.html
Copyright © 2011-2022 走看看