
工作笔记
cybertan
做事诚恳塌实,刻苦钻研!
开放,共享,合作!
展开
-
linux 系统usb问题。
问题描述: 将文件通过ftp传输到u盘,当传输和下载同时进行,长时间测试,发生crash。storage进程出现dw状态,ftp进程断开。我们可以看到进程为什么进入d状态:往往是由于 I/O 资源得不到满足,而引发等待,在内核源码 fs/proc/array.c 里,其文字定义为“ "D (disk sleep)", /* 2 */ ”(由此可知 D 原是Disk的打头字母),对原创 2008-09-23 16:15:00 · 1054 阅读 · 0 评论 -
netlink笔记(udev)
在udev应用层进行下面的步抽:uevent_netlink_sock = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);etval = bind(uevent_netlink_sock, (struct sockaddr *) &snl, sizeof(struct sockaddr_nl));其中snl原创 2010-03-12 15:31:00 · 2612 阅读 · 0 评论 -
FTP中的NAT
最简单的NAT只需要修改IP头里面的IP地址,不过大多数的NAT还需要传输层里面的端口。而这里我们仅仅考虑后者。在这个时候,存在着一个问题,那就是如果应用层需要使用IP地址或者端口,该怎么办?当然,这仅仅是一个假设,许多应用不会用到网络层以及传输层里面的信息;还有一些应用会在应用层携带者IP或者端口信息,比如迅雷,但是没有它,天也不会塌下来;不过还有一些应用,非常需要它,如果没有它的话,当转载 2010-03-15 10:26:00 · 2358 阅读 · 0 评论 -
关于时钟(2)以及定时器精度问题
<br />在应用层,使用timeout是做不到延迟微秒级别,甚至在很多架构上,连ms都做不多,为什么这样说,线索如下:<br /><br /><br /> timeout = ROUND_UP(usec, 1000000/HZ);<br /> timeout += sec * (unsigned long) HZ;<br /><br /><br />#define ROUND_UP(x,y) (((x)+(y)-1)/(y)),这里假设sec为0。<br /原创 2010-06-26 11:21:00 · 1798 阅读 · 0 评论 -
近期学习计划安排
<br />1:对suse进行使用,应该是一件比较轻松的事情。<br />2:关键任务是对tcp/ip协议进行总结(实现方式),比较自己知道的几个系统的实现方式。<br />原创 2010-08-12 22:51:00 · 1014 阅读 · 0 评论 -
关于时钟(1)
最近工作中,同事问我,linux如何实现us的delay,认为:x86的hz定义为100,所以具体时间间隔应该是(1000ms/HZ)=10ms,然后调度的时候是以这个10ms为单位,实现不了微秒的delay。关于这个问题,我们要首先了解linux的时钟:时钟的硬件如下:RTC(real time clock):一种时钟芯片,pc掉电后,继续工作,保持时间I/0端口: 0x70 寄存器地址索引端口 0x71 数据端口Linux内核对RTC的唯一用途就是把RTC用作“离线”或“后台”的时间与日期维原创 2010-06-25 21:44:00 · 949 阅读 · 0 评论 -
如何备份系统
<br />在vmware中,为一块硬盘上的数据做备份,不使用dd的方式.<br />在rescue模式中:<br />1:将硬盘分区,设置boot盘,以及swap,按照原来的分区分好<br />2:将硬盘格式化<br />3:将各分区的数据拷贝到目标硬盘中<br />4:挂栽根分区(boot分区)mkdir/tmp/hdamount/dev/hda1 /tmp/hdagrub-install --recheck--root-directory=/tmp/hda /dev/hda成功之后,会在/boot原创 2011-01-25 01:55:00 · 774 阅读 · 0 评论 -
一个简单的tcp服务程序
<br />client:<br />/* tcpcli.c */<br />#include <stdio.h><br />#include <stdlib.h><br />#include <string.h> <br />#include <unistd.h> <br />#include <sys/types.h> <br />#include <sys/socket.h><br />#include <netinet/in.h><br />#include <arpa/inet.h> <br />转载 2011-01-26 02:29:00 · 1303 阅读 · 0 评论 -
如何修改文件名字和文件中个内容
1:sed -i 's/5.1p1/7.1p1test/g' $(grep -lR "5.1p1" ./)2:# rename.perl 's/5.1p1/7.1p1test/g' * #!/usr/bin/perl -w# rename - Larry's filename fixer#用法: Perl表达式 [要处理的文件名]$op原创 2012-12-24 10:24:43 · 1399 阅读 · 0 评论 -
lvm使用
RHEL6中针对LVM的一些新特性:支持逻辑卷的镜像操作、Device Mapper对udev的完整支持、当一个磁盘发生故障时可以使用lvconert –repair进行修复、支持对镜像卷创建快照(rhel6.1的新特性)等。详情请参考官方文档。一、Volume Group的高级管理:1、Combining Volume Groups:一块100G大小的磁盘sdb,分了俩个分区:sdb转载 2012-12-14 03:10:07 · 15796 阅读 · 0 评论 -
Multipath多路径冗余全解
一、什么是multipath普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择。既然,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处转载 2012-12-14 03:05:36 · 47344 阅读 · 1 评论 -
描述符
简单的说, max-file表示系统级别的能够打开的文件句柄的数量, 而ulimit -n控制进程级别能够打开的文件句柄的数量.man 5 proc, 找到file-max的解释:file-max中指定了系统范围内所有进程可打开的文件句柄的数量限制(系统级别, kernel-level). (The value in file-max denotes the maximum numbe转载 2013-01-28 10:51:37 · 1262 阅读 · 1 评论 -
mtd -flash函数说明
在这里主要描述v3的mtd,在linux的MTD子系统当中: Linux MTD设备的NOR Flash芯片驱动遵循CFI接口标准,其驱动程序位于drivers/mtd/chips子目录下。NAND型Flash的驱动程序则位于/drivers/mtd/nand子目录下Map中的bank原创 2010-03-12 11:16:00 · 1826 阅读 · 0 评论 -
netlink,hotplug的工作笔记
今天把以前做的工作重新总结一下,以前在挂载u盘的时候,kernel是2。4,采用的是hotplug的方式,但是主要是自己写的一个hotplug的方式。因为在挂u盘的时候,系统中模拟的了一个软scsi的控制器,用户对u盘的操作都采用的是scsi的cmd来进行。所以在scsi的driver里面,当执行到sd_finish函数时,加了这样的一个函数。(其实和hotplug的方式一原创 2010-03-12 10:57:00 · 1877 阅读 · 0 评论 -
时钟周期, 指令周期, 机器周期差别
时钟周期:也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。 指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。 机器周期 计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为原创 2008-09-27 10:02:00 · 1191 阅读 · 0 评论 -
动态库 命令 ldconfig
解决了:在/etc/ld.so.conf中加一行/usr/local/lib,运行ldconfi。ld.so.conf和ldconfig是维护系统动态链接库的。 ldconfig命令行用法如下: ldconfig [-v|--verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r R原创 2008-10-30 15:32:00 · 1074 阅读 · 0 评论 -
阻抗匹配
阻抗匹配是指负载阻抗与激励源内部阻抗互相适配,得到最大功率输出的一种工作状态。对于不同特性的电路,匹配条件是不一样的。在纯电阻电路中,当负载电阻等于激励源内阻时,则输出功率为最大,这种工作状态称为匹配,否则称为失配。当激励源内阻抗和负载阻抗含有电抗成份时,为使负载得到最大功率,负载阻抗与内阻必须满足共扼关系,即电阻成份相等,电抗成份只数值相等而符号相反。这种匹配条件称为共扼匹配。 阻原创 2009-07-30 12:34:00 · 916 阅读 · 0 评论 -
扩展netfilter中udp的contrack字段
最近遇到这样的一个问题:在router背后有2台pc,通过dhcprelay的方式从外面的dhcpserver获取ip地址。问题描述: 但是当地址租期到一定的时间后,两台pc会去发单播包续自己的ip地址。但是server回这些单播地址的时候,会把ack包回给第一台机器。第二台机器续包不成功之后,会发广播包出去,被router上面的dhcprelay进程处理,然后从外面的dhcpse原创 2009-10-21 17:59:00 · 1050 阅读 · 0 评论 -
CHARIOT测试流量3
任务描述:对于网络情况不稳定、经常出现速度波动的情况来说,在某一时刻测量速度存在一定的不确定因素,如何将误差降低到最小呢?我们可以采用科学测量法来解决这个问题,即采用平均值的方法。将所有测量值汇总在一起可以得到更接近真实数值的结果。 针对问题:网络传输速度非常不稳定,经常一会儿十几MB/s,一会儿只有几MB/s。 第一步:按照上面提到的方法安装CHARIOT并将客户端原创 2009-11-02 11:58:00 · 1456 阅读 · 0 评论 -
CHARIOT测试流量2
任务描述:实例1中为大家介绍了单向测量的方法,也就是只检测A到B的带宽。然而,实际工作中,网络是单工或双工工作也是影响网络速度的主要因素,因此用CHARIOT进行测量时应该尽量建立双向PAIR而不是单向的,测量结果会显示出A到B的速度以及B到A的速度。 针对问题:A到B的传输速度很快,但B到A的速度却很慢,特别是在A、B同时从对方计算机复制文件到本机时最为明显。 第一原创 2009-11-02 11:54:00 · 1441 阅读 · 0 评论 -
CHARIOT测试流量1
实例1:测量网络中任意两个节点间的带宽 任务描述:局域网中经常有人反映网络速度缓慢,那么怎样确定网络中两台计算机的连接速度呢?使用SNIFFER只能抓包不能给出实际带宽,这时候就需要CHARIOT来帮忙了。假设我们要测量网络中A计算机10.91.30.45与B计算机10.91.30.42之间的实际带宽。 针对问题:局域网中的用户经常感到互访速度缓慢,此时我们可使用CH原创 2009-11-02 11:52:00 · 2617 阅读 · 0 评论 -
发送udp数据包
在Socket编程中,发送数据报文可供使用的API函数有send,sendto和sendmsg,下面是关于前两个系统调用的原型:#include ssize_t send( int socket, const void *buffer, size_t length, int flags ); 请注意它的返回值的类型ssize_t,其含义是signed size。从内核代码中,我们可以看原创 2009-11-23 15:48:00 · 7138 阅读 · 1 评论 -
空字符串的说明
有一个同事有这样的一个问题,在函数返回:return null;和return "";有什么不同?我开始也不是很清楚,回来查找了一下:差别在""分配一个长度为空的存储空间 ,在内存中是有准确的指向的,而null,并没有指向任何地方。引用的时候需要再初始化,不然会报错。原创 2010-01-20 17:37:00 · 1080 阅读 · 0 评论 -
嵌入式系统启动信息的分析(个人解释标记********)
/*psp_boot/psb1/kernel main.c c_entry*/free space start: 0xb0020000free space end: 0xb0800000 Basic POST completed... Success.Last reset cause: Software reset (memory controller also re原创 2010-03-12 09:41:00 · 1045 阅读 · 0 评论 -
bootloader分析
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class原创 2010-03-12 09:57:00 · 1265 阅读 · 1 评论 -
一些安全扫描工具
术语表术语定义敏感数据敏感数据的具体范围取决于产品具体的应用场景,产品应根据风险进行分析和判断。典型的敏感数据包括口令、银行帐号、大批量个人数据、用户通信内容和密钥等。一类如果丢失或者泄漏,会对数据的所有者造成负面影响的数据。本基线定义的“敏感数据”包括但不限于:口令、通行码、密钥、证书、License、隐私数据(如短消息转载 2013-02-05 08:59:29 · 13965 阅读 · 0 评论