- 博客(11)
- 收藏
- 关注
转载 内核注册一个新的协议族
说到注册新的协议族(下文用family描述),我们需要再次描述一下数组net_families,这个数组共有NPROTO(32)项,其每一项都固 定分配给一个family使用。比如,AF_INET(因特网协议)固定占用net_families[2],如果net_families[2]== NULL,则表示当前内核没有AF_INET模块,不支持因特网协议。net_families的每一项是一
2008-05-30 18:04:00 897
原创 提高Linux系统应对短连接的负载能力
在存在大量短连接的情况下,Linux的TCP栈一般都会生成大量的 TIME_WAIT 状态的socket。 你可以用下面的命令看到: netstat -ant| grep -i time_wait 有时候,这个数目是惊人的: netstat -ant|grep -i time_wait |wc -l 可能会超过三四万。这个时候,我们需要修改 linux kernel
2008-05-30 14:19:00 970
原创 如何制作迷你的linux
其实很简单啊,网络上相关资料很多,无非就是几步 1、编译好内核 2、熟悉 Linux 的启动机制 3、使用 busybox 打造一个你需要的 chroot 树 4、复制其他相关程序及库到目录树里面(利用 ld 查看相关库) 5、用 dd 创建一个最小的空间,mk2fs 格式化,mount -o loop 去映射,复制目录树进去 6、umount,然后 gzip -9 压制成 initrd.gz
2008-05-30 13:39:00 767
原创 使用 screen 管理你的远程会话
你是不是经常需要远程登录到Linux服务器?你是不是经常为一些长时间运行的任务头疼?还在用 nohup 吗?那么来看看 screen 吧,它会给你一个惊喜!你 是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须
2008-05-29 17:13:00 582
原创 精通top,ps命令
一:ps命令 以下是 ps 的最简单形式: $ ps PID TTY TIME CMD 3884 pts/1 00:00:00 bash 3955 pts/2 00:00:00 more 3956 pts/5 00:00:05 sqlplus • PID 是进程的标识号。 • TTY 是进程所属的终端控制台。 •
2008-05-29 17:05:00 2978
原创 进程和线程的区别
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺
2008-05-27 14:43:00 636
原创 C典型错误
#include #include int main(int argc, char *argv[]) { int i = 5; char buff[4]; strcpy(buff, "abcd"); printf("%d/n", i); return 0;}输出的结果是0, 只知道是堆栈方面的问题, 但是怎么会出现这样的结果?栈
2008-05-26 11:58:00 515
原创 CLOSE_WAIT状态的生成原因
关闭socket分为主动关闭(Active closure)和被动关闭(Passive closure)两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机检测到远程主机发起关闭之后,作出回应,从而关闭整个连接。 其状态图如下图所示: 起初每个socket都是CLOSED状态,当客户端初使化一个连接,他发送一个SYN包到服务器,客户端进入SYN_SENT状态
2008-05-23 16:43:00 602
原创 C语言测试题的讲解分析(转)
下面是网友Jackie214发布的答案,其认真态度令我深受感动.这些题是我2000年在做培训时为学员们设计的,但我已经近6年没有接触过vc++下的c语言编程了,有9年没接触unix下的c语言编程了,所以,除了一些核心思想令我终生难忘外,其他一些语法细节和当初出题的意图何在,我也差不多忘记了!前天把这个测试题发布出来,是因为前一阵才知道我多年前写的一些内容又要被别人加入到其书籍中出版(我只是对一
2008-05-22 17:22:00 706
原创 linux线程锁
#include #include #include #include #define MAX 20pthread_t thread[2];pthread_mutex_t mut;int number=0, i;void *thread2(){ printf ("thread2 : Im thread 2/n"); for (i = 0; i {
2008-05-20 17:10:00 2085
原创 linux pthread
#include #include #include #include "pthread.h"#define BUFFER_SIZE 16struct prodcons{ int buffer[BUFFER_SIZE]; pthread_mutex_t lock; int readpos, writepos; pthread_cond_t notempty; p
2008-05-20 17:00:00 791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人