自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(697)
  • 资源 (37)
  • 收藏
  • 关注

转载 Linux Kernel 2.6进程调度的分析(揭示了几乎所有2.6调度的东西)

第一章 Kernel 2.4存在的不足根据对2.4进程调度的分析,我们总结出看出2.4内核总的特点就是:         内核调度简单有效         内核不可抢占但是经过对2.4内核的分析,我们也明显看到了它的缺点:1.调度算法复杂度是O(n),与系统负荷关系较大。而且调度算法在设计上也有缺陷,比如:(1) 2.4进程调度只设置了一个进程就绪队列,这样有的进程

2009-12-24 16:50:00 1984

转载 shell 小技巧汇总

 shell里输入回车引用:最初由 KanKer 发表我这里echo不行。[abc@abc abc]$ echo "/n"/n[abc@abc abc]$ printf "/n"呵呵,用printf可以:) bash:echo -e "/n"如何在Linux 让Telnet root用户可以登入 telnet 不是很安全,默认的情况之下不允许

2009-11-10 19:46:00 536

转载 Linux Kernel Hackers' Guide

Linux Kernel Hackers Guidehttp://tldp.org/LDP/khg/HyperNews/get/khg.html Network Buffers And Memory Managementhttp://www.redhat.com/mirrors/LDP/LDP/khg/HyperNews/get/net/net-intro.html  

2009-10-18 10:06:00 537

转载 Linux的调度程序-Schedule( )

Linux的调度程序-Schedule( )5.3.1基本原理 从前面我们可以看到,进程运行需要各种各样的系统资源,如内存、文件、打印机和最宝贵的CPU等等,所以说呢,调度的实质就是资源的分配。系统通过不同的 调度算法(Scheduling Algorithm)来实现这种资源的分配。通常来说,选择什么样的调度算法取决于的资源分配的策略(Scheduling Policy),

2014-01-18 10:22:32 624

转载 编译GDB --enable-targets=all --enable-64-bit-bfd

这次尝试才用一种新的BLOG发帖 大家都可以把要发到BLOG的文章投递到MAILLIST 然后大家REVIEW 等REVIEW的差不离了 再发到BLOG上欢迎大家帮忙review编译GDBteawater@hellogcc1. 取得源码通常人们选择release的版本,可以直接到http://www.gnu.org/software/gdb/download/,这里介绍了各种下载地

2013-08-23 22:28:11 1278 1

转载 switch_to

理论部分请参考《深入理解Linux 内核》第三章。1 .switch_to 宏:#define switch_to(prev,next,last) /do { /last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); /} while (0) 2 .__

2013-08-12 22:19:15 824

转载 LinuxKernelStartARM ARM Linux内核启动过程

注: 本文转自ChinaUnix 作者为XPL.本文针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入 start_kernel()函数. 我们当前以linux-2.6.19内核版本作为范例来分析,本文中所有的代码,前面都会加上行号以便于和源码进行对照, 例: 在文件init/main.c中: 00478: asmlinkage void init start_k

2013-07-07 07:21:10 806

转载 ARM Linux Kernel Boot Requirements

ARM Linux Kernel Boot RequirementsHome + About + Documentation + Developer + Mailing Lists + ContactingBooting ARM LinuxAuthor: Russell KingInitial date: May 18, 2002

2013-07-07 07:17:12 574

转载 使用git参与kernel开发

