自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从src包编译内核【精简版】

1. 从redhat 的ftp站点下载 src rpm包, kernel-*.src.rpm2. 执行 rpmbuild -bp kernel-*.src.rpm3.   进入BUILD目录的源码目录, 把自己的config 拷贝成.config 然后make menuconfig,给代码打patch4.   cp .config 覆盖 configs目录中的config文件,并把co

2012-03-11 16:22:34 707 1

转载 从Src rpm 编译 自己修改的内核

我需要创建一个自设的内核英文版本由 RalphAngenendt 创建。现在由 AlanBartlett 及 AkemiYagi 维护。Contents编译前的准备设置内核内核的 ABI更改内核的 spec 文件编译新内核你肯定吗?CentOS 被设计以一个完整的环境去运作。如果你替换一个最要的组件,它很可能会影响系统其它部份的运作。

2012-03-11 14:42:57 3343

原创 [转]why memory barrier

要了解如何使用memory barrier,最好的方法是明白它为什么存在。CPU硬件设计为了提高指令的执行速度,增设了两个缓冲区(store buffer, invalidate queue)。这个两个缓冲区可以避免CPU在某些情况下进行不必要的等待,从而提高速度,但是这两个缓冲区的存在也同时带来了新的问题。要仔细分析这个问题需要先了解cache的工作方式。目前CPU的cache的工作

2011-06-28 12:49:00 938

原创 linux device 2

