Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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É豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

linux »ñÈ¡µ±Ç°³ÌÐò·¾¶

#include <stdio.h>
#include <unistd.h>
int main() {
char link[100], path[100];
sprintf(link, "/proc/%d/exe", getpid());
readlink(link, path, sizeof(path));
printf("%s\n.", path);
return 0;
} ......

LinuxÄÚºËÔ´Âë·ÖÎöÏà¹ØÎÊÌâµÄÎÄÕÂ

ÏÂÃæÊÇÄÚºËÔ´Âë·ÖÎö¹ý³ÌÖÐÓöµ½µÄÎÊÌâÏà¹ØÎÄÕµĽâÊÍ¡£
1. ¶Ôcontainer_ofµÄÀí½â
Õë¶ÔÄÚºËÖÐÓйØÓÚlistµÄÌØÊâʵÏÖ£¬ÔÚ±éÀúÁ´±í¸÷ÔªËØµÄʱºò£¬ÎªÁË»ñÈ¡Æä³ÉÔ±ÖµÓõ½ÁËcontainer_ofºê£¬ÉÏÃæÎļþÊǹØÓڸúêʵÏÖµÄÏêϸ½âÊÍ¡£
--------²»¶Ï¸üÐÂ------- ......

linux epollÓÃÓÚsocket¿ØÖÆ ´úÂëʵÀý

¹ØÓÚ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 GRUB ·½Ê½Çл»Æô¶¯¼¶±ð(runlevel)

    ÊÂÒòÐÞ¸ÄÁËij¸öÅäÖÃÎļþ£¬µ¼ÖÂϵͳÆô¶¯Ä³¸ö·þÎñµÄʱºòholdסÁË£¬ÏµÍ³Æô¶¯²»ÆðÀ´¡£ÕâÖÖÇé¿öϳ£³£Í¨¹ýÐ޸ıíÆô¶¯¼¶±ð£¬Çл»µ½·ÇxwindowģʽÏÂÖØÐÂÆô¶¯£¬Ò»°ãѡȡÆô¶¯¼¶±ðrunlevelΪ3¼´¿É¡£
²Î¿¼»·¾³£ºRedhat Enterprise Linux AS 4
²½Ö裺
1.µ±LinuxÆô¶¯Ê±£¬°´ e  ½øÈ¥²ÎÊýÑ¡Ôñ±à¼­½çÃæ£º
2.ÒÆ¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