µÚÊ®¶þÕ Îļþ¹ÜÀí¼°LinuxʵÏÖÎÊÓë´ð
µÚÊ®¶þÕ Îļþ¹ÜÀí¼°LinuxʵÏÖÎÊÓë´ð
12.1 ʲôÊÇÎļþ£¿Ëü°üº¬ÄÄЩÄÚÈÝ£¿ÓÐÊ²Ã´ÌØµã£¿
´ð£ºÎļþÊÇÐÅÏ¢µÄÒ»ÖÖ×éÖ¯ÐÎʽ£¬ÊÇ´æ´¢ÔÚÍâ´æÉϵľßÓбêʶÃûµÄÒ»×éÏà¹ØÐÅÏ¢¼¯ºÏ¡£Îļþ°üº¬µÄÄÚÈÝÓУºÔ´³ÌÐò¡¢¶þ½øÖÆ´úÂë¡¢Îı¾Îĵµ¡¢Êý¾Ý¡¢±í¸ñ¡¢ÉùÒôºÍͼÏóµÈ¡£
Îļþ¾ßÓеÄÌØµãÈçÏ£º
¢Ù Îļþ¾ßÓб£´æÐÔ£¬Ëü±»´æ´¢ÔÚijÖÖ´æ´¢½éÖÊÉÏ£¬³¤ÆÚ±£´æºÍ¶à´ÎʹÓá£
¢Ú ÎļþÊǰ´Ãû´æÈ¡µÄ£¬Ã¿¸öÎļþ¾ßÓÐΨһµÄ±êʶÃû£¬Í¨¹ý±êʶÃûÀ´´æÈ¡ÎļþÖеÄÐÅÏ¢£¬¶ø²»ÐèÒªÁ˽âÎļþÔÚ´æ´¢½éÖÊÉϵľßÌåÎïÀíλÖá£
¢Û ÎļþµÄÄÚÈÝÊÇÒ»×éÐÅÏ¢µÄ¼¯ºÏ£¬ÐÅÏ¢¿ÉÒÔÊÇÔ´´úÂë³ÌÐò¡¢¶þ½øÖÆ´úÂë¡¢ÎļþÎĵµ¡¢Êý¾Ý±í¸ñ¡¢ÉùÒôºÍͼÏóµÈ¡£
12.2ÎļþϵͳҪ½â¾öÄÄЩÎÊÌ⣿ÐéÄâÎļþϵͳҪ½â¾öÄÄЩÎÊÌ⣿
´ð£ºÎļþϵͳµÄÖ÷ҪĿ±êÊÇÌá¸ß´æ´¢¿Õ¼äµÄÀûÓÃÂÊ£¬ËüÒª½â¾öµÄÖ÷ÒªÎÊÌâÓУºÍê³ÉÎļþ´æ´¢¿Õ¼äµÄ¹ÜÀí£¬ÊµÏÖÎļþÃûµ½ÎïÀíµØÖ·µÄת»»£¬ÊµÏÖÎļþºÍĿ¼µÄ²Ù×÷£¬ÌṩÎļþ¹²ÏíÄÜÁ¦ºÍ°²È«´ëÊ©£¬ÌṩÓѺõÄÓû§½Ó¿Ú¡£ÎļþϵͳÏòÓû§ÌṩÁËÓйØÎļþºÍĿ¼²Ù×÷µÄ¸÷ÖÖ¹¦ÄܽӿںÍϵͳµ÷Óã¬ÈçÃüÁî½Ó¿Ú¡¢³ÌÐò½Ó¿ÚºÍ½»»¥½Ó¿ÚµÈ¡£
ÐéÄâÎļþϵͳµÄÖ÷Òª¹¦ÄÜÊÇ¿ÉÒÔʹ¶àÖÖ±¾µØµÄ»òÕßÔ¶³ÌµÄÎļþϵͳ¹²´æÓÚͬһ̨»úÆ÷ÉÏ¡£ËüµÄÖ÷ÒªÉè¼ÆÄ¿±êÊÇÄÚºËÀïÌṩһ¸ö¶ÔÎļþ½øÐзÃÎʺͲÙ×ݵĿò¼Ü£¬ÒÔ¼°ÔÚÄÚºËÓëʵÏÖרÃÅÎļþϵͳµÄÄ£¿éÖ®¼äÌṩһ¸öÑϸñ¶¨ÒåµÄ½Ó¿Ú¡£ÐéÄâÎļþϵͳÓм¸¸öÖØÒªµÄÉè¼ÆÄ¿±ê£º
¢Ù ¸ÃϵͳӦ¸Ãͬʱ֧³Ö¼¸ÖÖÎļþϵͳÀàÐÍ¡£ÆäÖаüÀ¨UNIXÎļþϵͳºÍ·ÇUNIXÎļþϵͳ¡£
¢Ú ²»Í¬µÄ´ÅÅÌ·ÖÇø¿ÉÒÔ°üº¬²»Í¬ÀàÐ͵ÄÎļþϵͳ¡£È»¶ø£¬Ò»µ©°²×°ÔÚÆäËûÎļþϵͳÉÏ£¬ËüÃÇÓ¦¸ÃºÍ´«Í³µÄµ¥Ò»ÎļþϵͳûÓÐÇø±ð¡£Óû§¶ÔÕû¸öÎļþϵͳµÄÊÓͼӦ¸ÃÒ»Ö£¬¶øÒâʶ²»µ½×ÓÊ÷ÔÚ´ÅÅ̽ṹÉϵIJî±ð¡£
¢Û Ó¦¸Ã¶Ôͨ¹ýÍøÂç¹²ÏíÎļþÌṩÍêÈ«µÄÖ§³Ö¡£·ÃÎÊÔ¶³Ì½ÚµãÉÏÎļþϵͳӦ¸ÃºÍ·ÃÎʱ¾µØ½ÚµãµÄÎļþϵͳÍêȫһÑù¡£
¢Ü ³§¼ÒÓ¦¸Ã¿ÉÒÔ¿ª·¢ËûÃÇ×Ô¼ºÐèÒªµÄÎļþϵͳ²¢ÇÒÒÔÄ£¿é·½Ê½¼ÓÈëµ½ÄÚºËÖÐÈ¥¡£
12.3Ϊʲôÿ¸ö½ø³Ì¶¼ÓÐÒ»¸öȱʡµÄÎļþ´´½¨ÑÚÂ룿Õâ¸öÑÚÂë´æ·ÅÔÚʲôµØ·½£¿
´ð£ºÄÚºËΪÿ¸ö½ø³ÌÉèÖõÄÒ»¸öȱʡµÄÎļþ´´½¨ÑÚÂ룬ÊÇÒ»¸öȨÏÞλÑÚÂ룬ÓÃÓÚΪ½ø³Ìд´½¨µÄÎļþÉèÖóõʼÎļþÐí¿ÉȨ¡£
Õâ¸öÑÚÂë´æ·ÅÔÚstruct fs_struct½á¹¹ÀàÐÍÖУ¬¸Ã½á¹¹µÄµØÖ·°üº¬ÔÚ½ø³Ì¿ØÖÆ¿éPCBµÄfs³ÉÔ±ÖС£¸Ã½á¹¹¶¨ÒåÈçÏ£º
struct fs_struct{
&nbs
Ïà¹ØÎĵµ£º
ǰÑÔ£º±¾ÎÄ»·¾³»ùÓÚRHEL 5¡£
ÔÚÓÐÏ޵Ĵø¿íÌõ¼þÏ£¬ÎÒÃÇ×ÔÑÔÍùÍùÒª¶ÔÕ¼Óôø¿í¹ý´óµÄ³Ì¶ÈÏÞËÙ£¬ÀýÈ磬ֻÔÊÐíÆäÕ¼ÓÃ×î¸ß1MbpsµÄ´ø¿í£¬»òÕßʹÆäÏÂÔØËٶȲ»³¬¹ý200Kbps£¬µÈµÈ¡£Òò´Ë£¬ÎÒÃǾÍÐèÒªÁ÷Á¿¿ØÖÆ£¨Traffic Control£©¹¤¾ß¡£
ÎÒÔÚÍøÉÏÕÒÁËһϣ¬Á˽âÁ˼¸¸ö£ºtrickle£¬pyshaper£¬ÒÔ¼°LINUXÄÚºË×Ô´øµÄtc¡£
£¨1£©tr ......
Ò»£®Ç°ÑÔ
¡¡¡¡LinuxÓµÓзḻ¸÷ÖÖÔ´´úÂë×ÊÔ´,µ«ÊǴ󲿷ִúÂëÔÚWindowsƽ̨Çé¿öÊÇÎÞ·¨Õý³£±àÒëµÄ¡£Windowsƽ̨¸ù±¾ÎÞ·¨Ö±½ÓÀûÓÃÕâЩԴ´úÂë×ÊÔ´¡£Èç¹ûÏëҪʹÓÃÍêÕûµÄ´úÂ룬¾ÍÒª×öÒÆÖ²¹¤×÷¡£ÒòΪC/C++ LibraryµÄ²»Í¬ºÍÆäËûµÄһЩÔÒò£¬ÒÆÖ²C/C++´úÂëÊÇÒ»ÏîÀ§ÄѵŤ×÷¡£±¾ÎĽ«ÒÔÒ»¸öʵ¼ÊµÄÀý×Ó£¨Tar£©À´ËµÃ÷ÈçºÎ°ÑLinux´úÂëÒÆÖ² ......
Book Note: Linux Device Driver Dos and Don'ts
http://janitor.kernelnewbies.org/docs/driver-howto.html
what a hardened (robust) device
driver should mean and how it should be implemented and measured.
1.3 Robust device drivers
-Follows the Linux CodingStyle.
-Efficient in managing faults and ha ......
2010-3-8
Ò»¡¢gccµ÷ÊÔ£º
Èç¹û±àÒëʱ£¬Ê¹ÓÃÏÂÃæµÄÖ¸Áî(Ôö¼ÓÁ˲ÎÊý-g)£¬¾Í»áÉú³É´øÔ´´úÂëµ÷ÊÔ·ûºÅµÄ¿ÉÖ´ÐÐÎļþ¡£±àÒëÐγɵĿÉÖ´ÐÐÎļþÓÐ7KB¡£Ö®ËùÒÔÔö¼ÓÁË2KB£¬¾ÍÊÇÒòΪÔö¼ÓµÄµ÷ÊÔ·ûºÅ¡£
gcc -o calc calcutlator.c -g
½øÒ»²½µØ£¬¾Í¿ÉÒÔÖ´ÐÐÏÂÃæµÄÖ¸ÁîÆô¶¯µ÷ÊÔ¹¤¾ß½øÈëµ÷ÊÔ»·¾³¶Ô³ÌÐò½øÐе÷ÊÔÁË¡£
gdb calc
ÔÚµ÷ÊÔ»·¾³Ï ......
££¿×½¨¾ü(Kongove.CN)
2008.11.12
Ê×ÏÈ£¬ÈÃÎÒÃÇÀ´¿´¼¸×éÁîÈËÕñ·ÜµÄÊý¾Ý¡£ÏÖÔÚ¶©ÔÄLinuxÄÚºËÓʼþÁбí[1]£¬Ã¿ÌìµÄÓʼþÁ÷Á¿´ó¸ÅÔÚ500·Ý×óÓÒ£»Ö´ÐÐ"grep "^P:"
MAINTAINERS |sort -u|wc
-l"£¬¶ÔÄÚºË×Óϵͳά»¤Õß½øÐÐͳ¼Æ£¬µÃµ½µÄ½á¹ûÊÇ534ÈË£»´Ó2007µ½2008Ä꣬ƽ¾ùÿÌìÓÐ4300ÐдúÂëÌí¼Óµ½Äںˣ¬ÓÐ180 ......