- 博客(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
2020

转载 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
568

转载 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
576
转载 Linux的调度程序-Schedule( )
Linux的调度程序-Schedule( )5.3.1基本原理 从前面我们可以看到,进程运行需要各种各样的系统资源,如内存、文件、打印机和最宝贵的CPU等等,所以说呢,调度的实质就是资源的分配。系统通过不同的 调度算法(Scheduling Algorithm)来实现这种资源的分配。通常来说,选择什么样的调度算法取决于的资源分配的策略(Scheduling Policy),
2014-01-18 10:22:32
733
转载 编译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
1602
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
924
转载 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
847
转载 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
608
转载 使用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
1135
转载 linux 设备驱动之8250串口驱动分析 .
本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ ------------------------------------------ 一:前言 前一段时间自己实践了一下8250芯片串口驱动的编写。今天就在此基础上分析一下linux kernel 自带的串口驱动。毕竟只有对比专业的驱动代码才能更好的进步,同以往一样,基于linix
2012-09-22 07:05:05
1705
转载 使用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
1203
转载 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
933
转载 从printXX看tty设备
从printXX看tty设备(1)tty基础 一、主题当定位一个问题的时候,最为直观和简单的方法就是在代码的特定位置加上对我们感兴趣的特定数据的打印,这是不依赖其它外部工具(调试器类工具)最简单和直观的方法,这个方法在用户态和内核态调试中都是适用的,就连最经典的C语言程序也是一个printf(“Hello World\n”),可见这个printf是在是程序员居家旅行、杀人灭口必
2012-09-04 19:54:30
2327
转载 浅析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
1567
转载 【转】浅析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
3202
转载 Linux Scheduling Domains
刘 勃 (bo-liu@hotmail.com), Linux 驱动开发工程师, Linux 内核爱好者简介: 随着系统规模的不断扩大,以 Hyper-threading, SMP, NUMA architectures,以及近年来很热门的多核 (Multi-core) 技术为代表的高端系统得到越来越广泛的应用。这样复杂的系统给 Linux 内核的调度器带来了严峻的考验。因此,
2012-08-08 22:46:02
1024
转载 史上最详细的戴尔(DELL)D620 D630系笔记本拆机加显卡改造 多图
DELL D630是前几年笔记本市场上比较热销本本,很多购买这款笔记本的客户发现在这款笔记本经常无缘无故死机,屏花屏,黑屏,左手角非常烫手,出风口没有热风出来,怪现象?本人救真相,拆开本本,发现显卡、北桥上面竟然用一导热垫放在显卡和散热器中间,行内人都知道,导热垫本来是不能用于发热量大的显卡上的,因为它导热系数低。但是DELL偏偏把这个装在显卡上,结果导致显卡温度激增,一旦导热垫超过了承受热量的限
2012-07-01 07:24:28
5197
转载 elf加载
漫谈兼容内核之八:ELF映像的装入(一)毛德操 上一篇漫谈中介绍了Wine的二进制映像装入和启动,现在我们来看看ELF映像的装入和启动。一般而言,应用软件的编程不可能是“一竿子到底”、所有的代码都自己写的,程序员不可避免地、也许是不自觉地、都会使用一些现成的程序库。对于C语言的编程,至少C程序库是一定会用到的。从编译/连接和运行的角度看,应用程序和库程序的连接有两种方法。一种是
2012-06-03 12:08:27
1323
转载 /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
956
转载 /proc/sys/kernel/优化
一、前言本文档针对OOP8生产环境,具体优化策略需要根据实际情况进行调整;本文档将在以下几个方面来阐述如何针对RedHat Enterprise Linux进行性能优化。1) Linux Proc文件系统,通过对Proc文件系统进行调整,达到性能优化的目的。2) Linux性能诊断工具,介绍如何使用Linux自带的诊断工具进行性能诊断。
2012-05-23 21:06:10
1694
转载 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
954
转载 Binutil二进制工具集(addr2line)(转载)
使用 Addr2line 将函数地址解析为函数名Addr2line 工具(它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。这种功能对于将跟踪地址转换成更有意义的内容来说简直是太棒了。要了解这个过程是怎样工作的,我们可以试验一个简单的交互式的例子。(我直接从 shell 中进行操作,因为这是最简单地展示这个过程的方法
2012-05-03 19:45:15
1065
转载 强烈推荐–将GUI配色转化为终端配色的VIM插件–gui2term.py
前几天,依云兄在我博客上推荐了一款插件gui2term.py,用了之后立马叫好,苦于一直没有时间,所以今天特意推荐一下。这款插件实现了将gvim的配色转化成终端配色的解决方案。下载链接相信不少朋友和我一样,需要在windows和终端下同时工作,而工具都是vim,所以,保持配色的相同就显得非常重要啦!我们拿著名的desert配色来测试一下:1.把desert.vim改成 test
2012-04-29 13:15:54
1175
转载 bash 使用vim编辑模式
set -o vi按ESC之后就可以使用vim的快捷键了,编辑完按ESC退出.---------------------------------------------------------------------------.| ||
2012-04-21 08:20:39
1139
转载 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
706
转载 VirtualBox的网络配置,Host Only+NAT方式(转,感谢原作者,主旨是设置两个网卡)
其实网络这类相关的文章很多,我只是想结合自己的实际情况,把我的经验写下来,给那些需要的人们吧。 主机:windows xp虚拟机:ubuntu 10.10Virtualbox:4.0.2 虚拟机在安装好之后,默认情况下是通过NAT的网络连接方式,这样的情况下,虚拟机可以正常上网,但是无法和主机通讯。我们想得到的效果是物理机器可以通过ip访问虚拟机
2012-04-14 10:25:47
1449
转载 vi/vim使用进阶: lookupfile插件
本节所用命令的帮助入口::help lookupfile在文章保存项目相关配置中,我们讲过通过”:find“命令打开指定的文件,不过使用”:find“命令并不是非常的方便:一是如果项目比较大、文件比较多,find查找起来很慢;二是必须输入全部的文件名,不能使用正则表达式(regex)查找。我们也介绍过vim提供的文件浏览插件,你可以在浏览器中根据目录去查找,但这种方式在浏览目
2012-04-14 10:08:38
706
转载 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
1531
转载 NERDTree,好用的文件浏览器
感谢 LinuxGem 的介绍 ,让我认识了那么好的 Vim 文件浏览器。下面,简单的介绍下其使用方法。插件安装好以后,使用 NERDTree 启动,当然你也可以绑定个热键。除了使用鼠标可以基本操作以外,还可以使用键盘。下面列出常用快捷键o 打开关闭文件或者目录t 在标签页中打开T 在后台标签页中打开! 执行此文件p 到上层目录P 到根目录K 到第一个节点J 到最后一个节点u
2012-04-07 09:05:20
966
转载 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
545
转载 wait WNOHANG 僵尸进程
什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wait或wa
2012-03-29 20:31:17
1594
1
转载 wait WNOHANG 僵尸进程
什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wait或wa
2012-03-29 20:28:16
123
转载 xp计算器快捷键
使用“计算器”按钮的等价键盘键下面按字母顺序列出了“计算器”按钮及其等价键盘键。单击“选项”菜单,然后单击“打印”,可以打印该列表。使用“计算器”时,您可以通过右键单击任意的“计算器”按钮,然后单击“这是什么?”来查看其等价键盘操作。按钮 键 按钮 键 % % Hyp h ( ( Int ; ) ) Inv i * * ln n + + log l +/- F9 Lsh < -
2012-03-10 20:54:11
1699
转载 gcc选项
8、-C 选项在预处理的时候,不删除注释信息,一般和-E一起使用。有时候分析程序,比较方便。比如,加上注释的这段程序HelloWorld.c程序如下:#include // 我的HelloWorld程序int main(){ //打印输出字符串 printf("Hello,the world!\n"); re
2012-02-24 22:52:15
629
转载 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
475
转载 ctags的使用及相关参数介绍
因为学习使用Vim,遇到ctags这样一个东东,花了一天时间大致搞清楚了一点,记下来,和大家分享。我写的匆忙,大家也就随便看看好了。希望有用。一. ctags 是干什么的ctags 的功能:扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来。我用的是 Exuberant Ctags ,在 Windows 上使用,就一个可执行文件,非常绿色,可在 so
2011-12-18 20:53:15
593
转载 在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
647
转载 裁掉不需要的c代码工具
unifdef 命令 用途 从文件中除去 ifdef 行。 语法unifdef [ -t ] [ -l ] [ -c ] [ -DSymbol ] [ -USymbol ] [ -idSymbol ] [ -iuSymbol ] [ File ] 描述 unifdef 命令用于除去文件中的
2011-12-08 19:43:48
715
转载 MIPS寄存器
基础知识介绍: 1. MIPS32的内部寄存器。最简单的办法就是通过GDB的命令,可以获得下面的列表(gdb) info registers zero at v0 v1 a0 a1 a2 a3 R0 00000000 00000001
2011-11-07 21:57:25
1632
The Linux Kernel Module Programming Guide
2009-11-06
Intel 64 and IA-32 Architectures ,Software Developer's Manual
2007-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人