自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

转载 窥探 kernel --- 浅析do_exit

http://blog.csdn.net/muge0913/article/details/7483054 进程在退出时,必须释放它所拥有的资源,并通过某种方式告诉父进程。进程的退出一般是显示或隐式地调用了eixt(),或者接受了某种信号。不过什么原因退出,最终都调用了do_exit。用于进程退出的系统调用有两个exit和exit_group,exit只是终

2012-11-14 13:28:04 1272

转载 nohup 命令 用途:不挂断地运行命令

简单而有用的nohup命令在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止。要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦;另一种方法是仍然用普通方法编程,然后用nohup命令启动程序: nohup & 则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意

2012-09-21 12:29:57 9662

转载 wakelock 详解

[置顶] wakelock 详解分类: linux驱动代码解析 2012-04-24 20:21 191人阅读 评论(0)收藏 举报Wake lock - wakelock在android的电源管理系统中扮演一个核心的角色,wakelock是一种锁的机制, 只要有task拿着这个锁, 系统就无法进入休眠, 可以被用户态进程和内核线程获得。这个锁可以是有超时的或者

2012-09-12 11:12:44 1373

转载 set_task_state()与__set_task_state()的区别

set_task_state()与__set_task_state()的区别[ 2010-10-9 13:19:00 | By: cc810610186 ] #define __set_task_state(tsk, state_value) \do { (tsk)->state = (state_value)

2012-09-06 11:00:10 2923

转载 linux kernel current宏

linux kernel current宏  2012-04-15 10:46:23|  分类:linux 进程与进程 |  标签:|字号大中小 订阅1,先看个示意图吧.2,每个进程在内核态下都会开辟一个内核栈,一般就是8KB,一般把thread_info这个结构体和      内核栈放在一起,这样内核就可以很方便从ESP寄存器中获取当前CPU上

2012-09-06 09:37:12 2509

转载 workqueue原理和分析(转)

workqueue原理和源码分析分类: linux2.6.xx内核代码分析 2011-04-29 09:56 437人阅读 评论(0)收藏 举报workqueue,中文称其为工作队列,是一个用于创建内核线程的接口,通过它创建的内核线程来执行内核其他模块排列到队列里的工作,创建的内核线程被称为工作者线程。要理解工作队列的实现,重点在于理解相关的三个数据结构的含

2012-09-04 16:03:41 883

转载 Linux 的 Out-of-Memory (OOM) Killer

Linux 的 Out-of-Memory (OOM) Killer作者: Fenng| 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.dbanotes.net/database/linux_outofmemory_oom_killer.html 同事在 Linux 服务器上遇到点小问题,我也上去折腾半天。这还是

2012-09-04 09:11:03 1045

转载 抛弃中断bottom half,使用中断线程

http://blog.sina.com.cn/s/blog_5f6661380100qwpn.html抛弃中断bottom half,使用中断线程吧(2011-02-24 10:39:54)转载▼标签:杂谈 在linux里,中断处理分为顶半(top half),底半(bottom half),在顶半里处理优先级比较高的事

2012-08-30 21:25:02 1048

转载 linux中断线程化(转载)

linux中断线程化(转载)  2012-06-02 20:28:34|  分类:linux内核开发 |  标签:|字号大中小 订阅摘自:http://www.eeworld.com.cn/qrs/2012/0326/article_9459_2.html中断线程化是实现Linux实时性的一个重要步骤,在Linux标准内核中,中断是最高优先级的执行单元,不管

2012-08-30 16:13:02 2498

转载 linux PROC系列

PROC系列分类: linux-kernel 2011-08-05 23:09 89人阅读 评论(0)收藏 举报该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。有多少磁盘读写请求   [zhh@localhost ~]$ cat /proc/diskstats配置

2012-08-24 11:12:31 1763

转载 linux查看磁盘空间的方法

一、df 命令;df 是来自于coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;举例:[root@localhost beinan]# df -lhFilesystem 容量 已用 可用 已用% 挂载点/dev/hda8 11G 6.0G 4.4G 58% //dev/shm 236M

