LinuxÉ豸Çý¶¯³ÌÐò ÓëÓ²¼þͨÐÅ18051101072
I/O ¶Ë¿ÚºÍ I/O ÄÚ´æ
ÿÖÖÍâÉè¶¼ÊÇͨ¹ý¶Áд¼Ä´æÆ÷À´½øÐпØÖÆ¡£
ÔÚÓ²¼þ²ã£¬ÄÚ´æÇøºÍ I/O ÇøÓòûÓиÅÄîÉϵÄÇø±ð: ËüÃǶ¼ÊÇͨ¹ýÏòÔÚµØÖ·×ÜÏߺͿØÖÆ×ÜÏß·¢³öµçƽÐźÅÀ´½øÐзÃÎÊ£¬ÔÙͨ¹ýÊý¾Ý×ÜÏß¶ÁдÊý¾Ý¡£
ÒòΪÍâÉèÒªÓëI\O×ÜÏ߯¥Å䣬¶ø´ó²¿·ÖÁ÷ÐÐµÄ I/O ×ÜÏßÊÇ»ùÓÚ¸öÈ˼ÆËã»úÄ£ÐÍ£¨Ö÷ÒªÊÇ x86 ¼Ò×壺ËüΪ¶ÁºÍд I/O ¶Ë¿ÚÌṩÁ˶ÀÁ¢µÄÏß·ºÍÌØÊâµÄ CPU Ö¸Á£¬ËùÒÔ¼´±ãÄÇЩûÓе¥¶ÀI/O ¶Ë¿ÚµØÖ·¿Õ¼äµÄ´¦ÀíÆ÷£¬ÔÚ·ÃÎÊÍâÉèʱҲҪģÄâ³É¶ÁдI\O¶Ë¿Ú¡£ÕâÒ»¹¦ÄÜͨ³£ÓÉÍâΧоƬ×飨PC ÖеÄÄϱ±ÇÅ£©»ò CPU Öеĸ½¼Óµç·ʵÏÖ£¨Ç¶ÈëʽÖеķ½·¨£© ¡£
Linux ÔÚËùÓеļÆËã»úƽ̨ÉÏʵÏÖÁË I/O ¶Ë¿Ú¡£µ«²»ÊÇËùÓеÄÉ豸¶¼½«¼Ä´æÆ÷Ó³Éäµ½
I/O ¶Ë¿Ú¡£ËäÈ»ISAÉ豸ÆÕ±éʹÓà I/O ¶Ë¿Ú£¬µ«´ó²¿·Ö PCI É豸Ôò°Ñ¼Ä´æÆ÷Ó³É䵽ij¸öÄÚ´æµØÖ·Çø£¬ÕâÖÖ I/O
ÄÚ´æ·½·¨Í¨³£ÊÇÊ×Ñ¡µÄ¡£ÒòΪËüÎÞÐèʹÓÃÌØÊâµÄ´¦ÀíÆ÷Ö¸ÁCPU
ºË·ÃÎÊÄÚ´æ¸üÓÐЧÂÊ£¬ÇÒ±àÒëÆ÷ÔÚ·ÃÎÊÄÚ´æÊ±ÔڼĴæÆ÷·ÖÅäºÍѰַģʽµÄÑ¡ÔñÉÏÓиü¶à×ÔÓÉ¡£
I/O ¼Ä´æÆ÷ºÍ³£¹æÄÚ´æ
ÔÚ½øÈëÕⲿ·ÖѧϰµÄʱºò£¬Ê×ÏÈÒªÀí½âÒ»¸ö¸ÅÄside
effect£¬ÊéÖÐÒëΪ±ß¼ÊЧӦ£¬µÚ¶þ°æÒëΪ¸±×÷Óá£ÎÒ¾õµÃ²»¹ÜËüÊÇÔõô±»·ÒëµÄ£¬¶¼²»¿ÉÄܾ«×¼±í´ïÔ×÷ÕßµÄÒâ˼£¬ËùÒÔÎÒ¸öÈËÈÏΪ¼Çסside
effect¾ÍºÃ¡£ÏÂÃæÀ´½²½²side effectµÄº¬Òå¡£ÎÒÏÈÌù³öÁ½¸öÍøÉÏÒÑÓеÄÁ½ÖÖ˵·¨£¨ÔÚÕâÀïллÁ½Î»¸ßÈ˵ķÖÏí£©£º
µÚÒ»ÖÖ˵·¨£º
3. side effect£¨ÒëΪ±ß¼ÊЧӦ»ò¸±×÷Óã©£ºÊÇÖ¸¶Áȡij¸öµØÖ·Ê±¿ÉÄܵ¼Ö¸õØÖ·ÄÚÈÝ·¢Éú±ä»¯£¬±ÈÈ磬ÓÐЩÉ豸µÄÖжÏ״̬¼Ä´æÆ÷Ö»ÒªÒ»¶ÁÈ¡£¬±ã×Ô¶¯ÇåÁã¡£I/O¼Ä´æÆ÷µÄ²Ù×÷¾ßÓÐside effect£¬Òò´Ë£¬²»ÄÜ¶ÔÆä²Ù×÷²»ÄÜʹÓÃcpu»º´æ¡£
ÔÎÄÍøÖ·£º
http://qinbh.blog.sohu.com/62733495.html
µÚ¶þÖÖ˵·¨£º
˵һÏÂÎÒµÄÀí½â£ºI/O¶Ë¿ÚÓëʵ¼ÊÍⲿÉ豸Ïà¹ØÁª£¬Í¨¹ý·ÃÎÊI/O¶Ë¿Ú¿ØÖÆÍⲿÉ豸£¬“±ß¼ÊЧӦ”ÊÇÖ¸¿ØÖÆÉ豸£¨¶ÁÈ¡»òдÈ룩ÉúЧ£¬·ÃÎÊI/O¿ÚµÄ
Ö÷ҪĿµÄ¾ÍÊDZ߼ÊЧӦ£¬²»Ïñ·ÃÎÊÆÕͨµÄÄڴ棬ֻÊÇÔÚÒ»¸öλÖô洢»ò¶Áȡһ¸öÊýÖµ£¬Ã»ÓбðµÄº¬ÒåÁË¡£ÎÒÊÇ»ùÓÚARMƽ̨Àí½âµÄ£¬ÔÚ¡¶linuxÉ豸Çý¶¯³Ì
Ðò¡·µÚ¶þ°æÖеÄ˵·¨ÊÇ“¸±×÷ÓÔ£¬²»ÊÇ“±ß¼ÊЧӦ”¡£
ÔÎÄÍøÖ·£º
http://linux.chinaunix.net/bbs/viewthread.php?tid=890636&page=1#pid6312646
½áºÏÒÔÉÏÁ½ÖÖ˵·¨ºÍ×Ô¼º¿´¡¶LinuxÉ豸Çý¶¯³ÌÐò£¨µÚ3°æ£©¡·µÄÀí½â£¬ÎÒ¸öÈËÈÏΪ¿ÉÒÔÕâÑù½âÊÍ£º
side effect
ÊÇÖ¸£º·ÃÎÊI/O¼Ä´æÆ÷ʱ£¬²»½ö½ö»áÏñ·ÃÎÊÆÕͨÄ
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
At first you have to open a terminal/bash and then enter:
file /path/file.bin
for example file /home/user/file.bin (file is the command)
Now you should see a sentence including the word “executable” and not “non-executable, not executable,… or something completely differ ......
ѧϰLinux¶à½ø³Ì±à³Ì
Ò»¡¢½ø³ÌµÄ¶¨Ò壺³ÌÐòÖ´ÐкÍ×ÊÔ´¹ÜÀíµÄ×îСµ¥Î»¡£
¶þ¡¢½ø³Ì¿ØÖÆ£º
£¨1£©½ø³Ì±êʶ£º ½ø³Ì±êʶ ×Ó½ø³ÌºÅ ¸¸½ø³ÌºÅ
Í·Îļþ #include<unistd.h> #include<unistd.h>
º¯Êý¹¦ÄÜ È¡µÃµ±Ç°½ø³ÌµÄ½ø³ÌºÅ È¡µÃµ±Ç°½ø³ÌµÄ¸¸½ø³ÌºÅ
º¯ ......
Ò»¡¢LINUXµÄ½ø³Ì״̬ ½©ËÀ̬£ºµ±¸¸½ø³Ì»¹Ã»ÓнáÊøÇ°£¬×Ó½ø³Ì¾ÍÒѾÏȽáÊøÁË£¬Õâʱ×Ó½ø³ÌµÄ×ÊԴûÓÐÈËÀ´»ØÊÕ¡£Í¨³£¸¸½ø³ÌÐèÒªÓÃwaitÀ´µÈ´ý×Ó½ø³ÌµÄ½áÊø¡£
½ø³ÌµÄģʽ£ºÓû§Ä£Ê½(Ö´ÐÐÓû§³ÌÐò)£¬ÄÚºËģʽ(Ö´ÐвÙ×÷ϵͳ´úÂë)
½ø³ÌµÄÀàÐÍ£ºÏµÍ³½ø³Ì£¬Óû§½ø³Ì ¶þ¡¢½ø³Ì¹ÜÀí ¢Ùforkº¯Êý
¹¦ÄÜ£º´´½¨Ò»¸öÈ«Ð嵀 ......
ACE¿âÖÐרÃŶÔÏß³Ìͬ²½ÌṩÁËÁ½¸öÀ࣬һ¸öÊÇACE_Thread_MutexÁíÒ»¸öÊÇACE_REcursive_Thread_Mutex¡£ ÔÚÎÒ¿´ À´£¬ÔÚlinuxϽøÐÐÏß³Ìͬ²½£¬²»ÒªÊ¹ÓÃACE_Thread_Mutex£¬ÓÃACE_REcursive_Thread_Mutex¾Í¿ÉÒÔÁË¡£ÔÒòºÜ ¼òµ¥£¬ÒòΪACE_Thread_Mutex²»Ö§³ÖÏß³ÌÖØÈë¡£Ò»µ©ÖØÈë(ͬһ¸öÏ̵߳÷ÓÃÁ½´ÎACE_Thread_Mutex: ......