logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linux内核原子操作的实现

所谓原子操作,就是“不可中断的一个或一系列操作”。硬件级的原子操作:在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是“原子操作”,因为中断只发生在指令边缘。在多处理器结构中(SymmetricMulti-Processor)就不同了,由于系统中有多个处理器独立运行,即使能在单条指令中完成的操作也有可能受到干扰。在X86平台生,CPU提供了在指令执行

linux内核及驱动开发中有关__init,__exit和__initdata的用法

要了解Linux Kernel代码的分段信息,需要了解一下gcc的__attribute__的编绎属性或定义的函数或数,__attribute__主要用于改变所声明据的特性,它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn表示没有返回值、pure表明函数除返回值外,不会通过其它(如全局变量、指针)对函数外部产生任何影响。但这里我们比较感兴趣的是对代

#驱动开发
Linux内核spin_lock与spin_lock_irq分析

在Linux内核中何时使用spin_lock,何时使用spin_lock_irqsave很容易混淆。首先看一下代码是如何实现的。spin_lock的调用关系     spin_lock             |           + ----->  raw_spin_lock |+------>  _raw_spin_lock  

#安全
链表求和

题目:分析:算法

#算法
Linux Device Link机制

Device link(设备链接)是Linux内核驱动核心中用来表示设备之间依赖关系的机制。它允许驱动作者描述超越单纯父子层次关系的设备依赖,例如兄弟设备之间的依赖,同时能够让驱动核心自动处理这些依赖关系。排序依赖:保证"供应商(supplier)"设备和"消费者(consumer)"设备之间正确的挂起/恢复和关闭排序列驱动存在依赖:保证供应商设备先绑定驱动,消费者设备才会被探测;供应商解除绑定前

#linux#java#服务器
Touch panel DTS 分析(MSM8994平台,Atmel 芯片)

Touch panel DTS 分析(MSM8994平台,Atmel 芯片)在MSM8994平台下,Touch panel的DTS节点写在/kernel/arch/arm/boot/dts/qcom/msm8994-mtp.dtsi文件中。具体代码如下:&soc {          i2c@f9924000 {                             

Touch panel DTS 分析(MSM8994平台,Atmel 芯片)

Touch panel DTS 分析(MSM8994平台,Atmel 芯片)在MSM8994平台下,Touch panel的DTS节点写在/kernel/arch/arm/boot/dts/qcom/msm8994-mtp.dtsi文件中。具体代码如下:&soc {          i2c@f9924000 {                             

Dalvik虚拟机JNI方法的注册过程分析

在前面一文中,我们分析了Dalvik虚拟机的运行过程。从中可以知道,Dalvik虚拟机在调用一个成员函数的时候,如果发现该成员函数是一个JNI方法,那么就会直接跳到它的地址去执行。也就是说,JNI方法是直接在本地操作系统上执行的,而不是由Dalvik虚拟机解释器执行。由此也可看出,JNI方法是Android应用程序与本地操作系统直接进行通信的一个手段。在本文中,我们就详细分析JNI方法的注册过程。

#dalvik
到底了