2012-06-19 13:38:59 829

转载 【转】Linux用户空间与内核空间 理解和总结

【转】Linux用户空间与内核空间 理解和总结(1)让我们忽略Linux对段式内存映射的支持。在保护模式下,我们知道无论CPU运行于用户态还是核心态,CPU执行程序所访问的地址都是虚拟地址,MMU 必须通过读取控制寄存器CR3中的值作为当前页面目录的指针,进而根据分页内存映射机制(参看相关文档)将该虚拟地址转换为真正的物理地址才能让CPU真正的访问到物理地址。(2)对于32位的Linux,

2012-06-06 09:07:37 688

转载 Linux Grep 命令说明 .

http://blog.csdn.net/tianlesoftware/article/details/6277193一. Grep 说明  grep (global search regular expression(RE) and print out the line)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。       Unix的grep家族包

2012-05-07 23:15:19 488

转载 解密module_init

http://blog.163.com/xinbuqianjin@126/blog/static/167563447201010221231507/在Linux底下写过driver模块的对这个宏一定不会陌生。module_init宏在MODULE宏有没有定义的情况下展开的内容是不同的,如果这个宏没有定义,基本上表明阁下的模块是要编译进内核的(obj-y)。1.在MODULE没有定义这种情况

2012-02-28 21:32:26 772

转载 Spinlock 简介(转)

http://eagletff.blog.163.com/blog/static/1163509282010791954994/在这篇文章中,我将会介绍 Kernel 提供用来使用 spinlock 的 function。除此之外,我还会告诉各位,为何在 SMP 的环境里,使用 spinlock 会比将所有 CPU 的中断 disable 这个方法来的有效率,我也会告诉各位怎么针对不同的使用需

2012-02-14 09:50:29 1059

转载 GDB调试精粹及使用实例

http://www.yuanma.org/data/2009/1019/article_3970.htm  一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参

2012-02-14 09:48:54 403

转载 内核同步措施(spinlock与mutex)

内核同步措施为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。Linux 使用的同步机制可以说从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux从单处理器到对称多处理器的过度;伴随着从非抢占内核到抢占内核的过度

2012-02-14 09:47:09 789

转载 可变参数宏__VA_ARGS__

http://blog.sina.com.cn/s/blog_661314940100qmfg.html 可变参数宏__VA_ARGS__在 GNU C 中,宏可以接受可变数目的参数,就象

2011-08-11 10:59:35 1058

转载 SYSCALL_DEFINE3 宏定义

http://blog.csdn.net/p_panyuch/article/details/5648007 SYSCALL_DEFINE3 宏定义分类: 技术相关 2010-06-04 16:59 651人阅读 评论(0)收藏 举报SYS

2011-08-11 10:44:33 2948

转载 Linux下系统调用的实现

http://hi.baidu.com/xydjh/blog/item/c461c135d1806d8fa61e12bb.htmlUnix/Linux操作系统的体系结构及系统调用介绍什么是操作系统和系统调用     操作系统是从硬件抽象出来的虚拟机,在该虚拟机上用户可

2011-08-10 21:35:55 1355

转载 引用 linux ioctl函数

http://vic295.blog.163.com/blog/static/74033530200991974322689/引用 linux ioctl函数  2009-10-19 19:43:22|  分类:Linux |  标签:|字号大中小 订阅

2011-08-10 11:04:54 1771

转载 __must_check含义及出处

[linux笔记]__must_check含义及出处 include/linux/compiler-gcc4.h #define __must_check            __attribute__((warn_unused_result))__must_check函数是指

2011-07-12 21:36:42 3492

转载 Linux中的work queue

http://blog.sina.com.cn/s/blog_55465b470100qmrc.html 工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行

2011-07-08 13:23:08 792

转载 ftrace 简介

ftrace 简介ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为,以便进行故障调试或性能分析。最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,

2011-07-05 10:00:34 573

转载 linux 驱动程序 tasklet 笔记

