linuxÄÚ´æ³Ø
ÄÚ´æ³Ø(memory pool) ÊÇlinux2.6µÄÒ»¸öеÄÌØÐÔ¡£»ù±¾ÉϽ«£¬Ò»¸öÄÚ´æ³ØÔÊÐíÒ»¸öÄں˳ɷ֣¬Èç¿éÉ豸×Óϵͳ£¬½öÔÚÄÚ´æ²»×ãµÄ½ô¼±Çé¿öÏ·ÖÅäһЩ¶¯Ì¬ÄÚ´æÀ´Ê¹Óá£
ÄÚ´æ³ØÊǶ¯Ì¬ÄÚ´æµÄ´¢±¸£¬Ö»Äܱ»Ìض¨µÄÄں˳ɷ֣¨¼´³ØµÄ“ÓµÓÐÕß”£©Ê¹Óá£ÓµÓÐÕßͨ³£²»Ê¹Óô¢±¸£»µ«ÊÇ£¬Èç¹û¶¯Ì¬ÄÚ´æ±äµÃ¼«ÆäÏ¡ÓÐÒÔÖÁÓÚËùÓÐÆÕͨÄÚ
´æ·ÖÅäÇëÇó¶¼½«Ê§°ÜµÄ»°£¬ÄÇô×÷Ϊ×îºóµÄ½â¾öÊֶΣ¬Äں˳ɷ־ÍÄܵ÷ÓÃÌØ¶¨µÄÄÚ´æ³Øº¯ÊýÌáÈ¡´¢±¸µÃµ½µÄËùÐèµÄ¶îÄÚ´æ¡£Òò´Ë£¬´´½¨Ò»¸öÄÚ´æ³Ø¾ÍÏñÊÖÍ··ÅЩ¹à×°
ʳÎï×÷Ϊ´¢±¸£¬µ±Ã»ÓÐÐÂÏÊʳÎïʱ¾ÍʹÓÿª¹ÞÆ÷¡£
Ò»¸öÄÚ´æ³Ø³£³£µþ¼ÓÔÚslab·ÖÅäÆ÷Ö®ÉÏ————Ò²¾ÍÊÇ˵£¬Ëü±»ÓÃÀ´±£´æsla¶ÔÏóµÄ´¢±¸¡£µ«ÊÇÒ»°ã¶øÑÔ£¬ÄÚ´æ³ØÄܱ»ÓÃÀ´·ÖÅäÈκÎÒ»ÖÖÀàÐ͵Ķ¯Ì¬Äڴ棬´ÓÕû¸öÒ³¿òµ½Ê¹ÓÃkmalloc£¨£©·ÖÅäµÄСÄÚ´æÇø¡£Òò´Ë£¬ÎÒÃǽ«Ò»°ãÄÚ´æ³Ø´¦ÀíµÄÄÚ´æµ¥Ôª¿´×Å“ÄÚ´æÔªËØ”¡¢
ÄÚ´æ³ØÓÉ£ºmempool_t¶ÔÏóÃèÊö£¬ËüµÄ×Ö¶ÎÈçÏÂ±í£º
ÀàÐÍ Ãû³Æ ˵Ã÷
spinlock_t lock ÓÃÀ´±£»¤¶ÔÏó×ֶεÄ×ÔÐýËø
int min_nr ÄÚ´æ³ØÖÐÔªËØµÄ×î´ó¸öÊý
int curr_nr µ±Ç°ÄÚ´æ³ØÖÐÔªËØµÄ¸öÊý
void ** elements Ö¸ÏòÒ»¸öÊý×éµÄÖ¸Õ룬¸ÃÊý×éÓÉÖ¸Ïò±£ÁôÔªËØµÄÖ¸Õë×é³É
void *
Ïà¹ØÎĵµ£º
±¾ÎÄÖ÷Òª½éÉÜÈçºÎÓÃLinux×öÒ»¸ö¹¦ÄÜÍ걸µÄ·ÓÉÆ÷£¬ÕâÀォÖ÷Òª½éÉܾ²Ì¬Â·ÓÉÆ÷ºÍ¶¯Ì¬Â·ÓÉÆ÷µÄÅäÖ㬵«²»°üÀ¨IPαװ»òÕß˵¹«ÓÃÒ»¸öIPµØÖ··ÃÎÊÍâÃæÍøÂçµÈÎÊÌâ¡£ÆäÒѾ²»ÊôÓÚ±¾Ö÷ÌâÌÖÂ۵ķ¶Î§£¬Çë²Î¿¼ÆäËûÈç·À»ðǽµÄÅäÖõȵÄÄÚÈÝ¡£
LRP(Linux Router Project)ÒѾ³ÉÁ¢ÁËÓкü¸ÄêµÄʱ¼äÁË¡£Õâ¸ö¼Æ»®µÄÄ¿µÄÊÇÀûÓÃLinux²Ù×÷ϵͳ½«À ......
³õʼ»¯ÖжÏÃèÊö·û±í
ÄÚºËÆôÓÃÖжÏÒÔǰ£¬±ØÐë°Ñidt±íµÄ³õʼµØÖ·×°µ½idtr¼Ä´æÆ÷£¬²¢³õʼ»¯±íÖеÄÿһÏî¡£ÕâÏ×÷ÊÇÔÚ³õʼ»¯ÏµÍ³Ê±Íê³É¡£
intÖ¸ÁîÔÊÐíÓû§Ì¬½ø³Ì·¢³öÒ»¸öÖжÏÐźţ¬ÆäÖµ¿ÉÒÔÊÇ0-255µÄÈÎÒâÒ»¸öÏòÁ¿¡£Òò´Ë¡£ÎªÁË·ÀÖ¹Óû§Í¨¹ýintÖ¸ÁîÄ£Äâ·Ç·¨µÄÖжϺÍÒì³££¬idtµÄ³õʼ»¯±ØÐë·Ç³£Ð¡ÐÄ¡£Õâ¿ÉÒÔͨ¹ý°ÑÖжϻòÕßÏÝÚåà ......
IDTµÄ³õ²½³õʼ»¯
ÔÚʵģʽʱ£¬idt±»³õʼ»¯²¢ÓÉbiosÀý³ÌʹÓá£Ò»µ©linux½Ó¹Ü£¬idt¾Í±»ÒƵ½ramµÄÁíÒ»¸öÇøÓò£¬²¢½øÐеڶþ´Î³õʼ»¯£¬ÒòΪlinuxûÓÐÀûÓÃÈκÎbiosÀý³Ì¡£
IDT´æ·ÅÔÚidt_table±íÖУ¬ÓÐ256¸ö±íÏî¡£6×Ö½ÚµÄidt_descr±äÁ¿Ö¸¶¨ÁËidtµÄ´óСºÍËüµÄµØÖ·£¬Ö»Óе±ÄÚºËÓÃlidt»ã±àÖ¸Áî³õʼ»¯idtr¼Ä´æÆ÷ʱ²ÅÓõ½Õâ¸ö±äÁ¿¡£
ÔÚ ......
¡¾recv/recvfrom/recvmsgϵͳµ÷Óá¿
¹¦ÄÜÃèÊö£º
´ÓÌ×½Ó×ÖÉϽÓÊÕÒ»¸öÏûÏ¢¡£¶ÔÓÚrecvfrom ºÍ recvmsg£¬¿ÉͬʱӦÓÃÓÚÃæÏòÁ¬½ÓµÄºÍÎÞÁ¬½ÓµÄÌ×½Ó×Ö¡£recvÒ»°ãÖ»ÓÃÔÚÃæÏòÁ¬½ÓµÄÌ×½Ó×Ö£¬¼¸ºõµÈͬÓÚrecvfrom£¬Ö»Òª½«recvfromµÄµÚÎå¸ö²ÎÊýÉèÖÃNULL¡£
Èç¹ûÏûϢ̫´ó£¬ÎÞ·¨ÍêÕû´æ·ÅÔÚËùÌṩµÄ»º³åÇø£¬¸ù¾Ý²»Í¬µÄÌ×½Ó×Ö£¬¶àÓà ......
linuxϵͳ°²×°Í꣬ÒÔºóͨ¹ýÃüÁîģʽÅäÖÃÍø¿¨IP¡£ÅäÖÃÎļþͨ³£ÊÇ/etc/sysconfig/network-scripts/ifcfg-interface-name
1.ÅäÖÃÍø¿¨IPµØÖ·
vi /etc/sysconfig/network-scripts/ifcfg-eth0 #µÚ¶þ¿éÍø¿¨£ºvi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0 #ÎïÀíÉ豸Ãû
IPADDR=192.168.1.10 #IPµØÖ·
NETMASK=255. ......