ÀíÂÛ²¿·Ö¿Î³Ì°²ÅÅ
µÚÒ»²¿·ÖIO½Ó¿Ú¸ß¼¶±à³Ì
ϵͳ¹¦Äܵ÷ÓýӿÚ
ÎÞ»º´æ·½Ê½I/O
open/close ,read/write
dup/dup2, fcntl/ioctl
±ê×¼I/O¿â½Ó¿Ú
»º´æ·½Ê½I/O
×Ö·ûÁ÷I/O£¬±ÈÌØÁ÷I/O
¸ñʽ»¯I/O
¸ß¼¶I/O
ÎÞ×èÈûI/O£¬¼Ç¼¼ÓËø
ÄÚ´æÓ³ÉäI/O
µÚ¶þ²¿·Ö ½ø³Ì¸ß¼¶±à³Ì
½ø³Ì¿ØÖÆ
½ø³Ì»·¾³
fork/vfork, wait/waitpid, exec
½ø³Ì¼äµÄ¹ØÏµ
½ø³Ì×飬»á»°(session)
Job¿ØÖÆ
ÐźÅ(signal)
ÐźŵĸÅÄî
Signal, kill/raise, alarm/pause, sigaction
µÚÈý²¿·Ö Ï̸߳߼¶±à³Ì
½ø³ÌÓëÏß³Ì
PosixÏß³Ì
Ï̵߳Ĵ´½¨Óë½áÊø
Pthread_create, pthread_join
¾ºÕùºÍÁÙ½çÇø¸ÅÄî
Ïß³Ìͬ²½
»¥³â,pthread_mutex_*
ÐźÅÁ¿ (semaphore), sem_*
Ìõ¼þ±äÁ¿ , pthread_cond_*
µÚËIJ¿·Ö IPC¸ß¼¶±à³Ì
Ï̼߳äͨÐÅÓë½ø³Ì¼äͨÐÅ
posix IPC ºÍ system V IPC
ÏûÏ¢´«µÝ
ÎÞÃû¹ÜµÀ(pipes)
ÓÐÃû¹ÜµÀ(fifos)
ÏûÏ¢¶ÓÁÐ(mg_*, mg*)
ͬ²½
»¥³â£¬ Ìõ¼þ±äÁ¿£¬ ÐźÅÁ¿
¹²ÏíÄÚ´æ
µÚÎ岿·Ö ÍøÂç»ù´¡³£Ê¶
ÍøÂç»ù±¾¸ÅÄî
·ÓɸÅÄî
TCP/IP¸÷¸ö²ã´ÎµÄÖ÷ÒªÐÒéºÍ¹¦ÄÜ
ÈçºÎ×¥°ü²¢·ÖÎöÄÚÈÝ
µÚÁù²¿·Ö ¿Í»§¶Ë/·þÎñÆ÷±à³Ì
¿Í»§¶ËÓë·þÎñÆ÷¸ÅÄî
×Ö½Ú˳ÐòÓëÍøÂç±à³Ì³£Óú¯Êý
htons,htonl,ntohs,ntohl,inet_aton inet_ntoa,inet_pton inet_ntopµÈ
socket¸ÅÄʹÓÃ
Bind,connect,listen,accept,recv,send
recvfrom,sendto,select,setsockoptionµÈ
µÚÆß²¿·ÖsocketÍøÂç¸ß¼¶±à³Ì
¼òµ¥µÄTCP C/S
Ìí¼Ó´íÎó´¦Àí
´¦ÀíSIGPIPEÐźÅ
ʹÓÃfork½øÐв¢·¢´¦Àí
ʹÓÃselect
µÚ°Ë²¿·ÖWeb·þÎñÆ÷±à³Ì
socket´¦Àí
httpÇëÇó´¦Àí
ÎļþÇëÇó´¦Àí
ʵÑ鲿·Ö¿Î³Ì°²ÅÅ
µÚÒ»²¿·ÖI/OʵÑé
open/close/read/write×ÛºÏʵÑé
fcntl/ioctl×ÛºÏʵÑé
selectÁ·Ï°
µÚ¶þ²¿·Ö ½ø³ÌʵÑé
fork/wait/exec×ÛºÏÁ·Ï°
mysh£º¼ò»¯ÊµÏÖµÄshell
myshÔöÇ¿£ºÖ§³ÅÖØ¶¨ÏòºÍ¹ÜµÀ
µÚÈý²¿·Ö Ïß³ÌʵÑé
Ô²ÖÜÂʵĽüËÆ¼ÆËã
Producer_consumerÎÊÌâ
¹Ü³ÌµÄC++ʵÏÖ
µÚËIJ¿·Ö IPCʵÑé
pipe/fifos×ÛºÏʵÑé
ÏûÏ¢¶ÓÁÐ
ÐźÅÁ¿
¹²ÏíÄÚ´æ
µÚÎ岿·Ö ÍøÂç±à³ÌʵÑé
C/S±à³Ì
1.ʵ¼ù´úÂ룬Ð޸ĴúÂë¡£
2.¶¯ÊÖд×Ô¼ºµÄ·þÎñÆ÷¡£
Web·þÎñÆ÷
3.web·þÎñÆ÷´úÂëʵ¼ù¡£
4.¶¯ÊÖÐÞ¸Äweb·þÎñÆ÷´úÂë¡£
µÚÁù²¿·Ö ÍøÂçÉ豸Çý¶¯³ÌÐò¿ª·¢
1.¡¡Íø¿¨É豸ÏÈÈÝ
¡ô ³£¼ûÍø¿¨
¡ô Íø¿¨Ð¾Æ¬ËùʵÏÖµÄÐÒé²ã¹¦ÄÜ
¡ô cs8900Íø¿¨Ð¾Æ¬Êֲᵼ¶Á
¡ô cs8900Íø¿¨Ó²¼þµç··ÖÎö
2. LinuxÍøÂçÇý¶¯½á¹¹
¡ô Linux TCPIPÍøÂç½á¹¹¸ÅÊö
¡ô LinuxÍøÂçÉ豸½á¹¹
¡ó ÍøÂçÉ豸µÄ×¢²á
¡ó net_device½á¹¹·ÖÎö
¡ó ÍøÂçÉ豸Çý¶¯µÄ·¢ËÍ,½ÓÊÕºÍÖжϴ¦Àí
3.¡¡Íø¿¨É豸ÏÈÈÝ
¡ô ³£¼ûÍø¿¨
¡ô Íø¿¨Ð¾Æ¬ËùʵÏÖµÄÐÒé²ã¹¦ÄÜ
¡ô cs8900Íø¿¨Ð¾Æ¬Êֲᵼ¶Á
¡ô cs8900Íø¿¨Ó²¼þµç··Ö
¡¾ÊµÑé¡¿
1.ʵÑéÒ»£ºifconfigµÈÃüÁîʵÑé
2.ʵÑé¶þ£º×Ö·ûÉ豸µÄÍø¿¨Çý¶¯ÊµÏÖ(ÉÏ)
3.ʵÑéÈý£º×Ö·ûÉ豸µÄÍø¿¨Çý¶¯ÊµÏÖ(ÏÂ)
4.ʵÑéËÄ£ºÇý¶¯µÄ²âÊÔ³ÌÐò±àдÔËÐÐ
µÚÆß²¿·Ö LinuxϵÄTCP/IPÐÒéÕ»--¶ÓÁв㣨Queuing Layer£©
1. »ù±¾Êý¾Ý½á¹¹ºÍ³õʼ»¯
¡ôsoftnet data
¡ôptype¼Ç¼±í
¡ô¶ÓÁвã³õʼ»¯
2. Êý¾Ý°üµÄ½ÓÊÕ
¡ôNAPI½Ó¿Ú
¡ônetif rx½Ó¿Ú
3. Êý¾Ý°üµÄ·¢ËÍ
¡ô¶ÓÁйæÔò£¨Queuing Discipline£©
¡ô·¢ËÍÁ÷³Ì. |