<br />http://blog.csdn.net/zhengmeifu/archive/2011/01/08/6124625.aspx<br /> <br /> <br />Tasklet机制是一种较为特殊的软中断。Tasklet一词的原意是“小片任务”的意思,这里是指一小段可执行的代码,且通常以函数的形式出现。软中断向量HI_SOFTIRQ和TASKLET_SOFTIRQ均是用tasklet机制来实现的。<br />从某种程度上讲,tasklet机制是Linux内核对BH机制的一种扩展。在2.4内核引

2011-05-26 16:08:00 614

转载 procrank info

<br />http://blog.csdn.net/Aaronzzq/archive/2010/09/21/5899432.aspx<br /> <br /> <br />Terms<br />•VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)<br />•RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)<br />•PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)<br />•

2011-05-10 11:06:00 847

转载 Android深入浅出之Zygote

<br /> <br />http://www.cnblogs.com/innost/archive/2011/01/26/1945769.html<br />一目的<br />zygote,是Android搞出来的一个东西。网上讲这个的也非常多。第一次看到这个名字我就挺郁闷,想干嘛这是?Linux下名字都取得挺通俗易懂,深得人心。zygote?不就想模仿Linux下的fork吗?个人觉得Google取名字挺怪,包括Google本身。<br />不管怎样,Zygote依然是Android系统的核心,zygo

2011-05-09 23:57:00 773

转载 透过proc看内存

http://jasperzhang.blog.sohu.com/162339118.html<br /> <br />1 内存信息查看<br />proc文件系统中涉及内存使用情况的文件主要有:<br />/proc/meminfo表征了系统内存使用概要信息:<br />[root@localhost ~]# cat /proc/meminfo <br />MemTotal:       505964 kB              //系统可用物理内存总量<br />MemFree:      

2011-05-07 13:06:00 9462

转载 Android 内存泄漏调试

<br />http://eastpoplar.blog.163.com/blog/static/1206527520110168441921/<br /> <br />一、概述 1<br />二、Android(Java)中常见的容易引起内存泄漏的不良代码 1<br />(一) 查询数据库没有关闭游标 2<br />(二) 构造Adapter时,没有使用缓存的 convertView 3<br />(三) Bitmap对象不在使用时调用recycle()释放内存 4<br />(四) 释放对象的引用 4<

2011-05-05 21:41:00 1223

转载 pci设备的枚举(转)

<br />http://blog.csdn.net/caballero2002/archive/2009/12/16/5019544.aspx<br /> <br /> <br />一:前言<br />Pci,是Peripheral Component Interconnect的缩写,翻译成中文即为外部设备互联.与传统的总线相比.它的传输速率较高.能为用户提供动态查询pci deivce.和局部总线信息的方法,此外,它还能自动为总线提供仲裁.在近几年的发展过程中,被广泛应用于多种平台.<br />pci协

2011-04-25 11:46:00 2593

转载 linux设备驱动之pci设备的驱动架构

<br />http://blogold.chinaunix.net/u3/90065/showart_1912738.html<br /> 经过前面的处理,所有设备及其信息都已经遍历出来了.在深入分析PCI驱动架构之前,我们来回顾一下前面遍历PCI设备时,对pci_dev->dev的一些重要成员的赋值.以及各结构在sysfs中的视图8.1:pci架构在sysfs中视图1:对于pci_devpci_dev->dev的所属bus,parent和name的赋值: 在pci_scan_child_bus() --

2011-04-22 23:44:00 2034

转载 Android GSM驱动模块详细分析

<br />http://www.linux-mobile.net/forum.php?mod=redirect&tid=18358&goto=lastpost<br /> <br />Android的RIL驱动模块,<br />在hardware/ril目录下,一共分rild,libril.so以及librefrence_ril.so三个部分,另有一<br />radiooptions可供自动或手动调试使用。都依赖于include目录中ril.h头文件。目前cupcake分支上带的是gsm的支持,另有一c

2011-04-15 08:12:00 3135

原创 Makefile的obj-y 和 obj-m