UPDATE NOTES: 格式发上来就乱了,上传一个*.txt文件,Unix格式,UTF-8编码。[Well, I know that I'm definitely a git newbie, but since there may be something useful...]87, git & kernel notes([FYI]a> Google Talk:

2013-03-08 21:55:32 1064

转载 linux 设备驱动之8250串口驱动分析 .

本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ ------------------------------------------ 一:前言 前一段时间自己实践了一下8250芯片串口驱动的编写。今天就在此基础上分析一下linux kernel 自带的串口驱动。毕竟只有对比专业的驱动代码才能更好的进步,同以往一样,基于linix

2012-09-22 07:05:05 1672

转载 使用git参与kernel开发

UPDATE NOTES: 格式发上来就乱了,上传一个*.txt文件,Unix格式,UTF-8编码。[Well, I know that I'm definitely a git newbie, but since there may be something useful...]87, git & kernel notes([FYI]a> Google Talk:

2012-09-21 20:38:49 1163

转载 powerpc MPIC的Pass-Througt模式

Pass-Througt模式:硬件重启后的默认模式。在这个模式,中断不经过PIC而直接传给内核进行处理。通过(GCR[M] = 0)来允许Pass-Through模式。datasheet这里是这样描述的:The MPIC provides a mechanism to support alternate external interrupt controllers such as th

2012-09-19 21:47:02 865

转载 从printXX看tty设备

从printXX看tty设备(1)tty基础 一、主题当定位一个问题的时候,最为直观和简单的方法就是在代码的特定位置加上对我们感兴趣的特定数据的打印,这是不依赖其它外部工具(调试器类工具)最简单和直观的方法,这个方法在用户态和内核态调试中都是适用的,就连最经典的C语言程序也是一个printf(“Hello World\n”),可见这个printf是在是程序员居家旅行、杀人灭口必

2012-09-04 19:54:30 2275

转载 浅析ptmx代码级open如何运作ptyp,ttyp,pts伪终端(转载)

1.对ptmx执行open操作,将创建1对tty主从设备.tty_init=>cdev_init(&ptmx_cdev, &ptmx_fops);=>然后创建/dev/ptmx节点[luther.gliethttp].所以/dev/ptmx节点的open函数为ptmx_fops.ptmx_open()static int ptmx_open(struct inode * ino

2012-09-04 19:16:53 1522

转载 【转】浅析terminal创建时ptmx和pts关系

我们打开一个terminal,那么将会在devpts文件系统/dev/pts下创建一个对应的pts字符文件,该pts字符文件节点直接由/dev/ptmx节点的驱动函数ptmx_open()调用devpts_pty_new(tty->link)[tty对应ptmx,tty->link对应/dev/pts/xxx,那么tty->link->link又对应回ptmx同样ptm_drive

2012-08-31 20:42:39 3125

转载 Linux Scheduling Domains

刘 勃 ([email protected]), Linux 驱动开发工程师, Linux 内核爱好者简介: 随着系统规模的不断扩大,以 Hyper-threading, SMP, NUMA architectures,以及近年来很热门的多核 (Multi-core) 技术为代表的高端系统得到越来越广泛的应用。这样复杂的系统给 Linux 内核的调度器带来了严峻的考验。因此,

2012-08-08 22:46:02 984

转载 史上最详细的戴尔(DELL)D620 D630系笔记本拆机加显卡改造 多图

DELL D630是前几年笔记本市场上比较热销本本,很多购买这款笔记本的客户发现在这款笔记本经常无缘无故死机,屏花屏,黑屏,左手角非常烫手,出风口没有热风出来,怪现象?本人救真相,拆开本本,发现显卡、北桥上面竟然用一导热垫放在显卡和散热器中间,行内人都知道,导热垫本来是不能用于发热量大的显卡上的,因为它导热系数低。但是DELL偏偏把这个装在显卡上,结果导致显卡温度激增,一旦导热垫超过了承受热量的限

2012-07-01 07:24:28 4662

转载 elf加载

漫谈兼容内核之八:ELF映像的装入(一)毛德操 上一篇漫谈中介绍了Wine的二进制映像装入和启动,现在我们来看看ELF映像的装入和启动。一般而言,应用软件的编程不可能是“一竿子到底”、所有的代码都自己写的,程序员不可避免地、也许是不自觉地、都会使用一些现成的程序库。对于C语言的编程,至少C程序库是一定会用到的。从编译/连接和运行的角度看,应用程序和库程序的连接有两种方法。一种是

2012-06-03 12:08:27 1276

转载 /proc/sys/fs/优化

四、/proc/sys/fs/优化1)      /proc/sys/fs/file-max该文件指定了可以分配的文件句柄的最大数目。如果用户得到的错误消息声明由于打开文件数已经达到了最大值,从而他们不能打开更多文件,则可能需要增加该值。 缺省设置:4096建议设置:655362)      /proc/sys/fs/file-nr

2012-05-23 21:07:07 911

转载 /proc/sys/kernel/优化

一、前言本文档针对OOP8生产环境,具体优化策略需要根据实际情况进行调整;本文档将在以下几个方面来阐述如何针对RedHat Enterprise Linux进行性能优化。1)      Linux Proc文件系统,通过对Proc文件系统进行调整,达到性能优化的目的。2)      Linux性能诊断工具,介绍如何使用Linux自带的诊断工具进行性能诊断。

