自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 资源 (11)
  • 收藏
  • 关注

转载 学习存储技术的5个阶段

 几个月前,我写了一篇名为“我是如何学习存储的”文章,虽然在这篇文章中我详细地介绍了自己学习存储的过程,但据大家反应并不具有代表性,特殊化的东西太多。为了能给刚开始学习存储技术的新人,或准备学习存储技术的朋友有一个相对明确的指导,我写了本文。我个人建议学习存储技术可以分为前期准备阶段、存储新人阶段、存储老人阶段、存储高人阶段和存储牛人阶段,每个阶段应该学习或应该达到的目标如下:前期

2009-07-15 23:20:00 1285

转载 我是如何学习存储的

 通过这么多年接触存储,我总结自己学习存储的经历如下:1、动手操作。动手是人学习一项技能时最有效、最快速的方法,同时也是记忆一件事情时最有效、最快速、记忆时间最长的方法。我一直以来都体行动手第一的思想,有机会一定要自己动手操作。以前项目实施时,有把握的自己做。没把握的,让同事在旁边看着自己做,遇到问题他可以随时提醒。更早之前,当我开始学电脑时,卖的书也都是插图比较图、操作步骤化的书,这样只

2009-07-15 23:16:00 1978

转载 Linux下配置iscsi-initiator

Linux下配置iscsi-initiator操作系统RetHat9.0,存储设备华为3comEX1000在linux上建立能够识别盘阵的方法有三种1、HBA卡;2、TOE卡;3、iscsi-initiator本次是通过第三种方式实现的,就具体配置进行简要概述一、准备工作因为安装iSCSI驱动需要配合核心来编译,所以会使用到内核源代码,此外,也需要编译器 ( compiler ) 的帮助,因此

2009-07-15 23:09:00 2109

转载 内核编程者必备的几件法宝

原文引自http://www.xxlinux.com/bbs/viewthread.php?tid=2942 关于本文档:    /*********************************************************************    *filename: Debian/Ubuntu Linux下内核编程者必备的几件法宝    *purp

2009-04-09 10:24:00 1163

转载 Linux命令行下查看某文件夹下的文件个数

 作者:Webmaster         查看某文件夹下文件的个数,不包括子文件夹里的。ls -l |grep "^-"|wc -l或find ./company -type f | wc -l 查看某文件夹下文件的个数,包括子文件夹里的。 ls -lR|grep "^-"|wc -l 查看某文件夹下文件夹的个数,包括子文件夹里的。

2009-04-09 10:16:00 1891

转载 如何用Exmap详细查看进程的内存占用情况

        在Linux下用ps或者top可以查看每个进程占用内存情况。  但是它们显示的时候都完全包含共享库所占用的内存。例如进程1和2都使用一个共享库3,3占用内存1m,那么在ps中,进程1占用的内存完全包含这1m,进程2也一样。在exmap这个工具中,它可以识别某个共享库被多少进程使用,因此将所占用的内存平摊在各进程的内存使用量中。在上例中,1和2各用500k。  除共享库外

2009-04-09 08:59:00 1714 2

原创 /proc/stat

[root@Eniak root]# cat /proc/stat cpu  174 0 2974 79656cpu0 174 0 2974 79656page 15272 8781swap 1 0intr 102369 82804 2 0 0 0 0 3 0 1 0 0 0 0 0 14 2796 771 21 15957 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2009-04-07 11:08:00 1862

转载 TOP命令详解

 top命令和ps命令的基本作用是相同的,显示系统当前的进程和其他状况;但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如前台执行该命令,它将独占前台,直到用户终止该程序为止。  比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用。内存使用和执行时间对任务进行排序;而且该命令的很多特性都可

2009-03-31 21:48:00 2490

