当前位置: 首页 > news >正文

偃师 做网站市场监督管理局官网

偃师 做网站,市场监督管理局官网,大连旅顺博物馆,企业网站优化兴田德润中断处理一般不是纯软件来实现的#xff0c;需要硬件的支持。通过对中断的学习有助于更深入的了解系统的一些底层原理#xff0c;特别是驱动程序的开发。 主要内容#xff1a; 什么是中断中断类型中断相关函数中断处理机制中断控制方法总结1. 什么是中断 为了提高CPU和外围硬…中断处理一般不是纯软件来实现的需要硬件的支持。通过对中断的学习有助于更深入的了解系统的一些底层原理特别是驱动程序的开发。 主要内容 什么是中断中断类型中断相关函数中断处理机制中断控制方法总结  1. 什么是中断 为了提高CPU和外围硬件(硬盘键盘鼠标等等)之间协同工作的性能引入了中断的机制。 没有中断的话CPU和外围设备之间协同工作可能只有轮询这个方法CPU定期检查硬件状态需要处理时就处理否则就跳过。 当硬件忙碌的时候CPU很可能会做许多无用功每次轮询都是跳过不处理。   中断机制是硬件在需要的时候向CPU发出信号CPU暂时停止正在进行的工作来处理硬件请求的一种机制。   2. 中断类型 中断一般分为异步中断(一般由硬件引起)和同步中断(一般由处理器本身引起)。 异步中断CPU处理中断的时间过长所以先将硬件复位使硬件可以继续自己的工作然后在适当时候处理中断请求中耗时的部分。 举个例子网卡的工作原理     网卡收到数据包后向CPU发出中断信号请求处理接收到的数据包    CPU将收到的数据包拷贝到内存后即通知网卡继续工作    至于数据包拷贝至内存后的处理会在适当的时候进行  这样做避免了处理数据包时间过长导致网卡接收数据包速度变慢。   同步中断CPU处理完中断请求的所有工作后才反馈硬件 举个例子系统异常处理(比如运算中的除0操作)     应用程序出现异常后需要内核来处理    内核调用相应的异常处理函数来处理异常    处理完后终了应用程序或者给出message  同步中断应该处理能很快完成的一种中断。   3. 中断相关函数 实现一个中断主要需要知道3个函数 注册中断的函数释放中断的函数中断处理程序的声明  3.1 注册中断的函数     位置linux/interrupt.h  include/linux/interrupt.h   定义如下 /** irg - 表示要分配的中断号* handler - 实际的中断处理程序* flags - 标志位表示此中断的具有特性* name - 中断设备名称的ASCII 表示这些会被/proc/irq和/proc/interrupts文件使用* dev - 用于共享中断线多个中断程序共享一个中断线时(共用一个中断号)依靠dev来区别各个中断程序* 返回值* 执行成功0* 执行失败非0*/ int request_irq(unsigned int irq,irq_handler_t handler,unsigned long flags,const char* name,void *dev)  3.2 释放中断的函数 定义比较简单 void free_irq(unsigned int irq, void *dev) 如果不是共享中断线则直接删除irq对应的中断线。 如果是共享中断线则判断此中断处理程序是否中断线上的最后一个中断处理程序     是最后一个中断处理程序 - 删除中断线和中断处理程序     不是最后一个中断处理程序 - 删除中断处理程序   3.3 中断处理程序的声明 声明格式如下 /* * 中断处理程序的声明* irp - 中断处理程序(即request_irq()中handler)关联的中断号* dev - 与 request_irq()中的dev一样表示一个设备的结构体* 返回值* irqreturn_t - 执行成功IRQ_HANDLED 执行失败IRQ_NONE*/ static irqreturn_t intr_handler(int, irq, void *dev)   4. 中断处理机制 中断处理的过程主要涉及3函数 do_IRQ 与体系结构有关对所接收的中断进行应答handle_IRQ_event 调用中断线上所有中断处理ret_from_intr 恢复寄存器将内核恢复到中断前的状态  处理流程可以参见书中的图如下   5. 中断控制方法 常用的中断控制方法见下表 函数 说明 local_irq_disable()禁止本地中断传递local_irq_enable()激活本地中断传递local_irq_save()保存本地中断传递的当前状态然后禁止本地中断传递local_irq_restore()恢复本地中断传递到给定的状态disable_irq()禁止给定中断线并确保该函数返回之前在该中断线上没有处理程序在运行disable_irq_nosync()禁止给定中断线enable_irq()激活给定中断线irqs_disabled()如果本地中断传递被禁止则返回非0否则返回0in_interrupt()如果在中断上下文中则返回非0如果在进程上下文中则返回0in_irq()如果当前正在执行中断处理程序则返回非0否则返回0  总结 中断处理对处理时间的要求很高如果一个中断要花费较长时间那么中断处理一般分为2部分。 上半部只做一些必要的工作后立即通知硬件继续自己的工作。 中断处理中耗时的部分也就是下半部的工作CPU会在适当的时候去完成。转载于:https://www.cnblogs.com/GoogleGetZ/p/7424217.html
http://www.zqtcl.cn/news/592198/

相关文章:

  • 温州网站建设方案外包不能访问子目录的网站
  • 建设拼多多一样网站需要多少钱wordpress企业站主题免费
  • 无锡网站制作哪家公司好做微信文章的网站
  • 网站 制作信产部网站备案
  • 做流程图表的网站网络营销推广网站收录
  • iis5.1怎么新建网站电子商务网站建设与管理实训内容答案
  • 做网站背景步骤知名的vi设计公司
  • 中国室内设计师联盟网站我注册过的网站
  • 如何给自己的公司做网站网站设计电商首页
  • 成都网站开发培训综合网站开发实训总结
  • 个人备案网站名称文学网站开发
  • 花钱做推广广告哪个网站好泗洪网页设计
  • 望牛墩镇网站建设公司网站建设企业熊掌号
  • 做网站一般会出现的问题静态网站的好处就是安全性好从而
  • 做海鲜代理在什么网站建筑网片钢筋网生产厂家
  • 万网网站建设方案书导购网站开发要多少钱
  • 做网站muse好还是DW好用wordpress %link
  • html5门户网站模版做投标需要知道什么网站
  • 合肥网站制作推广seo引擎搜索网站关键词
  • 陕西建设厅网站wordpress 不显示ip
  • 郑州外贸网站制作营销号视频生成器手机版
  • 绵阳市建设工程质量监督站网站wordpress的插件目录
  • 建设和管理环保网站西安做兼职网站设计
  • 在网站中写小说想要删除如何做婚纱摄影的网站怎么做
  • 重庆自适应网站建设wordpress添加icon文件
  • 目前小说网站排名适合网站设计的gif图片
  • 深圳建立网站wordpress 安装语言
  • 南京做中英文网站海南网站建设哪家专业
  • 做网站用jquerywordpress邮件有什么用
  • 上海网站建设免the 7 wordpress