Linux ÐÂÔöϵͳµ÷ÓÃµÄÆôʾ
×î½üÔÚÑо¿ Linux Äں˵Äʱ¼ä×Óϵͳ£¬ÎªÏÂһƪ³¤ÎÄ¡¶·þÎñÆ÷³ÌÐòÖеÄÈÕÆÚÓëʱ¼ä¡·×ö×¼±¸£¬ÎÞÒâÖÐ×¢Òâµ½ÁË Linux ÐÂÔöµÄ¼¸¸öϵͳµ÷ÓõĶԱàд·þÎñÆ÷´úÂëµÄÓ°Ï죬ÏÈ´óּǼÔÚÕâÀï¡£ÕâÆª²©¿ÍÒ²¿ÉËã×÷ǰһƪ¡¶¶àÏ̷߳þÎñÆ÷µÄ³£Óñà³ÌÄ£ÐÍ¡·µÄÒ»¸ö×¢½Å¡£ 1. ·þÎñÆ÷³ÌÐòµÄ·ç¸ñ¿ÉÄÜÔÚ±ä еĴ´½¨ÎļþÃèÊö·ûµÄ syscall Ò»°ã¶¼Ö§³Ö¶îÍâµÄ flags ²ÎÊý£¬¿ÉÒÔÖ±½ÓÖ¸¶¨ O_NONBLOCK ºÍ FD_CLOEXEC£¬ÀýÈ磺 accept4 – 2.6.28 eventfd2 – 2.6.27 inotify_init1 – 2.6.27 pipe2 – 2.6.27 signalfd4 – 2.6.27 timerfd_create 2.6.25 ÒÔÉÏ 6 ¸ö syscalls£¬³ýÁË×îºóÒ»¸öÊÇй¦ÄÜ£¬ÆäÓàµÄ¶¼ÊÇÔöÇ¿ÔÓеĵ÷Ó㬰ÑÊý×ÖβºÅÈ¥µô¾ÍÊÇÔÀ´µÄ syscall¡£ O_NONBLOCK µÄ¹¦ÄÜÊÇ¿ªÆô¡°·Ç×èÈûIO¡±£¬¶øÎļþÃèÊö·ûĬÈÏÊÇ×èÈûµÄ¡£ ÕâЩ´´½¨ÎļþÃèÊö·ûµÄϵͳµ÷ÓÃÄÜÖ±½ÓÉ趨 O_NONBLOCK Ñ¡Ï»òÐíÄÜ·´Ó³µ±Ç° Linux £¨·þÎñ¶Ë£©¿ª·¢µÄ·çÏò£¬ÄǾÍÊÇÎÒÔÚǰһƪ²©¿Í¡¶¶àÏ̷߳þÎñÆ÷µÄ³£Óñà³ÌÄ£ÐÍ¡·ÀïÍÆ¼öµÄ one loop per thread + (non-blocking IO with IO multiplexing)¡£´ÓÕâЩÄں˸͝À´¿´£¬non-blocking IO ÒѾÖ÷Á÷µ½ÈÃÄÚºËÔö¼Ó syscall ÒÔ½Úʡһ´Î fcntl(2) µ÷Óõij̶ÈÁË¡£ ÁíÍ⣬ÒÔÏÂÐÂϵͳµ÷ÓÿÉÒÔÔÚ´´½¨ÎļþÃèÊö·ûʱ¿ªÆô FD_CLOEXEC Ñ¡Ï dup3 – 2.6.27 epoll_create1 – 2.6.27 FD_CLOEXEC µÄ¹¦ÄÜÊÇÈóÌÐò fork() ʱ£¬×Ó½ø³Ì»á×Ô¶¯¹Ø±ÕÕâ¸öÎļþÃèÊö·û£¨¼ûÏÂÃæµÄ¸üÕý£©¡£¶øÎļþÃèÊöĬÈÏÊDZ»×Ó½ø³Ì¼Ì³ÐµÄ£¨ÕâÊÇ´«Í³ Unix µÄÒ»ÖÖµäÐÍ IPC£¬±ÈÈçÓà pipe(2) ÔÚ¸¸×Ó½ø³Ì¼äµ¥ÏòͨÐÅ£©¡£ ÒÔÉÏ 8 ¸öРsyscalls ¶¼ÔÊÐíÖ±½ÓÖ¸¶¨ FD_CLOEXEC£¬»òÐí˵Ã÷ fork() µÄÖ÷ҪĿµÄÒѾ²»ÔÙÊÇ´´½¨ worker process ²¢Í¨¹ý¹²ÏíµÄÎļþÃèÊö·ûºÍ¸¸½ø³Ì±£³ÖͨÐÅ£¬¶øÊÇÏñ Windows µÄ CreateProcess ÄÇÑù´´½¨¡°¸É¾»¡±µÄ½ø³Ì£¬ÆäÓ븸½ø³ÌûÓжàÉٹϸ𡣠ÒÔÉÏÁ½¸ö flags ÔÚÎÒ¿´À´£¬ËµÃ÷ Linux ·þÎñÆ÷¿ª·¢µÄÖ÷Á÷Ä£ÐÍÕýÔÚÓÉ fork() + worker processes Ä£ÐÍת±äΪÎÒǰÎÄÍÆ¼öµÄ¶àÏß³ÌÄ£ÐÍ¡£fork() µÄʹÓÃÆµ¶È»á´ó´ó½µµÍ£¬½«À´»òÐíÖ»ÓÐרߺÔðÆô¶¯±ðµÄ½ø³ÌµÄ¡°¿´ÃŹ·³ÌÐò¡±²Å»áµ÷Óà fork()£¬¶øÒ»°ãµÄ·þÎñÆ÷³ÌÐò£¨´Ë´¦¡°·þÎñÆ÷³ÌÐò¡±µÄ¶¨Òå¼ûÎÒǰһƪÎÄÕ£©²»»áÔÙ fork() ³ö×Ó½ø³ÌÁË¡£ÔÒòÖ®Ò»ÊÇ£¬fork() Ò»°ã²»ÄÜÔÚ¶àÏ̳߳ÌÐòÖе÷Óã¬ÒòΪ Linux µÄ fork() Ö»¿Ë¡µ±Ç°Ïß³ÌµÄ thread of control£¬²»¿Ë¡ÆäËûÏ̡߳£Ò²¾ÍÊÇ˵²»ÄÜ
Ïà¹ØÎĵµ£º
Ö£ÑåÐË
(mlinux@163.com
)¹ú·À¿Æ´ó¼ÆËã»úѧԺ
2002 Äê 12 ÔÂ 11 ÈÕ
Ò»¸ö´óÐ͵ÄÓ¦ÓÃϵͳ£¬ÍùÍùÐèÒªÖÚ¶à½ø³ÌÐ×÷£¬½ø³Ì£¨Linux½ø³Ì¸ÅÄî¼û¸½1£©¼äͨÐŵÄÖØÒªÐÔÏÔ¶øÒ×¼û¡£±¾ÏµÁÐÎÄÕ²ûÊöÁË
Linux»·¾³Ïµļ¸ÖÖÖ÷Òª½ø³Ì¼äͨÐÅÊֶΣ¬²¢Õë¶Ôÿ¸öͨÐÅÊֶιؼü¼¼Êõ»·½Ú¸ø³öÏêϸʵÀý¡£Îª´ïµ½²ûÃ÷ÎÊÌâµÄÄ¿µÄ£¬±¾ÎÄ»¹¶ÔijЩͨР......
Ò»¸ö·Ç³£ÓÐÓõÄÃüÁÖ÷ÒªÓÃÀ´ÌáÈ¡¸÷ÖÖ¸÷ÑùµÄÊý¾Ý¡£
cut -cchars file
È磺
-c5 ÌáÈ¡µÚ5¸ö×Ö·û
-c5- ÌáÈ¡µÚ5¸ö×Ö·ûÒÔºóµÄ×Ö·û
-c1,5,12 ÌáÈ¡¶à¸ö×Ö·û£¬Ö ......
¼ÙÈçÉÏ´«´úÂëµ½SVNÉÏ£¬×î¼òµ¥µÄÒ»ÖÖ·½·¨¾ÍÊÇ£º½øÈë´úÂëĿ¼£¬È»ºó$svn import -m "New import" myqwcode http://192.168.0.222/svn/myqwcode¾Í¿ÉÒÔÁË£¬²»ÐèÒª½¨Á¢ÐÂĿ¼£¡
1¡¢½«Îļþcheckoutµ½±¾µØÄ¿Â¼
svn checkout path£¨pathÊÇ·þÎñÆ÷ÉϵÄĿ¼£©
ÀýÈ磺svn checkout svn://192.168.1.1/pro/domain
  ......
Ê×ÏÈÎҵIJÙ×÷ϵͳÊÇDebian Linux£¬ÎÒDebianÓõÄÊÇXfce×ÀÃæ»·¾³£¬×òÌìÎÒÓÃÁËÃüÁîapt-get install gnome,°²×°ÁËÒ»¶ÑÈí¼þÖ®ºóÖØÆô£¬¾Í½øÈë²»ÁËͼÐνçÃæÁË£¬Ö»ÄܽøÈë×Ö·û½çÃæ£¬½ñÌì¿ÉºÃÕÛÌÚÁË¡£
¡¡¡¡ÉÏÎçÔÚÍøÉϲé×ÊÁÏ£¬¿ÉÄÜ×ܽáÁ˼¸¸ö°É
¡¡¡¡1¡¢ÔÚ×Ö·û½çÃæÊäÈëÃüÁîstartx
¡¡¡¡2¡¢ÐÞ¸ÄinitµÄĬÈϼ¶£¬ËùÔÚÎļþµÄλÖÃ/etc/initt ......