2012-05-23 21:06:10 1635

转载 proc/sys/vm 下相关值解释

这个不是原创,原文url地址:http://www.linuxidc.com/Linux/2007-08/6995p2.htm 1)      /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作。 缺省设置:0,禁用Block Debug模式2)      /proc/sys

2012-05-23 21:04:16 918

转载 Binutil二进制工具集(addr2line)(转载)

使用 Addr2line 将函数地址解析为函数名Addr2line 工具(它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。这种功能对于将跟踪地址转换成更有意义的内容来说简直是太棒了。要了解这个过程是怎样工作的,我们可以试验一个简单的交互式的例子。(我直接从 shell 中进行操作,因为这是最简单地展示这个过程的方法

2012-05-03 19:45:15 1033

转载 强烈推荐–将GUI配色转化为终端配色的VIM插件–gui2term.py

前几天,依云兄在我博客上推荐了一款插件gui2term.py,用了之后立马叫好,苦于一直没有时间,所以今天特意推荐一下。这款插件实现了将gvim的配色转化成终端配色的解决方案。下载链接相信不少朋友和我一样,需要在windows和终端下同时工作,而工具都是vim,所以,保持配色的相同就显得非常重要啦!我们拿著名的desert配色来测试一下:1.把desert.vim改成 test

2012-04-29 13:15:54 1102

转载 bash 使用vim编辑模式

set -o vi按ESC之后就可以使用vim的快捷键了,编辑完按ESC退出.---------------------------------------------------------------------------.| ||

2012-04-21 08:20:39 1066

转载 Initrd 流程分析(2.6 cpio rootfs)

以 Linux-2.6.25 的 kernel 为例,分析一下 Linux 启动过程中 initrd 的流程。1. 先从 Makefile说起下面是内核代码中 init/Makefile 文件的一段内容:obj-y   := main.o version.o mounts.oifneq ($(CONFIG_BLK_DEV_INITRD),y)obj-y += noi

2012-04-16 22:05:39 653

转载 VirtualBox的网络配置,Host Only+NAT方式(转,感谢原作者,主旨是设置两个网卡)

其实网络这类相关的文章很多,我只是想结合自己的实际情况,把我的经验写下来,给那些需要的人们吧。 主机:windows xp虚拟机:ubuntu 10.10Virtualbox:4.0.2 虚拟机在安装好之后,默认情况下是通过NAT的网络连接方式,这样的情况下,虚拟机可以正常上网,但是无法和主机通讯。我们想得到的效果是物理机器可以通过ip访问虚拟机

2012-04-14 10:25:47 1426 1

转载 vi/vim使用进阶: lookupfile插件

本节所用命令的帮助入口::help lookupfile在文章保存项目相关配置中,我们讲过通过”:find“命令打开指定的文件,不过使用”:find“命令并不是非常的方便:一是如果项目比较大、文件比较多,find查找起来很慢;二是必须输入全部的文件名,不能使用正则表达式(regex)查找。我们也介绍过vim提供的文件浏览插件,你可以在浏览器中根据目录去查找,但这种方式在浏览目

2012-04-14 10:08:38 658

转载 vim project 项目管理工具的安装及使用

Project插件安装:1 在 Vim 网站上下载最新版本project.tar.gz 或直接下载project-1.4.1.tar.gz2 解压缩移动plugin和doc到~/.vim目录(没有~/.vim则自己创建),步骤如下:mkdir ~/.vimmv  doc ~/.vimmv plugin ~/.vimProject 的测试和初始化1 打开vim后敲入命

2012-04-13 21:26:25 1488

转载 NERDTree,好用的文件浏览器

感谢 LinuxGem 的介绍 ,让我认识了那么好的 Vim 文件浏览器。下面,简单的介绍下其使用方法。插件安装好以后,使用 NERDTree 启动,当然你也可以绑定个热键。除了使用鼠标可以基本操作以外,还可以使用键盘。下面列出常用快捷键o 打开关闭文件或者目录t 在标签页中打开T 在后台标签页中打开! 执行此文件p 到上层目录P 到根目录K 到第一个节点J 到最后一个节点u

2012-04-07 09:05:20 913

转载 linux下读取CPU利用率的脚本文件[转]

目前linux统计cpu利用率时,所用到的信息,大多数是从 /proc/stat中获得,其中信息大致如下:[work@builder ~]$ cat /proc/statcpu 432661 13295 86656 422145968 171474 233 5346cpu0 123075 2462 23494 105543694 16586 0 4615cpu1 111917 41

2012-03-30 21:58:24 523

转载 wait WNOHANG 僵尸进程

什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wait或wa

2012-03-29 20:31:17 1550 2

转载 wait WNOHANG 僵尸进程

什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wait或wa

2012-03-29 20:28:16 97

转载 xp计算器快捷键

使用“计算器”按钮的等价键盘键下面按字母顺序列出了“计算器”按钮及其等价键盘键。单击“选项”菜单,然后单击“打印”,可以打印该列表。使用“计算器”时,您可以通过右键单击任意的“计算器”按钮,然后单击“这是什么?”来查看其等价键盘操作。按钮 键 按钮 键 % % Hyp h ( ( Int ; ) ) Inv i * * ln n + + log l +/- F9 Lsh < -

2012-03-10 20:54:11 1671

转载 gcc选项

8、-C 选项在预处理的时候,不删除注释信息,一般和-E一起使用。有时候分析程序,比较方便。比如,加上注释的这段程序HelloWorld.c程序如下:#include // 我的HelloWorld程序int main(){    //打印输出字符串        printf("Hello,the world!\n");    re

2012-02-24 22:52:15 577

转载 Exuberant Ctags中文手册

[译序](Easwy) First of all, I would like to thank the author of Exuberate Ctags, Darren Hiebert,without his help, I cannot finish the work.翻译这个手册的想法,最初源于我在写“使用VIM开发软件项目”系列文章(现在改名为”vim使用进阶“时。当时

2011-12-18 21:21:11 406

转载 ctags的使用及相关参数介绍

因为学习使用Vim,遇到ctags这样一个东东,花了一天时间大致搞清楚了一点,记下来,和大家分享。我写的匆忙,大家也就随便看看好了。希望有用。一.         ctags 是干什么的ctags 的功能:扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来。我用的是 Exuberant Ctags ,在 Windows 上使用,就一个可执行文件,非常绿色,可在 so

2011-12-18 20:53:15 529

转载 在VI里面设置tab宽度以及tab和空格(space)的转化

:set tabstop=4 " Force tabs to be displayed/expanded to 4 spaces (instead of default 8). set softtabstop=4 " Make Vim treat key as 4 spaces, but respect hard Tabs. : " I don't think this one will

2011-12-15 20:27:21 586

在VI里面设置tab宽度以及tab和空格(space)的转化

2011-12-15 20:25:35 348

转载 裁掉不需要的c代码工具

unifdef 命令 用途 从文件中除去 ifdef 行。 语法unifdef [  -t ] [  -l ] [  -c ] [  -DSymbol ] [  -USymbol ] [  -idSymbol ] [  -iuSymbol ] [  File ] 描述 unifdef 命令用于除去文件中的

2011-12-08 19:43:48 636

转载 MIPS寄存器

基础知识介绍: 1.         MIPS32的内部寄存器。最简单的办法就是通过GDB的命令,可以获得下面的列表(gdb) info registers           zero       at       v0       v1       a0       a1       a2       a3 R0   00000000 00000001

2011-11-07 21:57:25 1597

小巧截图笔

小巧截图笔,超好用,只有13k 强烈推荐

2012-05-04

Linux Performance and Tuning Guidelines + linux内核测试指南

linux 内核相关 top buddyinfo ps等使用

2011-05-21

gdb reference

gdb reference 很好的gdb指令分类,简洁

2011-03-26

add protocl network stack 添加一个新的协议族

添加一个新的协议族 good up

2010-01-20

内核阅读心得(pdf)

内核阅读心得 pdf 值得一看 推荐

2010-01-19

Linux 内存管理导读 .pdf

Linux 内存管理导读 .pdf 内核级分析

2010-01-17

ELF+文件格式分析

ELF+文件格式分析 深入C语言 good

2010-01-14

高级Bash脚本编程指南

高级Bash脚本编程指南 bash 好书

2010-01-09

系统分析pdf+kernel module programming guide

系统分析pdf+kernel module programming guide

2009-12-27

深入分析Linux内核源码

深入分析Linux内核源码 经典书,看代码很有帮助

2009-12-26

the design of unix system

the design of unix system Unix操作系统设计.pdf

2009-12-20

Advanced Bash-Scripting Guide 3.9.1 (中译本)

Advanced Bash-Scripting Guide 3.9.1 (中译本)

2009-12-04

边学边干加强版(不错)

就是pdf的边学边干,之前的没有目录和源码。

2009-12-04

边学边干(pdf版)

边学边干(pdf版)pdg的看着太麻烦,我把它转了一下。

2009-11-26

边学边干书+源码(李善平)

边学边干书+源码 李善平 不多说,好书

2009-11-25

Linux操作系统分析与实践

Linux操作系统分析与实践 北大课件(关于网卡驱动和tasklet这部分可以看看)

2009-11-07

The Linux Kernel Module Programming Guide

The Linux Kernel Module Programming Guide 不用多介绍了吧

2009-11-06

浙大关于linux内核的实验

浙大关于linux内核的实验, 非常值得学习,但是要有一定基础。

2009-10-23

一个台湾人写的ppt,关于proc部分的解释挺清楚的

一个台湾人写的ppt,关于proc部分的解释挺清楚的

2009-10-21

内核模块编程与调试介绍

内核模块编程与调试 主要是调试部分,可以借鉴 大家看看

2009-10-21

Linux 源码分析 系列

Linux 源码分析 系列 分析得很透彻,建议有基础的人看看。

2009-10-11

LINUX内核指导(1).pdf

LINUX内核指导(1).pdf pdf格式,建议大家看看

2009-10-07

HAP_SecureCRT_5.1.3

HAP_SecureCRT_5.1.3 串口 ssh等 好用

2009-10-04

source insight comment 添加代码注释

coding convention source insight comment

2009-08-05

挑战30天C++入门极限

c++ 快速入门 挑战30天C++入门极限

2009-04-25

linux2.6-scaner-driver.rar

linux2.6-scaner-driver.rar 2.6下的扫描仪驱动源码

2009-03-25

linux扫描仪驱动源码

linux 扫描仪驱动源码 linux scanner device driver 大家看看

2009-03-25

信息论基础理论与应用课件

信息论基础理论与应用 课件

2009-03-23

basic linux command

linux基础命令 打好基础才是

2009-03-23

Linux下PCI设备驱动程序开发

Linux PCI设备驱动 开发 网上搜集

2009-03-23

linux 内核架构图

很清晰的对kernel内部调用的函数框架图,不错推荐大家看看

2008-08-21

writing an alsa driver

linux alsa driver相关,介绍的很详细

2008-08-07

编程修养 ^_^

这是书上学不到的,但是每个程序员都应该知道的东西。不仅是知道,应该去养成的习惯。个人观点。

2008-08-07

vim用户手册

linux下编程工具手册,vim比较全面的资料

2008-07-12

linux新手管理员指南

linux新手管理员指南

2008-07-12

The.Art.of.UNIX.programming

英文版,不错,值得看看

2008-07-12

莱昂氏UNIX源代码分析

莱昂氏UNIX源代码分析

2008-07-12

Intel 64 and IA-32 Architectures ,Software Developer's Manual

intel 最新软件手册,图解很详细。比中文版80386的书好理解点。英语句子都是很基本的。好懂!!

2007-07-04

空空如也

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

TA关注的人

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