转载 PROC系列之---/proc/loadavg、/proc/pid/stat、/proc/pid/statm等

 该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。[root@localhost ~]# cat /proc/loadavg 4.61 4.36 4.15 9/84 5662每个值的含义为:参数 解释lavg_1 (4.61) 1-分钟平均负载lavg_5 (4.36) 5-分钟平均负载lavg_15(4.15) 15-分钟平均负载n

2009-03-31 21:44:00 8994

转载 PROC系列之---关于CPU

 见:http://blog.csdn.net/zjl_1026_2001/archive/2008/04/15/2294044.aspxCPU整体性能监控工具Linux中常用的监控CPU整体性能的工具有: mpstat: mpstat 不但能查看所有CPU的平均信息,还能查看指定CPU的信息。 vmstat:只能查看所有CPU的平均信息;查看cpu队列信息; iostat: 只能查看所有C

2009-03-31 21:40:00 2203

转载 Linux下获得CPU利用率和内存使用情况

 http://tech.ccidnet.com/art/302/20070423/1068029_1.html在Linux中如果要监视一个进程的运行情况,如查看它的CPU使用效率和内存使用情况,就需要从系统的/proc目录的读取一些系统信息。然后分析得到结果,特别是在嵌入式中的应用程序这个功能就很重要。本文中的代码是从top命令的源代码分析中获得,并做了部分修改,在FC6+GCC

2009-03-31 21:21:00 1400

转载 测试1秒钟休眠所耗费的时间

 //Timer1.cpp 使用了RDTSC指令的Timer类//KTimer类的定义可以参见《Windows图形编程》P15//编译行:CL Timer1.cpp /link USER32.lib#include #include "KTimer.h"main(){unsigned t;KTimer timer;timer.Star

2009-03-31 21:06:00 1364 1

转载 文件操作函数 C语言 (FILE fputc fgetc fputs fgets fscanf fprintf)

http://hi.baidu.com/dujt/blog/item/f6e6704ab5d8932508f7ef2c.html 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。一、流式文件操作  这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:typedef struct {int leve

2009-03-31 20:45:00 7851 1

转载 Linux Shell中PS命令中的%CPU的含义介绍

