摘要: #include<stdio.h>#include<stdlib.h>#include<string.h>int find_max(int arr[],int len){ int max; int i; max = arr[0]; for(i = 0 ; i < len;i++) { if( arr[i] > max) max = arr[i]; } return max; }int count_sort(int arr[],int max,int len){ int* mid; in... 阅读全文
posted @ 2012-06-10 23:18 北海石松 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 今天看书,重新写了一个快排,留着给自己以后看。#include<stdio.h>#include<stdlib.h>#include<string.h>int partion(int a[],int bg, int ed){ int t; int i,j; t = a[bg]; //标志 i = bg; j = ed; while( i < j){ while(i < j && a[j] > t) j--; if(i < j){ a[i] = a[j]; ... 阅读全文
posted @ 2012-06-10 22:47 北海石松 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 分析linux网络的书已经很多了,包括《追踪Linux TCP/IP代码运行》《Linux内核源码剖析——TCP/IP实现》,这里我只是从数据包在linux内核中的基本流程来分析,尽可能的展现一个主流程框架。内核如何从网卡接收数据,传统的过程:1.数据到达网卡;2.网卡产生一个中断给内核;3.内核使用I/O指令,从网卡I/O区域中去读取数据;我们在许多网卡驱动中(很老那些),都可以在网卡的中断函数中见到这一过程。但是,这一种方法,有一种重要的问题,就是大流量的数据来到,网卡会产生大量的中断,内核在中断上下文 中,会浪费大量的资源来处理中断本身。所以,就有一个问题,“可不可以不使用中断”,这就是 阅读全文
posted @ 2012-06-10 16:20 北海石松 阅读(15066) 评论(1) 推荐(0) 编辑