ÔÚfcdµÄÏîÄ¿ÖУ¬Ê¹ÓÃvim×÷Ϊide¡£ÄÇôcscope¿ÉÒÔ°ïÖúvimÀ©Õ¹ÀàËÆÓÚº¯Êý¡¢¶ÔÏóµÄ²éÕÒ¡¢½»²æÒýÓòéѯµÈ¹¦ÄÜ¡£
ÃüÁîÐÐΪ£º
cscope -Rbkq
Éú³Éµ±Ç°Ä¿Â¼ÏÂcscope.outÎļþÐÅÏ¢£¬±£´æ×Ž»²æÒýÓõÄÐÅÏ¢¡£
vimÖУ¬cscoupʹÓãº
cs add cscope.out
È»ºó²éÕÒ£º
cs find s Òª²éÕÒµÄÃû³Æ
ÆäÖÐs´¦¿ÉÒÔÊÇ£º
0 »ò s: ²éÕÒ±¾ C ·ûºÅ
1 »ò g: ²éÕÒ±¾¶¨Òå
2 »ò d: ²éÕÒ±¾º¯Êýµ÷Óõĺ¯Êý
3 »ò c: ²éÕÒµ÷Óñ¾º¯ÊýµÄº¯Êý
4 »ò t: ²éÕÒ±¾×Ö·û´®
6 »ò e: ²éÕÒ±¾ egrep ģʽ
7 »ò f: ²éÕÒ±¾Îļþ
8 »ò i: ²éÕÒ°üº¬±¾ÎļþµÄÎļþ ......
linuxÖÐselect()º¯Êý·ÖÎö
SelectÔÚSocket±à³ÌÖл¹ÊDZȽÏÖØÒªµÄ£¬¿ÉÊǶÔÓÚ³õѧSocketµÄÈËÀ´Ëµ¶¼²»Ì«°®ÓÃSelectд³ÌÐò£¬ËûÃÇÖ»ÊÇϰ¹ßдÖîÈçconnect¡¢accept¡¢recv»òrecvfromÕâÑùµÄ×èÈû³ÌÐò£¨Ëùν×èÈû·½Ê½block£¬¹ËÃû˼Ò壬¾ÍÊǽø³Ì»òÊÇÏß³ÌÖ´Ðе½ÕâЩº¯Êýʱ±ØÐëµÈ´ýij¸öʼþµÄ·¢Éú£¬Èç¹ûʼþûÓз¢Éú£¬½ø³Ì»òÏ߳̾ͱ»×èÈû£¬º¯Êý²»ÄÜÁ¢¼´·µ»Ø£©¡£¿ÉÊÇʹÓÃSelect¾Í¿ÉÒÔÍê³É·Ç×èÈû£¨Ëùν·Ç×èÈû·½Ê½non-block£¬¾ÍÊǽø³Ì»òÏß³ÌÖ´Ðд˺¯Êýʱ²»±Ø·ÇÒªµÈ´ýʼþµÄ·¢Éú£¬Ò»µ©Ö´Ðп϶¨·µ»Ø£¬ÒÔ·µ»ØÖµµÄ²»Í¬À´·´Ó³º¯ÊýµÄÖ´ÐÐÇé¿ö£¬Èç¹ûʼþ·¢ÉúÔòÓë×èÈû·½Ê½Ïàͬ£¬ÈôʼþûÓз¢ÉúÔò·µ»ØÒ»¸ö´úÂëÀ´¸æÖªÊ¼þδ·¢Éú£¬¶ø½ø³Ì»òÏ̼߳ÌÐøÖ´ÐУ¬ËùÒÔЧÂʽϸߣ©·½Ê½¹¤×÷µÄ³ÌÐò£¬ËüÄܹ»¼àÊÓÎÒÃÇÐèÒª¼àÊÓµÄÎļþÃèÊö·ûµÄ±ä»¯Çé¿ö——¶Áд»òÊÇÒì³£¡£ÏÂÃæÏêϸ½éÉÜһϣ¡
SelectµÄº¯Êý¸ñʽ(ÎÒËù˵µÄÊÇUnixϵͳϵIJ®¿ËÀûsocket±à³Ì£¬ºÍwindowsϵÄÓÐÇø±ð£¬Ò»»á¶ù˵Ã÷)£º
int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout);
ÏÈ˵Ã÷Á½¸ö½á¹¹Ì壺
µÚÒ»£¬struct fd_set¿ÉÒÔÀí½âΪһ¸ö¼¯ºÏ£¬Õâ¸ö¼¯ºÏÖдæ·ÅµÄÊÇÎļþÃèÊö·û(filedescriptor)£ ......
ARM Linux¸ùÎļþϵͳ£¨Root Filesystem£©µÄÖÆ×÷
2008Äê01ÔÂ06ÈÕ ÐÇÆÚÈÕ 22:28
http://xianzilu.spaces.live.com/blog/fakehandlerpage.aspx?wa=wsignin1.0
http://xianzilu.spaces.live.com/blog/cns!4201FDC93932DDAF!290.entry
¹ØÓÚ¸ùÎļþϵͳµÄÖÆ×÷£¬ÍøÂçÉÏÓкܶàÎÄÕ£¬´ó¶àÊý¶¼Ö»½²µ½½¨¼¸¸öĿ¼£¬È»ºóÓÃBusybox×ö¸öShell£¬ÓÐºÜ¶à¹Ø¼üµÄ¶«Î÷ûÓÐ˵¡£¾¹ýºÜ³¤Ê±¼äµÄÃþÅÀ¹ö´ò£¬ÎÒÖÕÓÚÄܹ»°×ÊÖÆð¼Ò½¨Á¢Ò»¸ö¸ùÎļþϵͳÁË¡£ÆäʵÎÒÒ²²»¶®µÃÔÀí£¬Ö»ÊǸæËß´ó¼ÒÎÒµÄ×÷·¨£¬ÆäÖÐÒ²²»ÃâÓдíÎ󣬻¶Ó´ó¼ÒÖ¸Õý¡£
Ê×ÏȽéÉܸùÎļþϵͳµÄ×é³É£ºÄ¿Â¼¡¢Shell¡¢¿â¡¢½Å±¾£¬Ò»¸ö¸öÀ´¡£
Ŀ¼
¸ùÎļþϵͳҪ°üº¬ÕâЩ±ØÐëÓеÄĿ¼£º/dev¡¢/bin¡¢/usr¡¢/sbin¡¢/lib¡¢/etc¡¢/proc¡¢/sys
/devÊÇdevfs£¨É豸Îļþϵͳ£©»òÕßudevµÄ¹ÒÔÚµãËùÔÚ¡£ÔÚʹÓÃdevfsµÄÄÚºËÀïÈç¹ûûÓÐ/dev£¬¸ù±¾¼û²»µ½ShellÆô¶¯µÄÐÅÏ¢£¬ÒòΪÄÚºËÕÒ²»µ½/dev/console£»ÔÚʹÓÃudevµÄϵͳÀҲÊÂÏÈÐèÒªÔÚ/devϽ¨Á¢consoleºÍnullÕâÁ½¸ö½Úµã¡£¹ØÓÚdevfsºÍudevµÄÇø±ð£¬ÍøÉϺܶàÎÄÕÂ˵¡£µ±È»Èç¹ûÄãµÄÄÚºËÒѾ²»Ö§³ÖdevfsÁË£¨2.6.12ÒԺ󣩣¬¿ÉÒÔʹÓô¿´¿µÄ¾²Ì¬½Úµã¡£Ò²¾ÍÊÇÓÃmknodÈ˹¤Éú³É¡£
/bin¡¢/usr/bin¡¢/usr/sbin¡¢/sbi ......
LinuxÔÚϵͳÒýµ¼ÆÚ¼ä²éÕÒrootfs
×÷ΪһÃûLinux¹ÜÀíÔ±£¬Äú¿ÉÄÜ»áÔÚÔö¼ÓÍⲿ´æ´¢¾íÖ®ºó»òÕßÉõÖÁÔÚ°²×°Ð Linux ²Ù×÷ϵͳ֮ºó£¬³¢ÊÔÖØÐÂÆô¶¯·þÎñÆ÷ʱÓöµ½ÖîÈç cannot mount rootfs ºÍ kernel panic Ö®ÀàµÄ rootfs ´íÎó¡£±¾ÎĽ«¸ÅÒª½éÉÜ x86 ƽ̨É쵀 Linux Òýµ¼½ø³Ì£¬ÏÔʾ³öÏÖ´ËÎÊÌâµÄÔÒò£¬²¢Ìṩ±ÜÃâ»òÐÞÕý´ËÎÊÌâµÄËĸö¼¼ÇÉ¡£
ÎÊÌâ¸ÅÊö
¸ùÎļþϵͳ£¨ÔÚÑùÀý´íÎóÏûÏ¢ÖÐÃûΪ rootfs£©ÊÇ Linux µÄ×î»ù±¾µÄ×é¼þ¡£¸ùÎļþϵͳ°üº¬Ö§³ÖÍêÕûµÄ Linux ϵͳËùÐèµÄËùÓÐÄÚÈÝ¡£Ëü°üº¬ËùÓÐÓ¦ÓóÌÐò¡¢ÅäÖá¢É豸¡¢Êý¾ÝµÈ¡£Ã»ÓиùÎļþϵͳ£¬ÄúµÄ Linux ϵͳ½«ÎÞ·¨ÔËÐС£
ÔÚÖØÐÂÆô¶¯ÏµÍ³ºó£¬Äú¿ÉÄÜ»áÓöµ½ cannot mount rootfs ´íÎó£¨ÔÚ Linux Ö÷»úµÃµ½ kernel panic Ö®ºó£©¡£ÕâÖÖÎÊÌâ¾³£»áÔÚ´ÓÍⲿ´æ´¢ÖÐÔö¼ÓһЩ´æ´¢¾íÖ®ºó³öÏÖ£¬Ò²¿ÉÄÜ»áÔÚÍê³ÉÎļþ¸´ÖƲ¢ÐèÒªÖØÐÂÆô¶¯À´Íê³É°²×°Ê±³öÏÖ¡£
Èç¹û³öÏÖ´ËÎÊÌ⣬ÄúµÄϵͳ½«²»»áÖØÐÂÆô¶¯¡£Õï¶ÏºÍÐÞÕý´ËÎÊÌâ¶¼ÐèÒª»¨Ê±¼ä¡£±¾ÎĽéÉÜµÄ 4 ¸ö¼¼ÇÉÓ¦µ±¿ÉÒÔ°ïÖúÄú½â¾öÎÊÌâ²¢½Úʡʱ¼ä¡£
ÁíÒ»¸öÎÊÌâÊÇ Linux ÄÚºËÐèҪװÈë¸ùÎļþϵͳ£¬µ«ÊÇËüÕÒ²»µ½Ä¿±êÉ豸¡£»»ÑÔÖ®£¬¸ùÎļþϵͳûÓгöÏÖÔÚËüÓ¦¸ÃÔÚµÄλÖá£ÀýÈ磬Äú°Ñ Linux ¸ùÎļþϵͳ°²×°ÔÚ ......
linuxϵÄÎļþ½á¹¹£¬¿´¿´Ã¿¸öÎļþ¼Ð¶¼ÊǸÉÂðÓõÄ
/bin ¶þ½øÖÆ¿ÉÖ´ÐÐÃüÁî
/dev Éè±¸ÌØÊâÎļþ
/etc ϵͳ¹ÜÀíºÍÅäÖÃÎļþ
/etc/rc.d Æô¶¯µÄÅäÖÃÎļþºÍ½Å±¾
/home Óû§Ö÷Ŀ¼µÄ»ùµã£¬±ÈÈçÓû§userµÄÖ÷Ŀ¼¾ÍÊÇ/home/user£¬¿ÉÒÔÓÃ~user±íʾ
/lib ±ê×¼³ÌÐòÉè¼Æ¿â£¬Óֽж¯Ì¬Á´½Ó¹²Ïí¿â£¬×÷ÓÃÀàËÆwindowsÀïµÄ.dllÎļþ
/sbin ϵͳ¹ÜÀíÃüÁÕâÀï´æ·ÅµÄÊÇϵͳ¹ÜÀíԱʹÓõĹÜÀí³ÌÐò
/tmp ¹«ÓõÄÁÙʱÎļþ´æ´¢µã
/root ϵͳ¹ÜÀíÔ±µÄÖ÷Ŀ¼£¨ºÇºÇ£¬ÌØÈ¨½×¼¶£©
/mnt ϵͳÌṩÕâ¸öĿ¼ÊÇÈÃÓû§ÁÙʱ¹ÒÔØÆäËûµÄÎļþϵͳ¡£
/lost+found Õâ¸öĿ¼ƽʱÊǿյģ¬ÏµÍ³·ÇÕý³£¹Ø»ú¶øÁôÏ“Î޼ҿɹ锵ÄÎļþ£¨windowsϽÐʲô.chk£©¾ÍÔÚÕâÀï
/proc ÐéÄâµÄĿ¼£¬ÊÇϵͳÄÚ´æµÄÓ³Éä¡£¿ÉÖ±½Ó·ÃÎÊÕâ¸öĿ¼À´»ñȡϵͳÐÅÏ¢¡£
/var ijЩ´óÎļþµÄÒç³öÇø£¬±È·½Ëµ¸÷ÖÖ·þÎñµÄÈÕÖ¾Îļþ
/usr ×îÅÓ´óµÄĿ¼£¬ÒªÓõ½µÄÓ¦ÓóÌÐòºÍÎļþ¼¸ºõ¶¼ÔÚÕâ¸öĿ¼¡£ÆäÖаüº¬£º
/usr/x11r6 ´æ·Åx windowµÄĿ¼
/usr/bin ÖÚ¶àµÄÓ¦ÓóÌÐò
/usr/sbin ³¬¼¶Óû§µÄһЩ¹ÜÀí³ÌÐò
/usr/doc linuxÎĵµ
/usr/include linuxÏ¿ª·¢ºÍ±àÒëÓ¦ÓóÌÐòËùÐèÒªµÄÍ·Îļþ
/usr/lib ³£ÓõĶ¯Ì¬Á´½Ó¿âº ......
ÿһÖÖ²Ù×÷ϵͳ¶¼ÊÇÓɳÉǧÉÏÍò¸ö²»Í¬ÖÖÀàµÄÎļþËù×é³ÉµÄ¡£ÆäÖÐÓÐϵͳ±¾Éí×Ô´øµÄÎļþ£¬Óû§×Ô¼ºµÄÎļþ£¬»¹Óй²ÏíÎļþµÈµÈ¡£ÎÒÃÇÓÐʱºò¾³£Íü¼Çij·ÝÎļþ·ÅÔÚÓ²ÅÌÖеÄÄĸöµØ·½¡£ÔÚ΢ÈíµÄWINDOWS²Ù×÷ϵͳÖÐÒª²éÕÒÒ»·ÝÎļþÊÇÏ൱¼òµ¥µÄÊÂÇ飬ֻҪÔÚ×ÀÃæÉϵã»÷“¿ªÊ¼”£“ËÑË÷”ÖоÍÄܰ´ÕÕ¸÷ÖÖ·½Ê½ÔÚ±¾µØÓ²ÅÌÉÏ£¬¾ÖÓòÍøÂ磬ÉõÖÁÔÚINTERNETÉϲéÕÒ¸÷ÖÖÎļþ£¬Îĵµ¡£
¡¡¡¡¿ÉÊÇʹÓÃLinuxµÄÓû§¾ÍûÓÐÄÇôÐÒÔËÁË£¬ÔÚLinuxÉϲéÕÒij¸öÎļþȷʵÊÇÒ»¼þ±È½ÏÂé·³µÄÊÂÇé¡£±Ï¾¹ÔÚLinuxÖÐÐèÒªÎÒÃÇʹÓÃרÓõē²éÕÒ”ÃüÁîÀ´Ñ°ÕÒÔÚÓ²ÅÌÉϵÄÎļþ¡£LinuxϵÄÎļþ±í´ï¸ñʽ·Ç³£¸´ÔÓ£¬²»ÏóWINDOWS,DOS϶¼ÊÇͳһµÄAAAAAAA.BBB¸ñʽÄÇô·½±ã²éÕÒ£¬ÔÚWINDOWSÖУ¬Ö»ÒªÖªµÀÒª²éÕÒµÄÎļþµÄÎļþÃû»òÕߺó׺¾Í·Ç³£ÈÝÒײéÕÒµ½¡£LinuxÖвéÕÒÎļþµÄÃüÁîͨ³£Îª“find”ÃüÁ“find”ÃüÁîÄܰïÖúÎÒÃÇÔÚʹÓÃ,¹ÜÀíLinuxµÄÈÕ³£ÊÂÎñÖз½±ãµÄ²éÕÒ³öÎÒÃÇÐèÒªµÄÎļþ¡£¶ÔÓÚLinuxÐÂÊÖÀ´Ëµ£¬“find”ÃüÁîÒ²ÊÇÁ˽âºÍѧϰLinuxÎļþÌØµãµÄ·½·¨¡£ÒòΪLinux·¢Ðа汾·±¶à£¬°æ±¾Éý¼¶ºÜ¿ì£¬ÔÚLinuxÊé¼®ÉÏÍùÍùдÃ÷ij¸öÅäÖÃÎļþµÄËùÔÚλÖã¬ÍùÍùLinuxÐÂÊÖ°´Í¼Ë÷æ÷»¹ÊDz ......