一、前言 GIC(Generic Interrupt Controller)是ARM公司提供的一个通用的中断控制器,其architecture specification目前有四个版本,V1~V4(V2最多支持8个ARM core,V3/V4支持更多的ARM core,主要用于ARM64服务器系统结 ...
分类:
系统相关 时间:
2018-02-13 22:16:35
阅读次数:
372
一、前言 当外设触发一次中断后,一个大概的处理过程是: 1、具体CPU architecture相关的模块会进行现场保护,然后调用machine driver对应的中断处理handler 2、machine driver对应的中断处理handler中会根据硬件的信息获取HW interrupt ID ...
分类:
系统相关 时间:
2018-02-13 22:16:18
阅读次数:
297
一、前言 本文主要的议题是作为一个普通的驱动工程师,在撰写自己负责的驱动的时候,如何向Linux Kernel中的中断子系统注册中断处理函数?为了理解注册中断的接口,必须了解一些中断线程化(threaded interrupt handler)的基础知识,这些在第二章描述。第三章主要描述了驱动申请 ...
一、前言 本文主要围绕IRQ number和中断描述符(interrupt descriptor)这两个概念描述通用中断处理过程。第二章主要描述基本概念,包括什么是IRQ number,什么是中断描述符等。第三章描述中断描述符数据结构的各个成员。第四章描述了初始化中断描述符相关的接口API。第五章描 ...
分类:
系统相关 时间:
2018-02-13 22:12:16
阅读次数:
228
开篇前,我们先来看看不使用线程池的情况: new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 new Thread(new Runnable() { @Override public void run() { // TODO Auto-gen ...
分类:
编程语言 时间:
2018-02-13 12:29:33
阅读次数:
212
中断和异常的目的: 为了让CPU能够暂停当前的任务,转去处理突发事件或者其他需要处理的任务,于是设计了中断interrupt跟异常exception机制。1. 中断 中断通常是CPU外部的输入输出设备(硬件)触发的,供外部设备通知CPU有事情需要处理,因此又叫做中断请求,中断请求的目的是希望CPU暂 ...
分类:
其他好文 时间:
2018-02-09 17:27:48
阅读次数:
182
synchronized版本public?class?Test?{
public?static?void?main(String[]?args)?{
Shared?s?=?new?Shared();
Thread?t1?=?new&nbs
分类:
其他好文 时间:
2018-02-08 20:22:52
阅读次数:
244
package 第三章.信号量;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;/** * Created ...
分类:
编程语言 时间:
2018-02-07 12:11:52
阅读次数:
147
package 第三章.循环栅栏CyclicBarrier;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/** * Created by zzq on 201 ...
分类:
其他好文 时间:
2018-02-07 12:02:14
阅读次数:
146
本文使用redis来实现乐观锁,并以秒杀系统为实例来讲解整个过程。 乐观锁 大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字段来实现读取出数据时,将此版本号一同读出,之后更新时,对此版本 ...
分类:
其他好文 时间:
2018-02-06 13:04:49
阅读次数:
230