自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Walker

压力很大

  • 博客(31)
  • 收藏
  • 关注

原创 代码质量控制

最新连续出了几个问题,客户有一个很小的需求,由于需要改动比较少,一般都是直接告诉点某个组员改动要点、以及测试注意要点,然后就让他独立去完成。完成的产品,我也会简单测试下,但最终交给客户,都会有一些小问题的产生。以后改动要点、测试要点不能再仅以口头形式传达了。

2012-05-15 14:28:38 607

转载 FC协议学习笔记

FC协议学习笔记 - aleex.bokee.com - 51CTO技术博客 http://16289.blog.51cto.com/6289/550639

2012-05-02 19:10:58 579

原创 /dev/mem /dev/kmem

通过2个文件,可以分别直接访问操作系统实际物理地址和虚拟地址内容,当然随着带来高风险,访问不当,有可能操作系统崩溃。

2012-03-27 23:29:19 630

原创 部件交互质量控制

当涉及到多个部件进行交互时,往往需要定一系列交互协议,其中需要包含正常业务处理协议、异常处理协议、各部件责任。一般来说,正常业务处理协议出错可能性不大,就算出错,测试环节也容易发现问题。但异常处理协议,和特别注意点,在测试环节并不容易发现,并且即使运气好,测试过程发现出错,然后去追踪原因,也是一个非常费时费力的过程。另外一旦测试没有这个bug,而到客户现场出现问题,后果更严重。如果

2012-03-18 10:51:42 386

转载 LINUX netlink机制

转自:http://www.cnblogs.com/iceocean/articles/1594195.htmlnetlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由daemon(NETLINK_ROUTE)

2011-12-13 11:00:58 371

转载 从ip addr add和ifconfig的区别看linux网卡ip地址的结构

转自:http://blog.csdn.net/dog250/article/details/5303542今天一个老外在邮件列表上问了一个问题,就是ip addradd和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下。其实它们之间没有什么区别,只是表述方式不同罢了。如果你非常理解网络协议的原理以及网络的分层架构那么我想你就不

2011-12-13 10:16:33 657

翻译 MIPS地址空间

原文来自:http://www.johnloomis.org/microchip/pic32/memory/memory.html使用MIPS CPU时,你程序放入的地址永远不会和物理地址一致(有时他们是简单映射),我们可以称以上2个地址分别为程序地址、物理地址。一个MIPS CPU可以在以下2种权限下运行:用户态和内核态。但是从一种模式转换到另外一种模式时并不使任何工作不一样;只是有时候

2011-11-25 11:07:06 622

原创 slab简析

本文是我学习笔记,未完,对网友没有参考价值。 linux内核在运行过程中需要频繁创建和销毁一些数据结构,如inode结点,为了效率考虑,linux引入了slab概念。内存申请和释放都从slab申请,而不是真正从内存,而由slab负责实际内存管理。一个对象有一个slab负责维护,当前系统slab情况可以从/proc/slabinfo文件查看。通过调用kmem_cache_create()

2011-11-24 13:25:56 511

原创 sock_init