<br />§1 bus<br />系统中总线由struct bus_type描述,定义为:<br />struct bus_type {<br />char * name; 总线类型的名称<br />struct subsystem subsys; 与该总线相关的subsystem<br />struct kset drivers; 所有与该总线相关的驱动程序集合<br />struct kset devices; 所有挂接在该总线上的设备集合<br />struct bus attribute * bu

2010-10-05 15:15:00 605

原创 Linux 设备模型

<br />Kobject <br /> <br />>是Linux 2.6引入的新的设备管理机制<br />>每个在内核中注册的kobject对象都对应于sysfs文件系统中的一个目录。<br />>Kobject是组成设备模型的基本结构。类似于C++中的基类<br /><br />Kobject结构定义为:<br />struct kobject {<br />char * k name; 指向设备名称的指针<br />char name[KOBJ NAME LEN]; 设备名称<br />struct

2010-10-05 15:08:00 474

转载 Linux 的initrd 机制

<br /><br />前言 <br />本文源于这样一个问题:内核镜像存储在硬盘下特定文件系统中,bootloader必须先加载文件系统驱动,才能读取内核文件。类似的,内核要读取根文件系统中的文件,也需要先加载文件系统驱动。如果文件系统驱动存储在硬盘中,启动时没有驱动无法读硬盘,将导致整个启动过程的失败。那么Grub和内核如何解决这个问题的呢? <br />启动过程中需要读硬盘的时刻: <br />1. BIOS读硬盘中MBR,将控制权交给MBR中Grub Stage1 <br />2. Stage 1读

2010-10-03 16:06:00 474

原创 Xen api的层次结构

Xen api 的层次结构 XendXend是xen中用来管理虚拟机的一套python脚本,其中包括了虚拟机的创建,销毁,状态查看等,在linux以服务的形式在后台运行Xend 和上层API通过XML-RPC的方式进行通信libxen虚拟机管理的C语言接口的封装pyxen对虚拟机C语言接口的python封装,为xm所用

2010-10-03 15:44:00 1219

转载 .linux内核网络栈代码

<br />一.linux内核网络栈代码的准备知识<br /> <br />1. linux内核ipv4网络部分分层结构:<br /> <br />BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件<br /> <br />主要有:/net/socket.c /net/protocols.c etc<br />INET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tcp/ip,即建立

2010-09-29 14:27:00 568

转载 AT&T 汇编 (AT&T ASM) 参考 上

AT&T 汇编 (AT&T ASM) 参考 上2010-02-06 19:35<br />AT&TASM<br /><br />开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇 编<br />可以缩小目标代码的尺寸。另外,对于某些需要被经常调用的代码,使用汇编可以提高性<br /><br />能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。<br /><br />如果你是计算机专业的话,在大

2010-09-26 15:59:00 527

转载 AT&T 汇编 (AT&T ASM) 参考 上

AT&T 汇编 (AT&T ASM) 参考 上2010-02-06 19:35<br />AT&TASM<br /><br />开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇 编<br />可以缩小目标代码的尺寸。另外,对于某些需要被经常调用的代码,使用汇编可以提高性<br /><br />能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。<br /><br />如果你是计算机专业的话,在大

2010-09-26 15:59:00 561

转载 ELF文件格式一例分析:

ELF文件格式一例分析:   -[ELF Linux assembly]ELF文件格式一例分析:以nasm生成一尽量小的ELF文件,以二进制方式,以objdump方式,以readelf方式,分析加载入内存及运行规律,得出结论。 编辑一个小的asm文件如下:crq@ $ cat new18.asmglobal _start_start: ud0 ud1 ud2很简单,只有 ud0, ud1, ud2 三个指令,都是产生非法 Opcode

2010-09-26 15:47:00 605

转载 Linux系统的内存管理机制学习

Linux系统的内存管理机制学习2010年01月14日 星期四 20:31<br />一直对Linux的内存管理机制模模糊糊的,这两天有时间,就把Intel的手册和 《Understanding the Linux Kernel》还有《Understanding the Linux® Virtual Memory Manager》和内存管理相关的都仔细看了一遍。以前老是对分页的地方不是很清楚,这次看到手册上页表里面的物理地址是怎么存放的,就有豁然开朗的感觉,看其他部分代码也就很容易理解了。<br /><br

2010-08-27 13:36:00 1023

转载 linux iostat

<br />Field 1 -- rio # of reads issued<br />Field 2 -- rmerge  # of reads merged, <br />Field 3 -- rsect # of sectors read<br />Field 4 -- ruse  # of milliseconds spent reading<br />Field 5 -- wio # of writes completed<br />field 6 -- wmerge # of writes me

2010-08-26 12:59:00 441

转载 C语言中的宏

<br />C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。 关于#和##<br />在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏: #define WARN_IF(EXP) / do{ if (EXP) / fprintf(st

2010-07-17 21:23:00 588

转载 Mini-OS现有应用介绍

<br />IntroductionToMiniosApplications   Mini-OS现有应用介绍<br />Mini-OS是跟随Xen hypervisor发布的一款小内核操作系统,目前有一些基于Mini-OS的应用:HP实验室在2007年发布了基于Mini-OS的Xen Library OS;2008年剑桥大学进一步完善了HP的工作,完成了HVM stubdom并置于Xen源码树中;伊利诺伊大学芝加哥分校(UIC)正致力于开发一款基于Mini-OS的小内核系统—Ethos。 <br /> Mi

2010-07-17 21:18:00 5424

转载 simple function for print colorful text

function print_color {local text=$1local fg=$2local bg=$3#change to right formcase "$fg" inred) fg="31m" ;;green) fg="32m" ;;yellow) fg="33m" ;;blue) fg="34m" ;;white) fg="37m" ;

2010-05-17 13:42:00 571

转载 shell 数组的用法

 The bash shell allows a number of methods for accessing elements of variable arrays. This recipe demonstrates some of these techniques.Given the array defined by the following code:names=(

2010-05-17 13:32:00 623

转载 Linux 同步方法剖析

Linux 同步方法剖析内核原子,自旋锁和互斥锁 文档选项  将此页作为电子邮件发送级别: 中级M. Tim Jones, 顾问工程师, Emulex2007 年 11 月 19

2010-05-13 11:02:00 435

原创 pczou的linux进程内存解析

pczou的linux进程内存解析2006年12月11日 wgzhao 发表评论 阅读评论 2月份的时候贴过一篇关于如何理解Linux内存的帖子。今天pczou献上了一道大餐–进程的内存使用解析。讲得非常详细,先剽窃过来,呵呵。Linux下如果知道一个进程究竟占用了多少内存?这是个经常被问道和被答错的问题。进程的内存分配是个比较复杂的话题,这里通过一个例子进行说明。有这么一个简单程序:

2010-04-30 15:17:00 1350

原创 PS,TOP,PIDSTAT -R 等看的单个进程内存占用不准-----理解Linux上的内存使用

PS,TOP,PIDSTAT -R 等看的单个进程内存占用不准-----理解Linux上的内存使用2008-11-06 23:16本文是为那些经常疑惑的人准备的,“为什么一个简单的KDE文本编辑器要占用25M内存?”导致大多数人认为许多Linux应用程序,特别是KDE或GNOME程序都象ps报告一样臃肿,虽然这可能是也可能不是真的,依赖于具体的程序,它通常不是真的,一些程序

2010-04-30 14:44:00 3811

原创 awk常用函数以及变量参考

awk常用函数以及变量参考五月 28th, 2008 东木-->1.awk的常规表达式元字符换码序列^ 在字符串的开头开始匹配$ 在字符串的结尾开始匹配. 与任何单个字符串匹配[ABC] 与[]内的任一字符匹配[A-Ca-c] 与A-C及a-c范围内的字符匹配(按字母表顺序)[^ABC] 与除[]内的所有字符以外的任一字符匹配Desk|Chair 与Desk和Chair中的任一个匹配[AB

2010-04-30 14:07:00 1464

转载 gawk

第一章    前言第二章    简介第三章    读取输入档案第四章    印出第五章    Patterns第六章    算式(Expression)作为Actions的叙述第七章    Actions里面的控制叙述第八章    内建函式(Built-in Functions)第九章    使用者定义的函式第十章    实例第十一章  结论第一章 前言 awk是一个程式语言,对於资料的处理具有很

2010-04-30 14:03:00 3437

原创 akw 和linux 命令

cat                                awk {print}cat -s                        awk {blank = NF == 0 ? ++blank : 0; if (blank tac                                awk {t[NR] = $0;}END{for (i = NR; i >=

2010-04-30 14:02:00 4462

转载 awk 用法

awk 用法:awk pattern {action} 变量名                含义ARGC                命令行变元个数ARGV                命令行变元数组FILENAME        当前输入文件名FNR                当前文件中的记录号FS                输入域分隔符,默认为一个空格RS       

2010-04-30 14:01:00 496

转载 awk 教程

下面没有讲述awk的全部特性,也不涉及awk的深层次编程,仅讲述使用awk执行行操作及怎样从文本文件和字符串中抽取信息。内容有:抽取域、匹配正则表达式、比较域、向awk传递参数、基本的awk行操作和脚本。awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息。awk抽取信息后,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件中的信息。1 调用awk有三种方式调用awk,第一

2010-04-30 13:59:00 1080

转载 [Linux]RHEL 4 性能优化

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

2010-04-07 14:09:00 325

转载 Linux 技巧:让进程在后台可靠运行的几种方法

想让进程在断开连接后依然保持运行?如果该进程已经开始运行了该如何补救? 如果有大量这类需求如何简化操作?我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。

2010-02-22 21:20:00 320

转载 Linux进程管理命令详解(ps和top)

Linux进程管理命令详解(ps和top)1.ps命令作用:ps命令主要查看系统中进程的状态。格式:ps [选项]主要选项如下。-A:显示系统中所有进程的信息。-e:显示所有进程的信息。-f:显示进程的所有信息。-l:以长格式显示进程信息。-r:只显示正在运行的进程。-u:显示面向用户的格式(包括用户名、CPU及内存使用情况等信息)。-x:显示所有非

2010-02-22 21:19:00 578

原创 20 Linux System Monitoring Tools Every SysAdmin Should Know

20 Linux System Monitoring Tools Every SysAdmin Should Knowby Vivek Gite · 98 commentsNeed to monitor Linux server performance? Try these built-in command and a few add-on tools. Most Linux di

2010-02-06 13:57:00 694

转载 守护进程

守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。Linux的大多数服务器就是用守护进程实现的。比如,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond, 打印进程lpd等。下面将我理解的Linux下守护进程做一些解释和说明。同时将网上一个常用的解说Linux下守护

2010-02-06 13:51:00 553

转载 Linux下Patch的应用和制作方法介绍

Linux下Patch的应用和制作方法介绍 (1) 发布时间:2007.04.19 06:10     来源:赛迪网技术社区    作者:skid 因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。 学习资料的收集比

2010-02-02 12:48:00 342

转载 Linux的系统信号(signal)类型与机制

信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。  信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。1.信号的基本概念  本节先介绍信号的一些基本概念,然后给出一些基本的信

2010-01-22 18:29:00 952

转载 Linux tty, pty, pts

Linux中tty、pty、pts的概念区别基本概念:1> tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。2>

2010-01-22 17:21:00 527

转载 linux syslog

-------------  文档目录  -------------  1 什么是syslogd  2 配置syslogd的说明  3 syslogd和系统中服务配置中日志的关系  4 什么是logrotate  5 配置logrotate的说明  -------------  文档正文  -------------  1 什么是syslogd  syslogd可以简单地被称为记录系统活动的一个d

2010-01-22 17:11:00 539

转载 进程实际内存占用: 私有驻留内存数(Private RSS)介绍

进程实际内存占用: 私有驻留内存数(Private RSS)介绍   先介绍几个基本概念:SIZE : 进程使用的地址空间, 如果进程映射了100M的内存, 进程的地址空间将报告为100M内存. 事实上, 这个大小不是一个程序实际使用的内存数.RSS : "Resident Set Size", 实际驻留"在内存中"的内存数. 不包括已经交换出去的代码. 举一个例子: 如果你有一个

2010-01-14 09:37:00 760

转载 Linux下core文件调试方法

Linux下core文件调试方法 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制  1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2)使用ulimit -

2010-01-14 07:33:00 355

原创 Perl正则表达式初步

Perl的正则表达式功能十分强大,基本上是常用语言中最强大的,很多语言如Java设计正则式支持的时候都参考Perl正则表达式。本文介绍Perl正则表达式中最基本、最常用的部分。一、正则表达式运算符=~ 正则表达式匹配运算符,左边是待匹配字符串,右边是正则表达式,匹配结果设置在$1,$2等变量中,在scaler上下文中,成功匹配返回匹配个数,否则返回false。例如 $var =~ /foo/;!~

2010-01-12 08:59:00 485

转载 /proc/pid下的相应信息说明

一、/proc/pid/statmpid/statm包含了在此进程中所有CPU活跃的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。 /proc/1 # cat statm550 70 62 451 0 97 0 输出解释CPU 以及CPU0。。。的每行的每个参数意思(以第一行为例)为:参数 解释 /proc/1/statusSize (pages)=

2010-01-07 09:53:00 909

转载 一个数是2的幂次方

关键字: 2 power 幂 一个数是2的幂次方,那么这个数的二进制位数中,只能有一位数值为1. 例如:10000, 100, 1等等。 从中可以看到,如果把这个数减去1,那么结果值的2进制位应该如下:1111,11,0等等。 这两个数的特点是:他们做或的时候,得到的结果是他们的和,例如: 10000和1111的或结果是11111, 100和11的或值是11

2010-01-07 02:04:00 1520

原创 Perl trim function to strip whitespace from a string

Perl trim function to strip whitespace from a stringPerl does not have a built-in trim function. Use the subroutine below to trim whitespace (spaces and tabs) from the beginning and end of a string

2010-01-06 07:08:00 994

空空如也

空空如也

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

TA关注的人

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