LinuxÄÚºËÍøÂçÕ»´úÂëµÄ×¼±¸ÖªÊ¶ÏêÊö
1. LinuxÄÚºËipv4ÍøÂ粿·Ö·Ö²ã½á¹¹£º
BSD socket²ã£º ÕâÒ»²¿·Ö´¦ÀíBSD socketÏà¹Ø²Ù×÷£¬Ã¿¸ösocketÔÚÄÚºËÖÐÒÔstruct socket½á¹¹ÌåÏÖ¡£ÕâÒ»²¿·ÖµÄÎļþ
Ö÷ÒªÓУº/net/socket.c /net/protocols.c etc
INET socket²ã£ºBSD socketÊǸö¿ÉÒÔÓÃÓÚ¸÷ÖÖÍøÂçÐÒéµÄ½Ó¿Ú£¬¶øµ±ÓÃÓÚtcp/ip£¬¼´½¨Á¢ÁËAF_INETÐÎʽµÄsocketʱ£¬
»¹ÐèÒª±£ÁôЩ¶îÍâµÄ²ÎÊý£¬ÓÚÊǾÍÓÐÁËstruct sock½á¹¹¡£ÎļþÖ÷ÒªÓУº/net/ipv4/protocol.c /net/ipv4/af_inet.c /net/core/sock.c etc
TCP/UDP²ã£º´¦Àí´«Êä²ãµÄ²Ù×÷£¬´«Êä²ãÓÃstruct inet_protocolºÍstruct protoÁ½¸ö½á¹¹±íʾ¡£ÎļþÖ÷Òª
ÓУº/net/ipv4/udp.c /net/ipv4/datagram.c /net/ipv4/tcp.c /net/ipv4/tcp_input.c /net/ipv4//tcp_output.c /net/ipv4/tcp_minisocks.c /net/ipv4/tcp_output.c /net/ipv4/tcp_timer.c
etc
IP²ã£º´¦ÀíÍøÂç²ãµÄ²Ù×÷£¬ÍøÂç²ãÓÃstruct packet_type½á¹¹±íʾ¡£ÎļþÖ÷ÒªÓУº/net/ipv4/ip_forward.c
ip_fragment.c ip_input.c ip_output.c etc.
Êý¾ÝÁ´Â·²ãºÍÇý¶¯³ÌÐò£ºÃ¿¸öÍøÂçÉ豸ÒÔstruct net_device±íʾ£¬Í¨ÓõĴ¦ÀíÔÚdev.cÖУ¬Çý¶¯³ÌÐò¶¼ÔÚ/driver/netÄ¿
¼Ï¡£
2. Á½Ì¨Ö÷»ú½¨Á¢udpͨÐÅËù×ß¹ýµÄº¯ÊýÁбí
^
| sys_read fs/read_write.c
| sock_read net/socket.c
| sock_recvmsg net/socket.c
| inet_recvmsg net/ipv4/af_inet.c
| udp_recvmsg net/ipv4/udp.c
| skb_recv_datagram net/core/datagram.c
| --------------
Ïà¹ØÎĵµ£º
ËäÈ»ÎÒÃÇϰ¹ßÓÚlinuxÏÂÃüÁîÐвÙ×÷,µ«Êǰ²×°Ä³Ð©Èí¼þ±ØÐëÊÇ»ùÓÚGUIÏÂÃæµÄ,Õâ¸öʱºò×ܲ»ÄÜÅܵ½»ú·¿È¥°²×°°É,µ«ÎÒÃÇ¿ÉÒÔʹÓÃXmanagerÈí¼þʵÏÖ¶Ôlinux½øÐÐÔ¶³Ì¿ØÖÆ.
µÚÒ»²½£¬ÎÒÃÇÔÚ
LINUX
ϵͳÏ£¬ÐÞ¸Ä
/etc/X11/xdm/Xaccess
Îļþ£¬ÕÒµ½ÏÂÃæÓï¾ä£º
# *# any host can get a login window
È¥µô×îÇ°ÃæµÄ
#
ºÅ ......
2009 Äê 10 ÔÂ 29 ÈÕ
±¾ÎÄÊÇ Unix/Linux ϵͳ¹ÜÀí×Ô¶¯»¯ÏµÁÐÖеÄһƪÎÄÕ£¬Ö÷Òª½éÉÜÁËÄÚ´æ¹ÜÀíËùÉæ¼°µÄÃüÁ²¢Í¨¹ý±àд×Ô¶¯»¯½Å±¾ÊµÏÖÁËÄÚ´æ¹ÜÀíÓë¼à¿ØµÄ×Ô¶¯»¯
ÄÚ´æÊÇ Unix/Linux ÄÚºËËù¹ÜÀíµÄ×îÎªÖØÒªµÄ×ÊÔ´Ö®Ò»£¬ÄÚ´æ¹ÜÀíÊÇϵͳ¹ÜÀíÖзdz£ÖØÒªÒ²ÊÇ×ÔӵĵIJ¿·Ö¡£ÏµÍ³¹ÜÀíÔ±ÐèÒªÕÆÎÕÄÚ´æ¹ÜÀíµÄ»ù±¾¹¤×÷ÔÀíÒÔ¼°Ê¹Óú ......
2009 Äê 7 ÔÂ 30 ÈÕ
±¾ÎÄÊÇ Unix/Linux ϵͳ¹ÜÀí×Ô¶¯»¯ÏµÁÐÖеÄһƪ£¬Ö÷Òª½²ÊöÈçºÎʵÏÖ×Ô¶¯»¯¼à¿Ø´ÅÅ̿ռä״̬²¢¼°Ê±Í¨ÖªÏµÍ³¹ÜÀíÔ±²ÉÈ¡ÏàÓ¦´ëÊ©¡£
ÔÚ Unix/Linux ϵͳµÄÈÕ³£¹ÜÀí¹¤×÷ÖУ¬ÏµÍ³¹ÜÀíÔ±¿ÉÄÜ»áÓöµ½Òò´ÅÅ̿ռäºÄ¾¡¶øµ¼Ö¶ªÊ§Êý¾Ý£¬»òÕßϵͳ±ÀÀ£µÈ¡£ÕâЩÑÏÖØµÄʹʼ«´óµÄÓ°ÏìÁ˹¤×÷ЧÂÊ¡£Òò´Ë£¬¹Ø×¢ÏµÍ³µÄ´ÅÅÌʹ ......
¹ØÓÚepollʹÓ÷½·¨£º
²ÎÕÕ£º http://linux.die.net/man/4/epoll
ʵÀý´úÂ룺£¨À´×ÔÍøÉÏijÂÛ̳£©
#include <pthread.h>
#include <stdio.h>
#include <sys/timeb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/epoll.h> ......
Ò»¡¢linuxµÄÉ豸Çý¶¯³ÌÐòÓëÍâ½çµÄ½Ó¿Ú¿ÉÒÔ·ÖΪÈý¸ö²¿·Ö£º
¡¡¡¡1£®Çý¶¯³ÌÐòÓë²Ù×÷ϵͳÄں˵Ľӿڡ£Í¨¹ýfile_operations(include/linux/fs.h)Êý¾Ý½á¹¹À´Íê³ÉµÄ¡£
¡¡¡¡2£®Çý¶¯³ÌÐòÓëϵͳÒýµ¼µÄ½Ó¿Ú¡£Õⲿ·ÖÀûÓÃÇý¶¯³ÌÐò¶ÔÉ豸½øÐгõʼ»¯¡£
¡¡¡¡3£®Çý¶¯³ÌÐòÓëÉ豸µÄ½Ó¿Ú¡£Õⲿ·ÖÃèÊöÁËÇý¶¯³ÌÐòÈçºÎÓëÉ豸½øÐн»»¥£¬Óë¾ßÌå ......