<br />目标定义是Kbuild Makefile的主要部分,也是核心部分。主要是定义了要编 译的文件,所有的选项,以及到哪些子目录去执行递归操作。 最简单的Kbuild makefile 只包含一行: 例子: obj-y += foo.o 该例子告诉Kbuild在这目录里,有一个名为foo.o的目标文件。foo.o将从foo.c 或foo.S文件编译得到。 如果foo.o要编译成一模块,那就要用obj-m了。所采用的形式如下: 例子: obj-$(CONFIG_FOO) += foo.o $(CONFI

2011-04-14 11:40:00 28031 4

转载 initcall机制原理及实践

<br />http://blog.csdn.net/jccz_zys/archive/2007/06/01/1633963.aspx<br /> <br /> <br />说明:以下内容基于linux2.4.0<br />一、initcall机制原理<br />    在linux初始化的过程中,内核采用了一种initcall的机制,它利用gcc的扩展功能以及ld的连接控制脚本实现了在内核初始化的过程中通过简单的循环就实现了相关驱动的初始化。核心代码的/init/main.c里面有do_initcalls

2011-04-11 21:59:00 1341

转载 Linux基础: 解密module_init幕后的故事

http://www.linuxidc.com/Linux/2011-03/32833.htm在Linux底下写过driver模块的对这个宏一定不会陌生。module_init宏在MODULE宏有没有定义的情况下展开的内容是不同的,如果这个宏没有定义,基本上表明阁下的模块是要编译进内核的(obj-y)。1.在MODULE没有定义这种情况下,module_init定义如下:#define module_init(x)        __initcall(x);因为#define __initcall(fn) 

2011-04-11 21:47:00 3359

原创 Android编译模块

<br /> <br />编译模块<br />android中的一个应用程序可以单独编译,编译后要重新生成system.img<br />在源码目录下执行<br />$ . build/envsetup.sh (.后面有空格)<br />就多出一些命令:<br />- croot:   Changes directory to the top of the tree.<br />- m:       Makes from the top of the tree.<br />- mm:      Builds

2011-03-31 22:04:00 961

转载 Android 编译系统分析

<br />http://disanji.net/2011/02/28/android-compile-explanation/<br /> <br />自Android开源以来,引起了嵌入式行业一股热潮,很多嵌入式开发者表示对Android有很强的兴趣,并下载Android源码进行编译和移植。Android源码的巨大(repo下来,大概2G)给人以Android相当复杂的错觉。本文从Android编译系统的角度,让大家了解Android其实也是很纯真的。 Android编译系统(build system)

2011-03-31 21:56:00 1349

转载 Printk的loglevel和日志记录分析

http://blog.csdn.net/brfeng/archive/2008/08/05/2772502.aspxPrintk的loglevel和日志记录分析(分析版本是ubuntu7.10,内核源码是2.6.23)首先,printk有8个loglevel,定义在中,其中数值范围从0到7,数值越小,优先级越高。#define    KERN_EMERG      ""      /* system is unusable     */ 系统崩溃#define    KERN_ALERT       ""

2011-03-28 11:44:00 8606

原创 怎么知道当前Ubuntu系统是32位还是64位?

<br />Linux的执行文件通常有32位、64位之分,经常有人发现有可执行文件明明在,执行位也对,执行它却报告找不到执行文件的错误:没有该文件或目录。<br />简单判断当前系统的架构,在终端执行:$uname-m输出:i686,系统是32位;输出:x86_64,系统是64位。<br />在64位系统下可以安装ia32库从而可以运行32位程序,但反过来是不行的。<br />PS:判断一个执行文件是32位还是64位?<br />终端执行:$ file/usr/bin/python2.6/usr/bin

2011-03-04 16:10:00 7527

原创 android log

<br />android代码对大部分都是:<br /> if (Log.isLoggable(TAG, Log.VERBOSE)) {<br />                            Log.v(TAG, "Internal storage is ok.");<br />                        }<br />所以要改isLoggable返回者<br />可在adb中setprop log.tag.CalendarProvider2 VERBOSE<br />Cal

2011-03-02 11:32:00 2747 1

空空如也

空空如也

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

TA关注的人

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