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

LinuxÉ豸Çý¶¯ÖеÄ×èÈûÓë·Ç×èÈûI/O

LinuxÉ豸Çý¶¯ÖеÄ×èÈûÓë·Ç×èÈûI/O
×èÈûÓë·Ç×èÈûI/O
×èÈû²Ù×÷ÊÇÖ¸ÔÚÖ´ÐÐÉ豸²Ù×÷ʱÈô²»ÄÜ»ñµÃ×ÊÔ´Ôò¹ÒÆð½ø³Ì£¬Ö±µ½Âú×ã¿É²Ù×÷µÄÌõ¼þºóÔÙ½øÐвÙ×÷¡£
ÒòΪ×èÈûµÄ½ø³Ì»á½øÈëÐÝÃß״̬£¬Òò´Ë£¬±ØÐëÈ·±£ÓÐÒ»¸öµØ·½Äܹ»»½ÐÑÐÝÃߵĽø³Ì¡£»½Ðѽø³ÌµÄµØ·½×î´ó¿ÉÄÜ·¢ÉúÔÚÖжÏÀïÃ棬ÒòΪӲ¼þ×ÊÔ´»ñµÃµÄͬʱÍùÍù°éËæ×ÅÒ»¸öÖжϡ£
 ×¢Ò⣺Çý¶¯³ÌÐòÐèÒªÌṩ×èÈû£¨µÈ´ý¶ÓÁУ¬Öжϣ©ºÍ·Ç×èÈû·½Ê½£¨ÂÖѯ£¬Ò첽֪ͨ£©·ÃÎÊÉ豸¡£
 ÐÝÃß(±»×èÈû)µÄ½ø³Ì´¦ÓÚÒ»¸öÌØÊâµÄ²»¿ÉÖ´ÐÐ״̬¡£Õâµã·Ç³£ÖØÒª£¬·ñÔò£¬Ã»ÓÐÕâÖÖÌØÊâ״̬µÄ»°£¬µ÷¶È³ÌÐò¾Í¿ÉÄÜÑ¡³öÒ»¸ö±¾²»Ô¸Òâ±»Ö´ÐеĽø³Ì£¬¸üÔã¸âµÄÊÇ£¬ÐÝÃ߾ͱØÐëÒÔÂÖѯµÄ·½Ê½ÊµÏÖÁË¡£½ø³ÌÐÝÃßÓи÷ÖÖÔ­Òò£¬µ«¿Ï¶¨¶¼ÊÇΪÁ˵ȴýһЩʼþ¡£Ê¼þ¿ÉÄÜÊÇÒ»¶Îʱ¼ä¡¢´ÓÎļþI/O¶Á¸ü¶àÊý¾Ý£¬»òÕßÊÇij¸öÓ²¼þʼþ¡£Ò»¸ö½ø³Ì»¹ÓпÉÄÜÔÚ³¢ÊÔ»ñµÃÒ»¸öÒѾ­Õ¼ÓõÄÄÚºËÐźÅÁ¿Ê±±»ÆȽøÈëÐÝÃß¡£ÐÝÃßµÄÒ»¸ö³£¼ûÔ­Òò¾ÍÊÇÎļþI/O -- Èç½ø³Ì¶ÔÒ»¸öÎļþÖ´ÐÐÁËread()²Ù×÷£¬¶øÕâÐèÒª´Ó´ÅÅÌÀï¶ÁÈ¡¡£»¹ÓУ¬½ø³ÌÔÚ»ñÈ¡¼üÅÌÊäÈëµÄʱºòÒ²ÐèÒªµÈ´ý¡£ÎÞÂÛÄÄÖÖÇé¿ö£¬Äں˵IJÙ×÷¶¼Ïàͬ:½ø³Ì°ÑËü×Ô¼º±ê¼Ç³ÉÐÝÃß״̬£¬°Ñ×Ô¼º´Ó¿ÉÖ´ÐжÓÁÐÒƳö£¬·ÅÈëµÈ´ý¶ÓÁУ¬È»ºóµ÷ÓÃschedule()Ñ¡ÔñºÍÖ´ÐÐÒ»¸öÆäËû½ø³Ì¡£»½ÐѵĽø³Ì¸ÕºÃÏà·´:½ø³Ì±»ÉèÖÃΪ¿ÉÖ´ÐÐ״̬£¬È»ºóÔٴӵȴý¶ÓÁÐÖÐÒƵ½¿ÉÖ´ÐжÓÁС£
  ÐÝÃßÓÐÁ½ÖÖÏà¹ØµÄ½ø³Ì״̬:TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE¡£ËüÃǵÄΩһÇø±ðÊÇ´¦ÓÚTASK_UNINTERRUPTIBLE״̬µÄ½ø³Ì»áºöÂÔÐźţ¬¶ø´¦ÓÚTASK_INTERRUPTIBLE״̬µÄ½ø³ÌÈç¹ûÊÕµ½ÐźŻᱻ»½ÐѲ¢´¦ÀíÐźÅ(È»ºóÔٴνøÈëµÈ´ý˯Ãß״̬)¡£Á½ÖÖ״̬µÄ½ø³ÌλÓÚͬһ¸öµÈ´ý¶ÓÁÐÉÏ£¬µÈ´ýijЩʼþ£¬²»Äܹ»ÔËÐС£

  ÐÝÃßͨ¹ýµÈ´ý¶ÓÁнøÐд¦Àí¡£µÈ´ý¶ÓÁÐÊÇÓɵȴýijЩʼþ·¢ÉúµÄ½ø³Ì×é³ÉµÄ¼òµ¥Á´±í¡£ÄÚºËÓÃwake_queue_head_tÀ´´ú±íµÈ´ý¶ÓÁС£µÈ´ý¶ÓÁпÉÒÔͨ¹ýDECLARE_WAITQUEUE()¾²Ì¬´´½¨£¬Ò²¿ÉÒÔÓÐinit_waitqueue_head()¶¯Ì¬´´½¨¡£½ø³Ì°Ñ×Ô¼º·ÅÈëµÈ´ý¶ÓÁÐÖв¢ÉèÖóɲ»¿ÉÖ´ÐÐ״̬¡£µÈÓëµÈ´ý¶ÓÁÐÏà¹ØµÄʼþ·¢ÉúµÄʱºò£¬¶ÓÁÐÉϵĽø³Ì»á±»»½ÐÑ¡£ÎªÁ˱ÜÃâ²úÉú¾ºÕùÌõ¼þ£¬ÐÝÃߺͻ½ÐѵÄʵÏÖ²»ÄÜÓÐç¢Â©¡£
 µÈ´ý¶ÓÁÐ
  ÔÚLinuxÇý¶¯³ÌÐòÖУ¬¿ÉÒÔʹÓõȴý¶ÓÁÐÀ´ÊµÏÖ×èÈû½ø³ÌµÄ»½ÐÑ¡£
 ½ø³Ìͨ¹ýÖ´ÐÐÏÂÃ漸²½½«×Ô¼º¼ÓÈëµ½Ò»¸öµÈ´ý¶ÓÁÐÖУº
