LinuxÄں˵ÄÁ´±í
×Ô2.1Äں˿ª·¢°æÒÔÀ´£¬linux¾ÍÒýÈëÁËÕýʽµÄÁ´±íʵÏÖ,²ÉÓõÄÊÇË«ÏòÑ»·Á´±í¡£Òò´Ë£¬ÔÚ¿ª·¢¹ý³ÌÖÐÓ¦¸ÃʹÓÃÕâЩÒÑÓеĽӿڡ£
1. ¶¨Òå
Á´±í½á¹¹Ì嶨ÒåÔÚÎļþ<linux/list.h>ÖС£
struct list£ßhead {
struct list_head *next;
struct list_head *prev;
};
ʹÓÃʱͨ³£ÐèÒª°ÑËüǶÈëµ½Äã×Ô¼ºµÄ½á¹¹ÌåÖС£
Àý£º
struct my_struct {
struct list_head list;
unsigned long dog;
void * cat;
};
ÏÂÃæ¸ø³öһЩ½Ó¿Ú£º
struct my_struct *p;
³õʼ»¯£º
/*¶¯Ì¬³õʼ»¯*/
p->dog = 0;
p->cat = NULL;
INIT_LIST_HEAD(&p->list);
/*¾²Ì¬³õʼ»¯*/
struct my_struct mine = {
.list = LIST_HDAD_INIT(mine.list);
.dog = 0;
.cat = NULL;
};
/*Ö±½ÓÉùÃ÷²¢³õʼ»¯*/
static LIST_HEAD(fox); /*ÉùÃ÷²¢³õʼ»¯Ò»¸öÃûΪfoxµÄ¾²Ì¬Á´±í*/
2. »ù±¾²Ù×÷
¸øÁ´±íÔö¼ÓÒ»¸ö½Úµã£º
list_add(struct list_head *new, struct list_head *head);
/*¸Ãº¯ÊýÏòÖ¸¶¨Á´±íµÄhead½Úµãºó²åÈënew½Úµã¡£*/
list_add_tail(struct list_head *new, struct list_head *head);
/*¸Ãº¯ÊýÏòÖ¸¶¨Á´±íµÄhead½Úµãǰ²åÈënew½Úµã¡£*/
´ÓÁ´±íÖÐɾ³ýÒ»¸ö½Úµã£º
list_del(struct list_head *entry);
/*¸Ãº¯Êý½ö½öÊǽ«entryÔªËØ´ÓÁ´±íÖÐÒÆ×ß¡£*/
list_del_init(struct list_head *entry);
/*¸Ãº¯Êý½«entryÔªËØ´ÓÁ´±íÖÐÒÆ×ß²¢Ôٴγ
Ïà¹ØÎĵµ£º
Chapter 1: Thread
¢Ù thread functions
1. pthread_self();
2. thread existing
you can get the value of rval_ptr just by pthread_join(pthread_t tht, void ** rval_ptr)
cancel a thread as the thread exits with PTHREAD_CANCELED in pthread_exit, this functio ......
http://andrew913.javaeye.com/blog/431259
Àí½âLinuxµ÷ÓŲÎÊý
ÔÚÎÒÃǽéÉÜLinuxϵͳµÄ¸÷ÖÖµ÷ÓŲÎÊýºÍÐÔÄܼà²â¹¤¾ß֮ǰ£¬ÐèÒªÏÈÌÖÂÛһЩ¹ØÓÚÐÔÄܵ÷ÓŵIJÎÊý¡£ÒòΪLinuxÊÇÒ»¸ö¿ªÔ´²Ù×÷ϵͳ£¬ËùÒÔÓÖ´óÁ¿¿ÉÓõÄÐÔÄܼà²â¹¤¾ß¡£¶ÔÕâЩ¹¤¾ßµÄÑ¡ÔñÈ¡¾öÓÚÄãµÄ¸öÈËϲºÃºÍ¶ÔÊý¾Ýϸ½ÚµÄÒªÇó¡£ËùÓеÄÐÔÄܼà²â¹¤¾ß¶¼Êǰ´ÕÕͬÑùµÄ¹æÔòÀ´ ......
ÔÚ¿½±´Êý¾ÝµÄʱºò£¬Èç¹ûÓöµ½Ò»¶ÑСÎļþ£¬¼´Ê¹×ÜÊý¾ÝÁ¿ºÜС£¬¿½±´Ò²»áºÜ·Ñʱ£¬ÔÚwinÏ£¬ÓÐÒ»¸öÈí¼þ½Ðfastcopy£¬¿ÉÒÔʵÏÖ¿ìËÙ¿½±´£¬¾Ý˵ʹÓÃÁËÒ»ÖÖ½ÐÄÚ´æÓ³ÉäµÄ¼¼Êõ£¬ÄÇôÔÚLinuxÏÂÓÐûÓÐÄØ£¿
ÎÒÕÒÁ˰ëÌ죬ÔÀ´LInuxϸù±¾²»ÐèÒªµ¥¶ÀµÄÈí¼þ£¬ÓÃÏÖÓеÄÃüÁî×éºÏ¾ÍOKÁË£¡
ÓиßÊÖÔÚÁ½¸ö·þÎñÆ÷¼ä´«Êý¾Ý£¬Ê¹ÓÃÃüÁʵÏÖÁË¿ìËÙ´«Ë ......
ÐéÄâÖ÷»ú·þÎñÉÌÔÚÔËÓª¹ý³ÌÖпÉÄÜ»áÊܵ½ºÚ¿Í¹¥»÷£¬³£¼ûµÄ¹¥»÷·½Ê½ÓÐSYN£¬DDOSµÈ¡£Í¨¹ý¸ü»»IP£¬²éÕÒ±»¹¥»÷µÄÕ¾µã¿ÉÄܱܿª¹¥»÷£¬µ«ÊÇÖжϷþÎñµÄʱ¼ä±È½Ï³¤¡£±È½Ï³¹µ×µÄ½â¾ö·½·¨ÊÇÌíÖÃÓ²¼þ·À»ðǽ¡£²»¹ý£¬Ó²¼þ·À»ðǽ¼Û¸ñ±È½Ï°º¹ó¡£¿ÉÒÔ¿¼ÂÇÀûÓÃLinux ϵͳ±¾ÉíÌṩµÄ·À»ðǽ¹¦ÄÜÀ´·ÀÓù¡£
µÖÓùSYN SYN¹¥»÷ÊÇÀûÓÃTCP/IPÐÒé3´ÎÎÕÊÖµ ......