PS命令中的%CPU是指一个进程占用CPU的时间百分比,那么具体的含义是什么呢? PS的man手册的解释是这样的:cpu utilization of the process in "##.#" format. Currently, it is the CPU time used divided by the time the process has been running (cputi

2009-03-31 15:35:00 3506

转载 使用/proc文件系统来控制系统

Linux实时管理-使用 /proc 文件系统来控制系统Graham White(gwhite at uk.ibm.com)IT 专家,Hursley,IBM2003 年 8 月http://community.csdn.net/expert/topicview1.asp?id=2589879/proc 文件系统是 Linux 的优秀特性之一,本文向您详细讲述了

2009-03-31 15:13:00 1517

原创 linux下如何编程得到系统的CPU利用率,内存利用率

#include#include#include#define CPU_FILE_PROC_STAT "/proc/stat"/*the utilization of CPU */struct cpu_usage_struct{ unsigned long cpu_user; unsigned long cpu_sys; unsigned long cpu_n

2009-03-31 14:19:00 2721

转载 /proc文件系统简介

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下:目录名称 目录内容 apm     高

2009-03-31 11:40:00 3172

转载 C++里面有没有获取单个进程的CPU利用率和内存利用率的函数啊?

 利用率是对整个系统而言~~         不过有函数可以得到运行时间之类的东西的         GetCommandLine   Retrieves   the   command-line   string   for   the   current   process.       GetCurrentProcess   Retrieves   a   pseudo  

2009-03-31 09:30:00 2203

转载 在Windows 2000下取系统CPU占有率

在Windows   2000下取系统CPU占有率                                                                      一、应用背景           在许多实际的应用中,需要知道系统当前CPU的占有率,以便决定是否该进行某些操作。例如在一个大型系统中,经

2009-03-31 09:26:00 1206

转载 Linux下top命令参数解释

 http://www.diybl.com/course/6_system/linux/Linuxjs/2008723/133776.htmltop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average

2009-03-30 17:36:00 857

转载 Linux内核/模块开发常见问题集(FAQ)

                                         转载自水木清华  欢迎大家补充 1. 请推荐一些好的Linux内核参考书?2. 源代码问题2.1 如何得到某一版本的Linux内核源代码?2.2 请问xx命令、xx库的源码是哪个文件?2.3 linux-2.x.x.tar.gz.sign 文件有什么用途?2.4 请推荐一些源代码查看工具?2.5

2009-03-30 17:32:00 1576

原创 如何查看系统中有多少个处理器

  1 #include  2 #include  3 #include  4 int main()  5 {  6         int num = 0;  7         num = sysconf(_SC_NPROCESSORS_CONF);  8         printf("The number of cpu is %d/n",num);  9         return 0;

2009-03-30 16:38:00 881

转载 GDB调试精粹和应用实例

 一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以修改发送给程序的参数,而使用s

2009-03-30 16:27:00 642

转载 linux下如何获取cpu的利用率??

"proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。"    这里将介绍如何从/proc文件系统中获取与防火墙相关的一些性能参数,以及如何通过/proc文件系统修改内核的相关配置。    1、从/proc文件系统获取相关的性能参数    cpu使用率:  

2009-03-24 22:56:00 2292 1

转载 什么是proc文件系统[转]

FROM http://blog.sina.com.cn/u/1232660464什么是proc文件系统proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程

2009-03-24 22:55:00 602

转载 浅析ASSERT&TRACE宏

浅析ASSERT&TRACE宏http://bbs.cfan.com.cn/viewthread.php?action=printable&tid=832681如果你没有用过甚至听过ASSERT或者TRACE调式宏,那么在很大程度上,你可以忽略这篇文章。不再扯不相关的东西,我们直入主题好了。1.TRACE1.1.TRACE的宏定义  同样的,我们先从TRACE的宏定义开始研究,TRACE被

2009-02-26 17:25:00 1237 2

原创 kobject&sysfs[1]

    2.6内核增加了一个引人注目的新特性---统一设备模型(device model)。设备模型提供了一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,使系统具有以下优点:代码重复最小化提供诸如引用计数这样的统一机制可以列举系统宏所有的设备,观察它们的状态,并且查看它们连接的总线可以将系统中的全部设备结构以树的形式完整有效地展现出来,包括所有的总线和内部连接可以

2009-01-10 11:42:00 978

原创 模块

   Linux是单块内核(monolithic)的操作系统,整个系统内核都运行与一个单独的包含域中。Linux内核是模块化组成的,它允许内核在运行时动态地向其中插入或从中删除代码。这些代码包括相关的子例程,数据,函数入口和函数出口,被一并组合在一个单独的二进制镜像中,即所谓的可装载内核模块中,或简称为模块。   支持模块的好处就是基本内核镜像可以尽可能的小,因为可选的功能和驱动程序可以利用模

2009-01-09 17:30:00 2007

原创 页高速缓存和页回写[2]

    由于页高速缓存的缓存作用,写操作实际上会被延迟。当页高速缓存中的数据比后台存储的数据更新时,那么该数据就被称为脏数据。在内存中积累起来的页最终必须被写回磁盘。在以下两种情况发生时,脏页被写回磁盘:1. 当空闲的内存低于一个特定的阈值时,内核必须将脏页写回磁盘,以便释放内存。2. 当脏页在内存中驻留时间超过一个特定的阈值时,内核必须将超时的脏页写回磁盘,以确保脏页不会无限期地驻留

2009-01-09 11:34:00 3203

原创 页高速缓存和页回写[1]

   有种欲哭无泪的感觉。又是一时失手,把原本写的内容刷掉了。呜呜~~  重新开始!!  页高速缓存(cache)是Linux内核实现的一种主要磁盘缓存。它主要用来减少对磁盘的IO操作。具体地讲,就是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。 磁盘缓存的优点在于:1,访问磁盘的速度远远低于访问内存的速度,因此从内存访问数据要比从磁盘访问速度快。2,数据

2009-01-08 17:34:00 3099

原创 进程地址空间[4]

  虽然应用程序操作的对象是映射到物理内存之上的虚拟内存,但是处理器直接操作的却是物理内存。所以当用程序访问一个虚拟地址时,首先必须将虚拟地址转化成物理地址,然后处理器才能解析地址访问请求。地址的转化工作需要通过查询也不才能完成,概括地讲,地址转换需要将虚拟地址分段,使每段虚拟地址都作为一个索引指向页表,而页表则指向下一级别的页表或者指向最终的物理页面。  linux中使用三级页表完成

2009-01-08 11:32:00 1346

原创 进程地址空间[3]

   内核常常要判断进程地址空间中的内存区域是否满足某些条件,为了方便执行,内核定义了许多辅助函数,它们都声明在linux/mm.h中。 find_vma()    在mm/mmap.c中 /* Look up the first VMA which satisfies  addr struct vm_area_struct * find_vma(struct 

2009-01-07 16:29:00 1486

原创 进程地址空间[2]

    内存区域由vm_area_struct结构体描述,内存区域在内核中也被称作虚拟内存区域或VMA。vm_area_struct结构体描述了指定地址空间内连续区间上的一个独立内存范围。内核将每个内存区域作为一个单独的内存对象管理,每个内存区域都有一致的属性和操作: 在Mm.h中/* * Linux kernel virtual memory manager primit

2009-01-07 14:07:00 1333

原创 进程地址空间[1]

       内核除了管理本身的内存外,还必须管理进程的地址空间,即系统中每个用户空间进程所看到的内存。Linux采用虚拟内存技术,系统中的所有进程之间以虚拟方式共享内存。对每个进程来说,它们好像都可以访问整个系统的所有物理内存;即使单独一个进程,它拥有的地址空间也可以远远大于系统物理内存。    进程地址空间由每个进程中的线性地址区组成,而且更为重要的特点是内核允许进程使用该空间中的地址

2009-01-07 11:53:00 2935 2

原创 块IO层[2]

 请求队列  块设备将挂起的块IO请求保存在请求队列中,该队列由request_queue结构体表示: 在中struct request_queue{    /*     * Together with queue_head for cacheline sharing     */    struct list_head    queue_hea

2009-01-06 16:48:00 1399

原创 块IO层[1]

     系统中能够随机(无序的)访问固定大小数据片(chunk)的设备被称作块设备,这些数据片就称为块。常见的块设备是磁盘,软盘驱动器,CD_ROM驱动器和闪存等。注意,它们都是以安装文件系统的方式使用的---这也是块设备通常的访问方式。  另一种基本的设备类型是字符设备。字符设备按照字符流的方式被有序访问。像串口和键盘都属于字符设备。  这两种类型的设备的根本区别在于它们是否可以被

2009-01-06 14:20:00 2488 1

原创 虚拟文件系统[6]

和文件系统相关的数据结构     内核使用一些标准数据结构来管理文件系统的其他相关数据。结构体file_system_type,用于描述各种特定的文件系统类型: 在中struct file_system_type {    const char *name;    int fs_flags;      /*该函数从磁盘上读取超级块,并在文件系统被安装时,在内

2009-01-05 16:58:00 958

原创 虚拟文件系统[5]

     文件对象表示进程已打开的文件。进程直接处理的是文件,而不是超级块、索引节点或目录项。    文件对象是已打开文件在内存的表示。该对象(不是物理文件)由相应的open()系统调用创建,由close()系统调用销毁,所有这些文件相关的调用实际上都是文件操作表中定义的方法。    因为多个进程可以同时打开和操作同一个文件,所以同一个文件也可能存在多个对应的文件对象。文件对象仅仅在进

2009-01-05 16:43:00 816

原创 虚拟文件系统[4]

       VFS把目录当作文件对待,所以在路径/bin/vi中,bin和vi都属于文件---bin是特殊的目录文件而vi是一个普通文件,路径中的每个组成部分都由一个索引节点对象表示。虽然它们可以统一由索引节点表示,但是VFS经常需要执行目录相关的操作。比如路径名查找等。路径名查找需要解析路径中的每一个组成部分,不但要确保它有效,还要进一步寻址路径中的下一个部分。为了方便查找操作,VFS引入

2009-01-05 15:09:00 949

原创 虚拟文件系统[3]

      索引节点对象包含了内核在操作文件或目录时需要的全部信息。对于Unix风格的文件系统来说,这些信息可以从磁盘索引节点直接读入。如果一个文件系统没有索引节点,不管这些相关信息在磁盘上是怎么存放的(没有索引节点的文件系统通常将信息作为文件的一部分存储起来,有些现代文件系统使用数据库来存储文件的数据。不管是那种方式索引节点对象必须在内核中创建以便文件系统使用),文件系统都必须从中提取这些信

2009-01-03 17:29:00 931

设计模式(中文版).part4.rar

设计模式(中文版)的第四部分。

2008-03-19

设计模式(中文版).part3.rar

什么是设计模式?<br>Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”[ A I S + 7 7,第1 0页]。尽管A l e x a n d e r所指的是城市和建筑模式,但他的思想也同样适用于面向对象设计模式,只是在面向对象的解决方案里,我们用对象和接口代替了墙壁和门窗。两类模式的核心都在于提供了相关问题的解决方案。

2008-03-19

设计模式(中文版)

什么是设计模式?<br>Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”[ A I S + 7 7,第1 0页]。尽管A l e x a n d e r所指的是城市和建筑模式,但他的思想也同样适用于面向对象设计模式,只是在面向对象的解决方案里,我们用对象和接口代替了墙壁和门窗。两类模式的核心都在于提供了相关问题的解决方案。

2008-03-19

设计模式(中文版)

什么是设计模式?<br>Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”[ A I S + 7 7,第1 0页]。尽管A l e x a n d e r所指的是城市和建筑模式,但他的思想也同样适用于面向对象设计模式,只是在面向对象的解决方案里,我们用对象和接口代替了墙壁和门窗。两类模式的核心都在于提供了相关问题的解决方案。

2008-03-19

WINDOWS网络编程技术源码

WINDOWS网络编程技术源码

2007-11-08

《UNIX操作系统设计》[1].part5.rar

《UNIX操作系统设计》Maurice J.Bach(著)<br>本书以UNIX系统V为背景,全面、系统的介绍了UNIX操作系统内核的内部数据结构和算法。

2007-08-27

《UNIX操作系统设计》[1].part4.rar

《UNIX操作系统设计》Maurice J.Bach(著)<br>本书以UNIX系统V为背景,全面、系统的介绍了UNIX操作系统内核的内部数据结构和算法。

2007-08-27

《UNIX操作系统设计》[1].part3.rar

《UNIX操作系统设计》Maurice J.Bach(著)<br>本书以UNIX系统V为背景,全面、系统的介绍了UNIX操作系统内核的内部数据结构和算法。

2007-08-27

《UNIX操作系统设计》[1].part2.rar

《UNIX操作系统设计》Maurice J.Bach(著)<br>本书以UNIX系统V为背景,全面、系统的介绍了UNIX操作系统内核的内部数据结构和算法。

2007-08-27

UNIX操作系统设计》[1].part1.rar

《UNIX操作系统设计》Maurice J.Bach(著)<br>本书以UNIX系统V为背景,全面、系统的介绍了UNIX操作系统内核的内部数据结构和算法。

2007-08-27

跟我一起写Makefile.pdf

陈浩先生写的makefile。

2007-08-18

空空如也

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

TA关注的人

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