知了112的专栏

记录每一步~

Android ANR

1, Android ANR的概念 ANR,是“Application Not Responding”的缩写,即“应用程序无响应”。在Android中,ActivityManagerService(简称AMS)和WindowManagerService(简称WMS)会监测应用程序的响应时间,如果...

2015-08-09 14:54:36

阅读数 455

评论数 0

linux下打patch

How to apply patch:   diff -uN test_old test_new > test.patch    -r参数是连目录diff   patch -p0 test.patch

2015-08-09 14:51:27

阅读数 338

评论数 0

trustzone技术

1,trustzone概念 每个物理的处理器核提供两个虚拟核,一个是非安全核(Non-secure, NS),另一个是安全核(Secure, S),arm体系保证了很多硬件资源都是双份的,每个虚拟核独享自己的那份资源,大大简化了软件设计。在这二者之间切换的机制叫做monitor模式。NS核只能访...

2015-08-09 14:47:30

阅读数 724

评论数 0

linux SMP系统学习笔记

一,一个cpu在另外一个cpu上运行指定的函数 int smp_call_function_single(int cpu, smp_call_func_t func, void *info, int wait) smp_call_function_single()函数,在一个指导的cpu上运行一...

2015-08-09 14:42:50

阅读数 3387

评论数 0

Linux Per-cpu变量

1,Linux per-cpu变量的作用 当创建一个per-CPU变量时,系统中的每个处理器都会获得它自己对这个变量的拷贝(副本).存取per-CPU变量时几乎不需要加锁,因为每个处理器使用的都是它自己的拷贝 2,Linux per-cpu变量的使用 在编译的时候声明一个...

2015-08-09 14:14:37

阅读数 1353

评论数 0

[Linux内存]页缓存和块缓存

1, 内核为设备提供了两种通用的缓存方案: a, 页缓存(page cache) b, 块缓存 2,内核管理页缓存所用的数据结构 内核通过基数树(radix tree)来管理页缓存的, 3,内核如何回写内存中修改的数据到物理设备 a, 内核的守护进程在后台运行,为pdf...

2015-08-01 17:42:25

阅读数 2125

评论数 0

linux页表pgd的含义

pgd PGD: Page Global Directory Linux系统中每个进程对应用户空间的pgd是不一样的,但是linux内核 的pgd是一样的。 当创建一个新的进程时,都要为新进程创建一个新的页面目录PGD,并从内核的页面目录swapper_pg_dir中复制内核区间页面目录项至...

2015-07-18 15:23:40

阅读数 3554

评论数 0

linux proc文件系统节点

8,/proc/pid>/ 目录下各个文件的含义,以com.android.chrome为例 cmdline:   com.android.chrome environ:  这是个比较有用的文件,里面记录了当前进程的一些环境变量 exe:       这个就是气这个进程的执...

2015-07-18 15:21:49

阅读数 779

评论数 0

匿名内存

1,匿名内存的概念 匿名内存是指那些在文件系统里没有相对应的”储备文件“的那些内存,堆和栈空间的内存都属于匿名内存。 匿名内存的用途:当一个程序很久没有运行的时候,需要要将程序占用的堆 栈交换到swap分区,而程序打开的文件则不需要放到swap分区,因为打开的文件直接可以放到其文件...

2015-07-18 15:19:46

阅读数 1294

评论数 0

[Linux中断]中断数据结构以及ARM处理中断流程

1,中断相关的数据结构  在linux kernel中,对于每一个外设的IRQ都用struct irq_desc来描述,我们称之中断描述符(struct irq_desc)在linux kernel中,使用struct irq_desc来描述一个外设的中断,我们称之中断描述符,具体代码如...

2015-07-18 15:13:25

阅读数 433

评论数 0

Linux Zram的概念

linux zram技术   zram就是在发生swap事件的时候,不要把置换的页面置换到外部存储中,直接置换到一块内存中压缩起来,这样发生swap事件的时候所花费的时间就是压缩和解压的时间,这样可以大大提高性能。ZRAM是以块设备的形式注册进内核的,在高通平台其文件路径是:LIN...

2015-07-18 15:08:19

阅读数 1330

评论数 0

Linux Cgroups概念

以下转自: linux cgroup Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。 Cgroup的相关概念 1.任务(task)。在...

2015-07-18 15:06:21

阅读数 508

评论数 0

cpu hotplug的流程

以下内容参考: http://loda.hala01.com/2011/08/android-筆記-linux-kernel-smp-symmetric-multi-processors-開機流程解析-part3-linux-多核心啟動流/ 1,cpu hotplug机制 Linux Kern...

2015-07-18 14:51:06

阅读数 3742

评论数 0

[Linux同步]读写信号量

以下内容转自: 信号量 一,信号量和自旋锁的区别 信号量与自旋锁有一定的区别,信号量在无法得到资源时,内核线程处于睡眠阻塞状态,而自旋锁处于忙等待状态。因此,如果资源被占用时间很短时,使用自旋锁较好,因为它可节约调度时间。如果资源被占用的时间较长,使用信号量较好。 二,信号量...

2015-07-05 08:27:27

阅读数 374

评论数 0

debug相关--其它

1,spin lock相关的debug方法 spin lock原理 linux 内核中Spin lock工作原理,当某一个线程持有lock的时候next值加1,释放锁的时候owner值加1,

2015-05-10 10:35:12

阅读数 345

评论数 0

[Linux内存]slub分配器学习笔记(一)--基本概念

slub分频器学习笔记 slub分配器(一)---概述 1,基本原理以及重要的数据结构 struct kmem_cache slub把内存分组管理,每个组分别包含2^3、2^4、...2^11个字节,在4K页大小的默认情况下,另外还有两个特殊的组,分别是96B和192B,共11组。每一个组都是用...

2015-05-10 10:22:16

阅读数 413

评论数 0

[linux]进程(五)——进程调度(实时进程调度)

点击打开链接 1,实时进程和普通进程调度的差别 实时进程需要严格按照优先级的顺序执行,比如在八核平台上,必须是优先级最高的八个进程得到调度,如果此时八个优先级最高的进程都在某一个cpu的rt队列上,那么此时的调度就会涉及到了进程在不同cpu的迁移。 2,实时调度算法概述 该实时调度器主要...

2015-05-10 10:11:00

阅读数 1559

评论数 0

linux设备树

linux设备树 1,DTS (device tree source) .dts文件是一种ASCII 文本格式的Device Tree描述,此文本格式非常人性化,适合人类的阅读习惯。基本上,在ARM Linux在,一个.dts文件对应一个ARM的machine,一般放置在内核的arch/arm...

2015-05-10 09:27:04

阅读数 431

评论数 0

git常用命令学习

1,使用git blame命令可以很容易找出罪魁祸首。这个命令可以将文件中的每一行的作者、最新的变更提交和提交时间展示出来。 git blame [file_name] 2,

2015-05-10 09:14:52

阅读数 333

评论数 0

[Linux内存]slab分配器学习笔记(三)--实现

1,分配对象 cache_grow用于缓存的增长,它会从伙伴系统获取内存。其流程如图所示: 2,释放对象:

2015-04-19 16:09:43

阅读数 431

评论数 0

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