当发生中断之后,linux系统在汇编阶段经过一系列跳转,最终跳转到asm_do_irq()函数,开始C程序阶段的处理。在汇编阶段,程序已经计算出发生中断的中断号irq,这个关键参数最终传递给asm_do_irq()。linux驱动中断处理C程序部分,主要涉及linux中断系统数据结构的初始化和C程序 ...
分类:
系统相关 时间:
2017-06-04 21:19:01
阅读次数:
248
理论背景当redo data 传送发生中断时就会产生redo gap。当redo 传送恢复正常以后,redo transport service 会自动检测redo gap并发送缺失的redo 到destination。解决redo gap的时间与gap 的数量和网络有一定的关系。 Gap越少,网络 ...
分类:
其他好文 时间:
2017-03-11 11:35:45
阅读次数:
140
1 中断,很短的时间过去,然后回来。2 信号,软中断,而中断属于硬中断。3 实时内核,和分时内核。4 同步,预先知道发生,异步,预先不知道要发生,中断属于异步。5 arm一次执行一个中断。6 irq中断,2现在内核支持这个,fiq,快速中断请求。7 问题:两个中断同时发生? 更具优先级,一个一个执行 ...
分类:
其他好文 时间:
2016-06-21 20:26:42
阅读次数:
130
中断寄存器,定时器/计数器相关寄存器本身或者相关位用来做初始化,中断函数的内容主要是体现发生中断后所需要的操作(在中断函数内写代码)。 1.中断允许寄存器IE 图1.中断寄存器IE 中断寄存器用来设定各个中断源的打开和关闭,IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H ...
分类:
其他好文 时间:
2016-06-07 12:50:41
阅读次数:
291
1.什么是异常? 程序方式错误(异常)时,会发生中断,如果不进行处理就会影响程序正常运行 2.finally 利用try{}catch(Exception e){}finally{一定会执行的代码片段} 3.throws、throw throws:在方法上抛出异常让调用处进行处理 throw:直接在 ...
分类:
其他好文 时间:
2016-04-25 00:27:18
阅读次数:
180
一、理论知识 Linux系统的一般执行过程 最一般的情况:正在运行的用户态进程X切换到运行用户态进程Y的过程 1. 正在运行的用户态进程X 2. 发生中断——save cs:eip/esp/eflags(current) to kernel stack, then load cs:eip(entry ...
分类:
其他好文 时间:
2016-04-17 09:01:02
阅读次数:
216
预备知识
内核态
用户态
为什么要划分系统级别?
如何区分内核和用户态? cs:eip
寄存器上下文
上下文切换
系统调用号
中断向量
调度时机
系统调用过程中一定发生中断, 在系统调用执行过程中可能有进程的切换.系统调用分类进程控制load
execute
end, abort
create process (for example, fork on Unix-like systems, or N...
分类:
其他好文 时间:
2016-03-28 00:14:43
阅读次数:
383
System Task Manager 任务管理器是一个系统任务进程,在每次RTX内核时钟发生timer tick interrupt时会运行,也就是每次RTX内核时钟发生中断都会运行。这个进程拥有最高的优先级而不会被其他进程取代。这个进程的基本任务,就是负责调度用户的任务进程。 基于RTX内核的用...
分类:
其他好文 时间:
2016-01-17 16:04:28
阅读次数:
188
中断或异常发生之前当 CPU 执行了当前指令之后,CS 和 EIP 这对寄存器中所包含的内容就是下一条将要执行 指令的逻辑地址。在对下一条指令执行前,CPU 先要判断在执行当前指令的过程中是否发生 了中断或异常。如果发生了一个中断或异常那么 CPU 将做以下事情? 确定所发生中断或异常的向量i(在 ...
分类:
其他好文 时间:
2015-10-23 01:24:15
阅读次数:
287
R14也称作子程序连接寄存器(Subroutine Link Register)或连接寄存器LR。当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。与之类似,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R...
分类:
其他好文 时间:
2015-10-17 23:27:39
阅读次数:
212