static int __init sock_init(void){ /* * Initialize sock SLAB cache. */ sk_init(); /* * Initialize skbuff SLAB cache */

2011-11-23 20:45:46 829

原创 万兆网络设备

今天公司弄了一套万兆的光闸,我写了最简单的UDP测试程序测试看了一下,流量到400MB后,就吃掉了一个2.4GHZ的CPU。然后开启了3个进程同时发数据,总共能达到1000MB/S带宽,但是吃掉了260%的CPU资源,太能吃了。。。。linux 2.6.18内核

2011-11-22 15:57:43 1027

原创 不同处理器的地址空间

Inte处理器将IO地址与内存地址区分处理,访问IO地址空间需要使用不同的指令。而PPC处理器只有一个地址空间,此时外部IO必须映射到内存地址才能访问。

2011-11-21 19:59:38 366

原创 项目组优缺点

公司研发部目前是以项目组分配人员以及工作,目前有6、7个组,每个组之间比较独立,很少有相互交流和沟通,更不上资源共享。更严重的问题是,每个组之间技术水平相差悬殊,但产品质量基本由个组独立负责,这样导致公司产品良莠不齐。今天向研发部领导提了一个,专门成立一个小组,人员从研发部技术比较好的人选,这个组人员不脱离他当前所在的组。这个新成立的组专门负责所有产品的性能问题,不设计项目组的功能,也不参与代

2011-11-15 19:29:23 2661

原创 TCP连接一异常现象分析

今天接到工程人员一研发协助,由经过我们平台的TCP代理,数据10次有8次不通。经过抓包最终发现,平台与被代理服务器总是三次握手无法成功,抓包现象大概为:SYN---》SYN,ACK---》RST。开始手足无措,因为三次握手是内核负责完成的,不涉及到应用程序。随后测试平台的网络连接

2011-09-06 13:59:19 496

原创 关于测试

公司内部测试力量太薄弱了,只会进行一些黑盒测试。程序代码里面很多分支代码都没走到

2011-07-20 17:02:55 315

原创 软件开发趋势

感觉现在趋势,以空间换时间的越来越多了。通过大量的数据结构,来实现程序高效运行。最简单的例子epoll。

2011-07-05 14:24:59 313

原创 进程防止被swap

当系统内存比较紧张时,系统会自动某些内存swap到硬盘中去,系统选择被swapped内存具体算法,暂时未知。有知道的同学,麻烦告诉下。但某些关键进程,特别实时行要求比较的进程,需要内存不被swap而导致延迟,这个可以通过调用mlock函数。

2011-07-04 15:38:47 580

原创 epoll_wait事件顺序

先设想这么一个场景:初始化状态是一个客户端与服务器保持正常连接,服务端是通过epoll_wait等待监听socket和普通socket数据到来。这时客户端关闭连接,再立即重新连接。再之前脑海潜意识以为epoll_wait会先通知应用程序关闭事件,然后再通知重新连接事件。在一次实际项目中,却无意发现服务端epoll_wait先返回的却是连接事件,然后才是关闭事件。如果没有意识到这点,

2011-07-01 14:26:00 2040

翻译 linux文件锁

本文摘自http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-proc-locks.html首先在linux系统下可以通过cat /proc/locks查看当前系统被锁的文件。如下例:1: FLOCK  ADVISORY  WRITE 2602 08:04:22380560 0 EOF2: POSIX  ADVISORY 

2011-06-22 18:21:00 2679

原创 /proc/loadavg查看系统负载

1.93 1.97 1.85 2/418 24016这里的平均负载也就是可运行的进程的平均数前三个值分别对应系统在5分钟、10分钟、15分钟内的平均负载第四个值的分子是正在运行的进程数,分母是进程总数,最后一个是最近运行的进程ID号

2011-06-22 11:50:00 771

原创 linux下应用程序获取时钟周期

<br />在内核中,有一个全局变量jiffies统计本系统的当前运行时钟周期个数,但应用程序并这么便利的用法。不过可以通过<br />以下宏获取到<br />#define rdtscll(val) / __asm__ __volatile__("rdtsc" : "=A" (val)) <br />

2011-05-14 14:44:00 884

原创 寻找linux下高效,稳定文件系统

最近工作一个项目,需要高速,大量读写批量文件,读写速度均达到70MB/S以上。但是经常发现几套平台会出现系统崩溃。

2011-03-23 15:39:00 1042

原创 C 有符号数和无符号数

<br />当执行一个运算时, 如果它的一个运算数是有符号的而另一个是无符号的,那么 C 语言会<br />隐式地将有符号参数强制类型转换为无符号数,并假设这两个数都是非负的,来执行这个运算。<br />就像我们将要看到的,这种方法对于标准的算术运算来说并无多大差异,但是对于像 < 和 > 这<br />样的关系运算符来说, 它会导致非直观的结果。<br />#include <stdio.h>int main(){ int a = -1; if(a

2011-03-21 16:35:00 538

原创 du df区别

<br />通过du和df查看硬盘使用空间时,有时能看到2者统计结果相差甚大,通常是df显示硬盘使用空间已经很大了,但du统计目录下文件占用大小总数却不一致。<br />这里不细讲du,df统计的区别了,可以通过man帮助查看。<br />一般情况是该分区下有文件已被删除,且仍然有程序在打开着,则出现如上所述情况。

2011-03-09 16:34:00 446

转载 初始化ifconfig计数办法

原帖摘自:http://www.linuxquestions.org/questions/linux-networking-3/ifconfig-eth0-show-errors-814875/下面是一个例子:ifconfig eth0eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xxinet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0UP BROADCAS

2011-02-28 10:04:00 1128

原创 listen形参之backlog含义

对于一个TCP服务端程序来说,调用listen是必不可少的一个步骤,但是对于其中的形参backlog到含义及如何赋值。首先backlog表示的是服务端接受到客户端SYN包,但未完成三次握手的连接个数上限。但是backlog的值不是直接对应上限,内核里面里面另有一套逻辑。今天特意去看一下内核代码(2.6.34),发现最终调用reqsk_queue_alloc确认backlog在内核中的体现,具体代码可以查看源代码看看,最终发现未完成队列大小范围3~10。如果未完成已满,则后面的请求会冲掉队列中前面的请求。

2010-11-10 10:39:00 870

转载 linux查看网卡是否连接

编程部分转自http://topic.csdn.net/u/20100920/16/7D58E76F-39FE-44B3-B4AC-D65D5AE57D2D.html以前知道通过ethtool可以查看网卡是否已连接。编程实现如下:#include #include #include #include #include #include #include struct ethtool_value { __uint32_t cmd;

2010-09-28 17:27:00 1774

原创 tcp segment of reassembled pdu分析

今天使用wireshark进行抓包时,发现大量的tcp segment of reassembled pdu数据包,不是很明白, google搜索发现wireshark官方网站有详细说明http://www.wireshark.org/lists/wireshark-users/200806/msg00047.html。自身理解如下:PDU:protocal unit data

2010-05-20 14:35:00 4408 1

原创 ssl要点摘录

ssl(secure socket layer)实现的主要功能为在一个不安全网络环境,实现通信双方安全通信。 安全通信要点主要包含三点:1: 数据隐私性: 通过数据加密实现,主要算法有RC2,RC4,DES,AES等。2:完整性:计算并发送数据hash值给对方,对方接受到数据和对应hash值,经过同样算法计算出数据hash值并比较。主要算法有SHA,MD5。3:双方身份验证:这

2010-05-14 14:05:00 478

原创 tcp/ip详解

看完卷一了,感觉还没有上次看UNIX网络编程大。最主要的TCP一些内部算法看的不是很明白,如拥塞避免之类的。开始看卷二把,希望到时候,能够系统理解数据从应用层到ip层流动过程。

2010-03-19 16:37:00 320

原创 strncpy

char *strncpy(char *dest, const char *src, size_t nSize);以前一直以为strncpy实现功能将从src拷贝字符串到dest,拷贝长度为nSize和strlen(src)其中较小值。上次写代码无意将nSize置值超过strlen(dest)和strlen(src),发现从src拷贝到dest长度为nSize,根本不管strlen(src

2010-02-26 15:55:00 335

原创 tcp/ip学习

最近在看TCP/IP详解这本书,希望能有所收获。

2010-02-23 20:52:00 300

空空如也

空空如也

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

TA关注的人

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