自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sky的专栏

android system研究交流

  • 博客(16)
  • 收藏
  • 关注

原创 LDD: ch4补充,seq_file的介绍

LDD CH4补充, seq_file介绍

2015-12-22 14:06:03 1061

原创 LDD: Ch 4 调试技术

LDD ch 4 1. 内核调试的困难:内核不和特定的进程关联,所以无法很容易的用调试器来调试,而且很难跟踪。增加了debugfs内容。

2015-12-17 20:12:50 815

原创 LDD: Ch 3 字符设备驱动程序

LDD ch3笔记

2015-11-09 19:26:35 874

原创 LDD:Ch 1 设备驱动程序简介

机制和策略(mechanism/policy)机制是指要提供什么样的功能。 策略是指如何使用这些功能。内核功能划分为以下的几个部分:进程管理,内核进程管理就是在单个/多个cpu上实现了多个进程的抽象。内存管理文件系统设备控制,也就是设备如何驱动的。网络功能。注意,所有的陆游和地址解析也是由内核来完成的。Linux模块linux有个很好的特性,内核提供的特性可以在运行时候扩展,也就是在内

2015-07-30 20:07:37 705

原创 LDD:Ch 2 构造和运行模块

LDD ch2 小结。Sample Code可以在https://github.com/ykdsea/linux-ldd-samples.git 下载。

2015-07-30 19:57:02 772

原创 Linux real-time signal (实时信号)

linux中的Signal分为两种,一种是standard signal,标准信号的定义在signal.h中我们都可以看到,而另外一种信号叫做real-time signal(实时信号)。实时信号实时信号是由Posix标准引入的,信号的取值区间是SIGRTMIN~SIGRTMAX (signal real-time min)。如在arm linux中,SIGRTMIN在sign

2015-07-20 16:08:27 7406

原创 Linux magic sysrq key

sysrq key是什么sysrq key是一组kernel在任何时候都可以响应的组合热键。在嵌入式设备上我们一般没法使用组合按键,而是通过访问proc文件来发送command给kernel。配置sysrq的enable需要配置Magic SysRq key (CONFIG_MAGIC_SYSRQ)。/proc/sysrq-trigger操作该目录来触发对应的功

2015-07-17 20:25:42 1787

原创 android fence sync

android fence sync是android中引入的一个同步的机制,主要用在display的graphic buffer的同步管理上,可以让对buffer的操作可以并行执行以减少时间。在BufferQueue中每个buffer都有一个对应的fence fd,他对应了一个fence object,它表明有角色在操作这块buffer,当fence object变为siganled状态的时候

2014-10-11 15:32:21 6702

原创 android graphic classes

android graphic相关的class很多,如果不搞清楚每个class的作用,在使用的时候经常搞不清楚怎么用,到底用哪个class,这里写一下常见的类的说明。BufferQueuenative class。BufferQueue是最重要的一个class,它维护了一个graphic buffer的list,并连接了producer和consumer两端。BufferQueue

2014-10-09 17:08:58 1196 1

原创 android Binder详解(4)

3.4 getService()分析clinet中获取service接口的调用如下:

2014-09-30 14:36:21 1700

原创 android Binder详解(3)

三,binder场景分析写完SampleService,我们已经有一些基本概念了,下面我们通过一些场景的分析来理解一下整个binder的实现架构。在这部分首先了解下/dev/binder的驱动,分析ServiceManager的实现,然后我们分几个具体的场景来分析:

2014-09-28 14:13:16 2481

原创 android Binder详解 (2)

2.3 SampleService启动(main函数实现)service的启动实际就是需要编写一个可执行程序来运行service。还是以surfaceflinger为例,surfaceflinger的main函数在frameworks/native/service/surfacefllinger/main_surfaceflinger.cpp:

2014-09-14 18:08:35 1923 4

原创 android Binder详解 (1)

做android的同学们都应该知道有个叫做binder的东西,它是android的ipc机制,是一个核心的组成部分。一直以来,我对于binder只有一个概念,对细节不清楚,特别是核心的binder device。最近有空,完整的学习下android binder,这篇文章,基本上是整个学习过程的一个记录,如有错误的问题,请大家指正。

2014-09-14 17:16:08 1902

原创 android dalvik heap 管理

最近遇到了一个dalvik memory相关的问题,对dalvik的heap管理部分做了一些了解,在此总结一下,主要是下面3个方面的内容:1,java heap的实现,和native heap的差异。2,gc的实现。3,配置heap的相关prop的含义。davlik java heapjava的heap一般是和Native heap独立开来,因为java对象的回收,

2014-08-12 19:06:41 1624

原创 dlmalloc 简析

本文基于android kitkat所用的dlmalloc版本进行分析。malloc/free work flowmalloc/free是libc库提供的函数,主要是用户层的操作,而不是内核的系统调用。一般的heap管理是通过sbrk或者mmap函数来向系统获取大量的内存(只是虚拟的内存地址),然后由特定的heap管理算法来管理用户程序申请/释放内存(比如dlmalloc)。有

2014-08-12 18:53:01 3386

原创 android ART 简介

android L中正式将ART设为默认的runtime了,有必要对art做一下简单的了解。主要参考android网站上的介绍:http://source.android.com/devices/tech/dalvik/art.htmlhttp://developer.android.com/guide/practices/verifying-apps-art.htmlAOT

2014-08-12 18:46:35 726

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除