linux-kernel
Brice_Liu
这个作者很懒,什么都没留下…
展开
-
PROC系列
该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。[root@localhost ~]# cat /proc/loadavg 4.61 4.36 4.15 9/84 5662每个值的含义为:参数转载 2011-08-05 23:09:01 · 728 阅读 · 0 评论 -
Technology resources
A Blog on Parallel Programming and Concurrency by Michael Suesshttp://www.thinkingparallel.com/2006/08/18/more-information-on-pthread_setaffinity_np-and-sched_setaffinity/搜狗实验室数据资源http://w原创 2013-01-23 16:09:07 · 377 阅读 · 0 评论 -
ubuntu下core文件调试方法 (转载)
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2)使用ulimit -c filesize命令,可转载 2013-01-16 00:23:50 · 3655 阅读 · 0 评论 -
scull驱动学习!
《Linux设备设备驱动程序(第三版)》学习笔记之一:scull设备的使用By:吴垠Date:2007-07-05Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyr转载 2013-03-19 11:17:33 · 630 阅读 · 0 评论 -
【linux驱动开发】主设备号与次设备号
一个字符设备或者块设备都有一个主设备号和次设备号。主设备号和次设备号统称为设备号。主设备号用来表示一个特定的驱动程序。次设备号用来表示使用该驱动程序的各设备。例如一个嵌入式系统,有两个LED指示灯,LED灯需要独立的打开或者关闭。那么,可以写一个LED灯的字符设备驱动程序,可以将其主设备号注册成5号设备,次设备号分别为1和2。这里,次设备号就分别表示两个LED灯。1.主设备号和转载 2013-03-18 17:39:03 · 1179 阅读 · 0 评论 -
scull字符设备注释版(收集的,很详细,不错!)
#include linux/module.h>#include linux/init.h>#include linux/moduleparam.h>#include linux/kernel.h>//printk()#include linux/slab.h>//kmalloc()#include linux/fs.h>//everything...#include转载 2013-03-18 17:43:54 · 773 阅读 · 0 评论 -
在Linux 2.6内核下编译可以加载的内核模块
在Linux 2.6内核下编译可以加载的内核模块By:吴垠Date:2007-05-18Email:lazy_fox#msn.comHomepage:http://blog.csdn.net/wooinLink:http://blog.csdn.net/wooin/archive/2007/05/21/1619转载 2013-03-19 11:16:59 · 506 阅读 · 0 评论 -
Linux 2.6内核Makefile浅析
1 概述Makefile由五个部分组成:Makefile:根目录Makefile,它读取.config文件,并负责创建vmlinux(内核镜像)和modules(模块文件)。.config:内核配置文件(一般由make menuconfig生成)。arch/$(ARCH)/Makefile:目标处理器的Makefile。scripts/Makefile.*:所有kbuild Mak转载 2013-03-19 12:59:33 · 579 阅读 · 0 评论 -
Uboot启动过程详解
u-boot系统启动流程 大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。 1、Stage1 start.S代码结构 u-boot的stage1代码通常转载 2013-03-25 09:32:43 · 683 阅读 · 0 评论 -
Linux启动过程综述
http://www.ibm.com/developerworks/cn/linux/kernel/startup/Bootloader在Alpha/AXP平台上引导Linux通常有两种方法,一种是由MILO及其他类似的引导程序引 导,另一种是由Firmware直接引导。MILO功能与i386平台的LILO相近,但内置有基本的磁盘 驱动程序(如IDE、SCSI等),以及常见的文转载 2013-03-25 09:56:44 · 494 阅读 · 0 评论 -
Linux Device和Driver注册过程,以及Probe的时机
Linux 2.6的设备驱动模型中,所有的device都是通过Bus相连。device_register() / driver_register()执行时通过枚举BUS上的Driver/Device来实现绑定,本文详解这一过程。这是整个LINUX设备驱动的基础,PLATFORM设备,I2C上的设备等诸设备的注册最终也是调用本文讲述的注册函数来实现的。 Linux Device的注册转载 2013-03-26 15:39:24 · 546 阅读 · 0 评论 -
搜狗实验室数字资源
http://www.sogou.com/labs/reports.html原创 2013-01-23 16:12:44 · 524 阅读 · 0 评论 -
可重入
维基百科,自由的百科全书若一个程序或子程序可以“安全的被并行执行(Parallel computing)”,则称其为可重入(reentrant或re-entrant)的。即当该子程序正在运行时,可以再次进入并执行它(并行执行时,个别的执行结果,都符合设计时的预期)。若一个函数是可重入的,则该函数:不能含有静态(全局)非常量数据。不能返回静态(全局)非常量数据转载 2012-04-19 15:05:44 · 461 阅读 · 0 评论 -
ubuntu环境下编译内核step by step
声明:本文是个人参考网上有关资料,编译2.6.25内核的总结,如按本文步骤编译内核造成的责任和本文作者无关。本文放在本人的blog上面:http://hi.baidu.com/ffbp89/本文还有姊妹篇《老笔记本编译2.6.20内核指导》如果有修改,也在blog上。转载 2011-08-07 21:54:51 · 491 阅读 · 0 评论 -
Linux进程学习一
Linux进程的基本知识和实现最近一周学习了Linux 进程编程的知识,现对其总结如下。在第一部分中我们先对进程的基本概念以及在Linux 中是如何来现实进程的进行介绍Tiger-John说明 :许多人在学习中只注重如何编程,却忘了注重原转载 2011-08-07 22:02:45 · 367 阅读 · 0 评论 -
Linux进程学习五
等待进程结束wait()和waitpid()函数上一节最后我们说到若子进程先于父进程结束时,父进程调用wait()函数和不调用wait()函数会产生两种不同的结果:--如果父进程没有调用wait()和waitpid()函数,子进程就会进入僵死状态。--如果父进程调用了转载 2011-08-07 22:05:28 · 435 阅读 · 0 评论 -
Linux进程学习三
孤儿进程和守护进程 通过前面的学习我们了解了如何通过fork()函数和vfork()函数来创建一个进程。现在 我们继续深入来学习两个特殊的进程:孤儿进程和守护进程 一.孤儿进程 1.什么是 孤儿进程 如果一个子进程的父进程先于子进程转载 2011-08-07 22:04:28 · 392 阅读 · 0 评论 -
Linux进程学习四
exit()和_exit()函数进程就好比人一样有其生命,我们通过fork()函数来创建一个进程,那么我们又是如何来中止进程呢。进程退出1.在Linux中任何让一个进程退出进程退出表示进程即将结束。在Linux中进程退出分为了正常退出和异常退出两种转载 2011-08-07 22:05:02 · 466 阅读 · 0 评论 -
Linux进程学习二
通过 上一部分的学习,我们了解了进程的概念以及在Linux中进程的实现,此部分我们将具体学习如何在Linux中创建一个进程。一前言:通过原理知识的学习,我们知道每个进程由进程ID号标识。进程被创建时系统会为其分配一个唯一的进程ID号。当一个进程向其父进程(转载 2011-08-07 22:03:51 · 428 阅读 · 0 评论 -
Linux进程学习六
进程控制函数之exec()函数的学习当我们看恐怖片时,经常会有这样的场景:当一个人被鬼上身后,这个人的身体表面上还和以前一样,但是他的灵魂和思想已经被这个鬼占有了,因此它会控制这个人做他自己想做的事情--那么在进程中也有这样的情景。那么是如何实现的呢?现在我们来学习exe转载 2011-08-07 22:06:00 · 398 阅读 · 0 评论 -
Linux进程学习七
http://blog.chinaunix.net/space.php?uid=22002972&do=blog&cuid=2000697Linux学习总结—进程切换和调度算法深入分析 (2009-07-19 21:36)一、Linux进程转载 2011-08-10 19:53:25 · 701 阅读 · 0 评论 -
linux常用环境变量函数简介
getenv(获得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include 定义函数 char * getenv(const char *name); 函数标明 getenv()用来获得参数转载 2011-08-12 10:15:06 · 611 阅读 · 0 评论 -
open
linux 下 调用open函数返回一个文件描述符,这个open操作是仅仅生成一个标识指向该文件?还是将该文件的内容全部或部分调入cache??一个指向该文件的标识.实际上, open的路径为:open->sys_open->getname->get_unus转载 2011-08-14 23:38:32 · 857 阅读 · 0 评论 -
守护进程(Daemon)
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。Linux的大多数服务器就是用守护进程实现的。比如,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程cr转载 2011-08-14 23:32:18 · 895 阅读 · 0 评论 -
Linux 内存管理 -- 线性空间与物理内存
上图反映了如下信息:1、 进程的4G 线性空间被划分成三个部分:进程空间(0-3G)、内核直接映射空间(3G – high_memory)、内核动态映射空间(VMALLOC_START - VMALLOC_END)2、 三个空间使用同一张页目录表,通过 CR3 可找到此页目录表。但不同的空间在页目录表中页对应不同的项,因此互相不冲突3、 内核初始化以后,根据实际物理内存的大小,计算出转载 2013-05-03 12:37:38 · 499 阅读 · 0 评论