一 中断 硬件通过中断与操作系统进行通信,通过对硬件驱动程序处注册中断处理程序,快速响应硬件的中断。 硬件中断优先级很高,打断当前正在执行的程序。有两种情况: 硬件中断在中断处理程序中处理 硬件中断延后再进行处理 这个具体硬件相关,在中断处理程序中处理,打断了当前正在执行的程序;所有中断都将被屏蔽; ...
分类:
系统相关 时间:
2017-11-22 19:58:08
阅读次数:
165
本节主要是进入和离开V86模式的实例测试:各2种方式进入和离开V86模式、V86模式下8086程序调用实模式软中断处理程序。逻辑功能:以驻留方式结束程序。具体步骤,从Temp任务通过任务门切换进V86任务(为V86模式),在V86模式下显示进入V86的提示信息,随后V86任务退出并驻留。在驻留期间,... ...
分类:
编程语言 时间:
2017-11-20 01:08:09
阅读次数:
233
WeTest 导读 当我们在写带有UI的程序的时候,如果想获取输入事件,仅仅是写一个回调函数,比如(onKeyEvent,onTouchEvent….),输入事件有可能来自按键的,来自触摸的,也有来自键盘的,其实软键盘也是一种独立的输入事件。那么为什么我能通过回调函数获取这些输入事件呢?系统是如何精 ...
分类:
移动开发 时间:
2017-11-16 20:46:24
阅读次数:
167
2017-11-15 今天闲着没有突然想了想VCPU线程调度的问题,具体描述如下: 当代表VCPU的线程获得控制权后,首先会通过KVM接口进入到内核,从内核进入到非根模式,那么此时站在全局调度器的点上,这并不算做线程的时间,这种情况下调度器还能正常调度VCPU线程吗? 通过查看intel手册,分析相 ...
分类:
编程语言 时间:
2017-11-15 22:13:38
阅读次数:
363
INTR_IVADD EQU 003CH ;INTR对应的中断矢量地址 IOY0 EQU 0A000H ;片选IOY0对应的端口始地址MY8254_COUNT0 EQU IOY0+00H*2 ;8254计数器0端口地址MY8254_COUNT1 EQU IOY0+01H*2 ;8254计数器1端口地 ...
分类:
其他好文 时间:
2017-11-04 00:25:06
阅读次数:
244
REX(Real Time Executive)是一个面向嵌入式应用的,简单高效的,抢先式,多任务实时操作系统,支持基于优先级的任务调度算法(支持优先级反转)。它提供了任务控制,任务同步,互斥,定时器和终端控制等API。 REX所有的函数都在任务上下文环境里执行。 REX只需要少于5k的ROM控件, ...
分类:
其他好文 时间:
2017-10-17 21:45:14
阅读次数:
252
参考:linux内核定时器 Linux内核时钟系统和定时器实现 linux内核定时器使用及原理 Linux内核学习笔记八——定时器和时间管理 软件意义上的定时器最终依赖硬件定时器来实现,内核在时钟中断发生后检测各定时器是否到期,到期后的定时器处理函数将作为软中断在底半部执行。实质上,时钟中断处理程序 ...
分类:
系统相关 时间:
2017-10-09 22:28:06
阅读次数:
177
参考: Linux下半部处理之软中断 linux中断底半部机制 《深入理解Linux内核》软中断/tasklet/工作队列 为了提高系统的响应能力和并发能力,Linux将中断处理分了上半部和下半部。当一个中断产生,调用该中断对应的处理程序(上半部),然后告诉系统,对应的后半部可以执行了,中断处理程序 ...
分类:
系统相关 时间:
2017-10-07 22:50:03
阅读次数:
225
1. 关键数据结构 PCI设备上有三种地址空间:PCI的I/O空间、PCI的存储空间和PCI的配置空间。CPU可以访问PCI设备上的所有地址空间,其中I/O空间和存储空间提供给设备驱动程序使用,而配置空间则由Linux内核中的PCI初始化代码使用。内核在启动时负责对所有PCI设备进行初始化,配置好所 ...
分类:
系统相关 时间:
2017-09-14 21:49:12
阅读次数:
253
上一节讲了如何实现运行中断,这些都是系统给做好的,当我们想自己写个中断处理程序,去执行自己的代码,就需要写irq_desc->action->handler,然后通过request_irq()来向内核申请注册中断 本节目标: 分析request_irq()如何申请注册中断,free_irq()如何注 ...
分类:
其他好文 时间:
2017-09-11 21:26:02
阅读次数:
516