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ÏÂһЩ³£ÓõĹػú/ÖØÆôÃüÁîÓÐshutdown¡¢halt¡¢reboot¡¢¼°init£¬ËüÃǶ¼
¡¡¡¡¿ÉÒÔ´ïµ½ÖØÆôϵͳµÄÄ¿µÄ£¬µ«Ã¿¸öÃüÁîµÄÄÚ²¿¹¤×÷¹ý³ÌÊDz»Í¬µÄ£¬Í¨¹ý±¾ÎĵĽéÉÜ£¬Ï£
¡¡¡¡ÍûÄã¿ÉÒÔ¸ü¼ÓÁé»îµÄÔËÓø÷ÖֹػúÃüÁî¡£
¡¡¡¡1.shutdown
¡¡¡¡shutdownÃüÁȫµØ½«ÏµÍ³¹Ø»ú¡£ ÓÐЩÓû§»áʹÓÃÖ±½Ó¶ÏµôµçÔ´µÄ·½Ê½À´¹Ø±Õlinux£¬
¡¡¡¡ ......
Ê×ÏÈÔÚLinuxÉÏ´´½¨Ò»¸ö¹²ÏíÎļþ¼Ð
mkdir /home/user/share
ÓÃrootÓû§Æô¶¯samba·þÎñ
service smb start
ÐÞ¸Äsmb.confÎļþ
sudo gedit /etc/samba/smb.conf »òÕß vi /etc/samba/smb.conf
[share]
path = /home/user/share
...
writable = yes
´´½¨¹²ÏíÓû§²¢ÉèÖÃÃÜÂë
sudo useradd smbusr
sudo smbpasswd -a s ......
linux½âѹ tarÃüÁî
tarÃüÁî
tar [-cxtzjvfpPN] ÎļþÓëĿ¼ ....
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x
£º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
-t £º²é¿´ tarfile ÀïÃæµÄÎļþ£¡
ÌØ±ð×¢Ò⣬ÔÚ²ÎÊýµÄÏ´ïÖУ¬ c/x/t ½öÄÜ´æÔÚÒ»¸ö£¡²»¿Éͬʱ´æÔÚ£¡
ÒòΪ²»¿ÉÄÜͬʱѹËõÓë½âѹËõ¡£
-z £ºÊ ......
LinuxÈí¼þ°²×°
ÔÚLinuxϵͳÖУ¬Èí¼þ°²×°³ÌÐò±È½Ï·×·±¸´ÔÓ£¬²»¹ý×î³£¼ûµÄÓÐÁ½ÖÖ£º
1£ ......