
Linux
文章平均质量分 75
kasalyn
这个作者很懒,什么都没留下…
展开
-
Linux Notification
http://blog.youkuaiyun.com/adaptiver/article/details/6651830转载 2013-07-14 17:13:05 · 561 阅读 · 0 评论 -
ARM伪指令与编程
ARM编译器一般都支持汇编语言的程序设计和C/C++语言的程序设计,以及两者的混合编程。本章介绍ARM程序设计的一些基本概念,如ARM汇编语言的伪指令、汇编语言的语句格式和汇编语言的程序结构等,同时介绍C/C++和汇编语言的混合编程等问题。本章的主要内容:- ARM编译器所支持的伪指令- 汇编语言的语句格式- 汇编语言的程序结构- 相关的程序示例 ARM汇编器所支持的伪转载 2013-06-29 20:18:42 · 2132 阅读 · 0 评论 -
States of Cache line
Refer to: http://en.wikipedia.org/wiki/MOESI_protocolhttp://en.wikipedia.org/wiki/MESI_protocolMOESI protocolIn computing, MOESI is a full cache coherency protocol that encompasses a转载 2013-07-24 11:15:37 · 886 阅读 · 0 评论 -
CPU调速器Governor说明
From: http://android.zone.it.sohu.com/thread-11841439-1-1.html现在很内核都会增加新的CPU调速器,很多人不知道内核中的CPU调速器有什么用, 下面给大家详细介绍一下CPU调速器Governor说明: 什么是Governor? →Android的CPU 的频率并不是一成不变的,会因应程式所需而调整频率,通常会转载 2013-08-07 10:29:34 · 3515 阅读 · 0 评论 -
互斥与同步
spinlock的设计思想:转载 2013-08-02 20:04:43 · 552 阅读 · 0 评论 -
list_head使用介绍
list_head结构的介绍http://blog.youkuaiyun.com/billpig/article/details/5880895list_head结构定义在 里,它是一个double linked list的结构。 底下是它的结构宣告:struct list_head {struct list_head *next, *prev;};有的人可能看到这样的结构会觉得很转载 2013-08-11 20:23:45 · 967 阅读 · 0 评论 -
Android系统属性
From: http://blog.youkuaiyun.com/a345017062/article/details/6083026每一个属性都是一个名值对,名和值都是文本。Android系统中,属性被大量使用,用来记录系统设置或者在进程间交换信息。属性在整个系统中是可见的,每一个进程都可以get/set属性。系统初始化时,在init这个daemon中,Android会分配一些内存来存储这些属性转载 2013-08-14 20:20:41 · 641 阅读 · 0 评论 -
$(srctree) is not clean, please run 'make mrproper'
在使用make menuconfig重新配置后,再编译kernel时常会遇到这样的问题:Using /home/likewise-open/BJS/lisa.liu/code/sprdroid4.0.3_vlx_3.0_13a/kernel as source for kernel/home/likewise-open/BJS/lisa.liu/code/sprdroid4.0.3_v原创 2013-08-14 20:10:49 · 11711 阅读 · 6 评论 -
#、##和__VA_ARGS__
From: http://www.cnblogs.com/zhujudah/archive/2012/03/22/2411240.html1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化为字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化(stringizin转载 2013-08-27 16:11:12 · 558 阅读 · 0 评论 -
Linux下分割大文件及合并还原
From: http://www.redwolf-blog.com/?p=2352现在的网盘,很多都不支持单个大文件,通常都限制在1GB之类。为了解决这个问题,在Linux下可以直接使用split命令将大文件分割成小于1GB的文件。如:为了保存一个虚拟机文件,使用了下面的命令:split -b 600M TOOLS.7z TOOLS.7z.split.其中-b转载 2013-09-06 18:58:00 · 2846 阅读 · 0 评论 -
spinlock_t定义
注意:下文中的所有定义已去掉调试和统计相关的信息spinlock_types.h (include\linux) typedef struct spinlock { union { struct raw_spinlock rlock; };} spinlock_t;typedef struct raw_spinlock { arch_spinlock_t raw_转载 2013-09-09 06:51:55 · 3692 阅读 · 0 评论 -
struct semaphore定义
semaphore.h (include\linux) 1392 2013-2-28/* Please don't access any members of this structure directly */struct semaphore { raw_spinlock_t lock; unsigned int count; struct lis转载 2013-09-09 07:22:35 · 4031 阅读 · 0 评论 -
指针-->字符串
From: http://www.2cto.com/kf/201309/240740.html1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符。 如在代码中写"abc",那么编译器帮你存储的是"abc\0"。 2. "abc"是常量吗? 答案是有时是、有时不是。 不是常量的情况:"abc"作为字符数组初始值的时候就不是,如: c转载 2013-09-05 11:23:49 · 487 阅读 · 0 评论 -
genalloc — 通用内存分配器
From: http://www.2cto.com/kf/201302/187782.htmlgenalloc 是 linux 内核提供的通用内存分配器,源码位于 lib/genalloc.c。这个分配器为独立于内核以外的内存块提供分配方法,采用的是最先适配原则,android 最新的 ION 内存管理器对 ION_HEAP_TYPE_CARVEOUT 类型的内存就是采用的这个分配器。转载 2013-09-05 09:58:33 · 1348 阅读 · 0 评论 -
真正的上锁前,为何要调用preempt_disable()来关闭抢占的case
在真正的上锁前,为何要调用preempt_disable()来关闭抢占?==》1.如果内核可抢占, 单CPU process1通过系统调用进入内核态,如果其需要访问临界区,则在进入临界区前获得锁,上锁,V=1,然后进入临界区 如果process1在内核态执行该系统调用过程中发生了一个外部中断,当中断处理函数返回时,因为内核的可抢占性,此时将会出现一个调度点,如果CPU的原创 2013-09-09 12:37:42 · 13201 阅读 · 6 评论 -
LINUX内核中的xx_initcall初始化标号
From: csdn 800th http://blog.youkuaiyun.com/thl789/article/details/6581146 LINUX内核中有很多的初始化指示标志postcore_initcall(), arch_initcall(), subsys_initcall(), device_initcall(), etc. 这些起什么作用呢?转载 2013-11-28 18:01:42 · 2553 阅读 · 0 评论 -
GCC特性之__init修饰解析
在driver文件中经常看到"__init"修饰的代码,那么__init标记有什么意义?先看下面这段英文说明:(include/linux/init.h)/* These macros are used to mark some functions or * initialized data (doesn't apply to uninitialized data) * as `in原创 2013-11-28 21:22:12 · 3886 阅读 · 0 评论 -
main函数的两个参数
main函数的两个参数From: http://blog.sina.com.cn/s/blog_4d3a41f40100e444.html详细一点。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main(argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv(第二个形参)必须是指转载 2013-12-02 11:20:08 · 815 阅读 · 0 评论 -
fgets函数 和 fputs
From: http://blog.youkuaiyun.com/wuyu1125/article/details/7610652fgets从指定的文件中读一行字符到调用者提供的缓冲区中,gets从标准输入读一行字符到调用者提供的缓冲区中。#include char *fgets(char *s, int size, FILE *stream);char *gets(char *s);转载 2013-12-02 13:55:10 · 958 阅读 · 0 评论 -
__KERNEL__ macro
From: http://blog.youkuaiyun.com/songcdut/article/details/8625041 The __KERNEL__ macro is defined because there is programs (like libraries) that include kernel code and there is many things that转载 2013-12-03 16:37:08 · 4162 阅读 · 0 评论