µ±È»£¬Ê×ÏÈÊǶ¨ÒåµÈ´ý¶ÓÁÐÍ·£¬²¢³õʼ»¯£º
wait_queue_head_t wait;
init_waitqueue_he


Ïà¹ØÎĵµ£º

LinuxÏÂSocket±à³Ì


Ô­ÎĵØÖ·: http://www.kuqin.com/networkprog/20080512/8361.html
ʲôÊÇSocket
¡¡¡¡ Socket½Ó¿ÚÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àº¯Êý»òÀý³Ì£¬³ÌÐòÔ±¿ÉÒÔÓÃËüÃÇÀ´¿ª·¢TCP/IPÍøÂçÉϵÄÓ¦ÓóÌÐò¡£ÒªÑ§InternetÉϵÄTCP/IPÍøÂç±à³Ì£¬±ØÐëÀí½âSocket½Ó¿Ú¡£
¡¡ ¡¡ Socket½Ó¿ÚÉè¼ÆÕß×îÏÈÊǽ«½Ó¿Ú·ÅÔÚUnix²Ù×÷ϵͳ ......

linux¿ÚÁîÏà¹Ø£¨passwd/shadow£©

      ÔÚlinuxÖУ¬¿ÚÁîÎļþÔÚ/etc/passwdÖУ¬ÔçÆÚµÄÕâ¸öÎļþÖ±½Ó´æ·Å¼ÓÃܺóµÄÃÜÂ룬ǰÁ½Î»ÊÇ"ÑÎ"Öµ£¬ÊÇÒ»¸öËæ»úÊý£¬ºóÃæ¸úµÄÊǼÓÃܵÄÃÜÂ롣ΪÁË°²È«£¬ÏÖÔÚµÄlinux¶¼ÌṩÁË /etc/shadowÕâ¸öÓ°×ÓÎļþ£¬ÃÜÂë·ÅÔÚÕâ¸öÎļþÀïÃ棬²¢ÇÒÊÇÖ»ÓÐroot¿É¶ÁµÄ¡£
ÏÂÃæÀ´·ÖÎöÒ»ÏÂ/etc/passwdÎļþ£¬ËûµÄÿ¸öÌõÄ¿Ó ......

linux ѧϰ¹ý³Ì£¨1£©

                         linux»ù´¡ÖªÊ¶
General Public Licence  GPL
GNU ÏîÄ¿µÄc¿â£¬gcc£¬Emacs£¬bashµÈÒÆÖ²µ½linuxÄÚºË
linux°æ±¾ÓУºlinux   BSD unix    ......

LinuxÈí¼þ°²×°

               LinuxÈí¼þ°²×°
            ÔÚLinuxϵͳÖУ¬Èí¼þ°²×°³ÌÐò±È½Ï·×·±¸´ÔÓ£¬²»¹ý×î³£¼ûµÄÓÐÁ½ÖÖ£º
            1£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