linux 2.6源代码情景分析笔记之中断与异常2
高级可编程控制器
如果系统只有一个cpu,主pic输出线以直截了当的方式连接到cpu的intr引脚。如果系统中包含两个或多个cpu,就需要更加复杂的pic.
intel从p3开始引入i/o高级可变成控制器(APIC)组件。80x86微处理器当前所有的cpu都含有一个本地apic。每个本地apic都有32位寄存器,一个内部时钟,一个本地定是设备以及为本地apic中断保留的两条额外的irq线lint0和lint1。所有本地apic都连接到一个外部i/o apic,形成一个多apic系统。
i/o apic的组成:一组24条irq线,一张24项的中断定向表(interrupt redirection table),可编程寄存器,以及通过apic总线发送和接收apic信息的一个信息单元,中断优先级并不与引脚号相关联:中断重定向表中的每一项都可以被单独变成以指明中断向量和优先级,目标处理器以及选择处理器的方式。重定向表中的信息用于把每个外部irq 信号转换为一条消息,通过apic总线把消息发送给一个或者多个本地apic单元。
来自外部硬件设备的中断请求以两种方式在可用cpu之间分发:
1静态分发:irq信号传递给重定向表相应项中所列出的本地apic。中断立即传递给一个特定的cpu,或者一组cpu,或者所有cpu.
2动态分发:如果处理器正在执行最低优先级的进程,irq信号就传递给这种处理器的本地apic.
每个本地apic都有一个可编程任务优先级寄存器(task priority register)trr用来计算当前运行进程的优先级。intel希望在操作系统内核中通过每次进程切换对这个寄存器进行修改。
如果两个或者多个cpu共享最低优先级,就利用仲裁技术在这些cpu之间分配负荷。在本地apic的仲裁优先级寄存器中,给每个cpu都分配一个0-15范围内的数值。
每当中断传递给一个cpu时,其相应的仲裁优先级就自动设置为0,而其他每个cpu的仲裁优先级都增加1.当仲裁优先级寄存器大于15时,就把它设置为获胜cpu的前一个仲裁优先级加1.因此,中断以轮转方式在cpu之间分发,且具有相同的任务优先级。
除了在处理器之间分发中断外,多apic系统还允许cpu产生处理器间中断。当一个cpu希望把中断发给另一个cpu时,就在自己本地apic的中断指令寄存器(interrupt command register,ICR)中存放这个中断向量和目标本地 APIC标识符。然后通过apic总线向目标本地apic发送一条消息,从而向自己的cpu发出一个相应的中断。
异常:80x86微处理器发布了大约20种不同的异常。内核必须为每种异常提供一个专门的异常处理程序。
中断向量表(interrupt descriptor table IDT)是一个
相关文档:
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......
1) .tar
解压:tar xvf filename.tar
解压:tar xjvf filename.tar.bz2
解压:tar xzvf filename.tar.gz
打包:tar cvf filename.tar dirname1 dirname2
打包:tar czvf filename.tar.gz dirname1 dirname2
2) .gz和.Z
解压:gunzip filename.tar.gz
解压:gunzip filename.Z
打包:gzip  ......
本世纪第一个十年,即将过去。回顾以往,才能看清现在,我有几句话要说。
记得,在十年之前,人们只能玩玩美国红帽的 Linux 桌面(特别是 6.2 版本),整天 sudo (即 Super User do ),任凭激情泛滥。到了 2001 年 1 月, Linux 2.4 正式发布,首次支持 USB 和蓝牙技术,以及 ext ......
tty0-6是linux本地终端,pts/x是远程登陆需要的终端,比如某人要telnet到你的机子,就需要你的系统有pts/x。
基本概念:
1. tty(终端设备的统称):
tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代 ......