linuxÄں˵ÄһЩԤ¶¨Òå
ËùÓеÄÄں˴úÂ룬»ù±¾¶¼°üº¬ÁËlinux\compile.hÕâ¸öÎļþ£¬ËùÒÔËüÊÇ»ù´¡£¬´òËãÏÈ·ÖÎöÕâ¸öÎļþÀïµÄ´úÂë¿´¿´£¬ÓпÕÔÙ·ÖÎö·ÖÎöÆäËüµÄ´úÂë¡£
Ê×ÏÈÓ¡ÈëÑÛÁ±µÄÊǶÔ__ASSEMBLY__Õâ¸öºêµÄÅжϣ¬Õâ¸ö±äÁ¿Êµ¼ÊÊÇÔÚ±àÒë»ã±à´úÂëµÄʱºò£¬ÓɱàÒëÆ÷ʹÓÃ-DÕâÑùµÄ²ÎÊý¼Ó½øÈ¥ µÄ£¬AFLAGSÕâ¸ö±äÁ¿Ò²¶¨ÒåÁËÕâ¸ö±äÁ¿£¬gcc»á°ÑÕâ¸öºê¶¨ÒåΪ1¡£ÓÃÔÚÕâÀÊÇÒòΪ»ã±à´úÂëÀ²»»áÓõ½ÀàËÆÓÚ__userÕâÑùµÄÊôÐÔ£¨¹ØÓÚ __userÕâÑùµÄÊôÐÔÊÇÔõô»Ø×ÓÊ£¬±¾ÎĺóÃæ»áÌáµ½£©£¬ÒòΪÕâÑùµÄÊôÐÔÊÇÔÚ¶¨Ò庯ÊýµÄʱºò¼ÓµÄ£¬ÕâÑù±ÜÃâ²»±ØÒªµÄÔÚ±àÒë»ã±à´úÂëʱºòµÄÒýÓá£
½ÓÏÂÀ´ÊÇÒ»¸ö¶Ô__CHECKER__Õâ¸öºêµÄÅжϣ¬ÕâÀïÐèÒª½²µÄ¶«Î÷±È½Ï¶à¡£
µ± ±àÒëÄں˴úÂëµÄʱºò£¬Ê¹ÓÃmake C=1»òC=2µÄʱºò£¬»áµ÷ÓÃÒ»¸ö½ÐSparseµÄ¹¤¾ß£¬Õâ¸ö¹¤¾ß¶ÔÄں˴úÂë½øÐмì²é£¬Ôõô¼ì²éÄØ£¬¾ÍÊÇ¿¿¶ÔÄÇЩÉùÃ÷¹ýSparseÕâ¸ö¹¤¾ßËùÄÜʶ±ðµÄÌØ ÐÔµÄÄں˺¯Êý»òÊDZäÁ¿½øÐмì²é¡£ÔÚµ÷ÓÃSparseÕâ¸ö¹¤¾ßµÄͬʱ£¬ÔÚSparse´úÂëÀ»á¼ÓÉÏ#define __CHECKER__ 1µÄ×ÖÑù¡£»»¾ä»°Ëµ£¬¾ÍÊÇ£¬Èç¹ûʹÓÃSparse¶Ô´úÂë½øÐмì²é£¬ÄÇôÄں˴úÂë¾Í»á¶¨Òå__CHECKER__ºê£¬·ñÔò¾Í²»¶¨Òå¡£
ËùÒÔÕâÀï¾ÍÄÜ¿´³öÀ´£¬ÀàËÆÓÚ__attribute__((noderef, address_space(1)))ÕâÑùµÄÊôÐÔ¾ÍÊÇSparseÕâ¸ö¹¤¾ßËùÄÜʶ±ðµÄÁË¡£
ÄÇôÕâЩ¸öÊôÐÔÊǸÉʲôÓõÄÄØ£¬ÎÒÒ»¸ö¸ö×ö½éÉÜ¡£
Õâ ÑùµÄÊôÐÔ˵Ã÷£¬ÓÐÒ»²¿·ÖÔÚgccµÄÎĵµÀﻹûÓмӽøÈ¥£¬ÖÁÉÙÎÒÔÚgcc 4.3.2µÄÌØÐÔÀïûÓп´µ½£¬ÍøÉÏÓиçÃÇÎÊÀàËÆµÄÎÊÌ⣬Greg¶ÔËû½øÐÐÁ˽â´ð£¬È»ºóËû¶ÔGreg±§Ô¹ÎĵµµÄÊ£¬Greg¶ÔËû˵£¬ËûÓÐʱ¼ä±§Ô¹µÄ»°£¬»¹²» Èç×Ô¼ºÀ´¸üÐÂÎĵµ¡£Ëû²»ÄܶÔÒ»¸öÃâ·Ñ¹¤¾ßµÄÎĵµÓÐÈç´ËÖ®¸ßµÄÒªÇ󣬳ý·ÇËû¸¶·Ñ¡£
# define __user __attribute__((noderef, address_space(1)))
__userÕâ¸öÌØÐÔ£¬¼´__attribute__((noderef, address_space(1)))£¬ÊÇÓÃÀ´ÐÞÊÎÒ»¸ö±äÁ¿µÄ£¬Õâ¸ö±äÁ¿±ØÐëÊǷǽâ³ý²Î¿¼£¨no dereference£©µÄ£¬¼´Õâ¸ö±äÁ¿µØÖ·±ØÐëÊÇÓÐЧµÄ£¬¶øÇÒ±äÁ¿ËùÔڵĵØÖ·¿Õ¼ä±ØÐëÊÇ1£¬¼´Óû§³ÌÐò¿Õ¼äµÄ¡£
ÕâÀï°Ñ³ÌÐò¿Õ¼ä·Ö³ÉÁË3¸ö²¿·Ö£¬0±íʾnormal space£¬¼´ÆÕͨµØÖ·¿Õ¼ä£¬¶ÔÄں˴úÂëÀ´Ëµ£¬µ±È»¾ÍÊÇÄÚºË¿Õ¼äµØÖ·ÁË¡£1±íʾÓû§µØÖ·¿Õ¼ä£¬Õâ¸ö²»Óöི£¬»¹ÓÐÒ»¸ö2£¬±íʾÊÇÉ豸µØÖ·Ó³Éä¿Õ¼ä£¬ÀýÈçÓ²¼þÉ豸µÄ¼Ä´æÆ÷ÔÚÄÚºËÀïËùÓ³ÉäµÄµØÖ·¿Õ¼ä¡£
ËùÒÔÔÚÄں˺¯ÊýÀÓÐÒ»¸öcopy_to_userµÄº¯Êý£¬º¯ÊýµÄ²ÎÊý¶¨Òå¾ÍʹÓÃÁËÕâÖÖ·½Ê½¡£µ±È»£¬ÕâÖÖÌØÐÔ¼ì²é£¬Ö»Óе±»úÆ÷Éϰ²×°ÁËSparseÕâ¸ö¹¤¾ß£¬¶øÇÒ½øÐÐÁ˱àÒëµÄʱºòµ
Ïà¹ØÎĵµ£º
umask()º¯Êý£º´Ëº¯ÊýµÄÖ÷Òª×÷ÓÃÊÇÔÚ´´½¨ÎļþʱÉèÖûòÕ߯Á±ÎµôÎļþµÄһЩȨÏÞ¡£Ò»°ãÓëopen()º¯ÊýÅäºÏʹÓá£openº¯ÊýÔÐÍ£º
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open( const char * pathname, int flags);
int open( const char ......
ͨ¹ýʹÓà tr£¬Äú¿ÉÒԷdz£ÈÝÒ×µØÊµÏÖ sed µÄÐí¶à×î»ù±¾¹¦ÄÜ¡£Äú¿ÉÒÔ½« tr ¿´×÷Ϊ sed µÄ£¨¼«Æä£©¼ò»¯µÄ±äÌ壺Ëü¿ÉÒÔÓÃÒ»¸ö×Ö·ûÀ´Ìæ»»ÁíÒ»¸ö×Ö·û£¬»òÕß¿ÉÒÔÍêÈ«³ýȥһЩ×Ö·û¡£ÄúÒ²¿ÉÒÔÓÃËüÀ´³ýÈ¥ÖØ¸´×Ö·û¡£Õâ¾ÍÊÇËùÓÐ tr ËùÄܹ»×öµÄ¡£
trÓÃÀ´´Ó±ê×¼ÊäÈëÖÐͨ¹ýÌæ»»»òɾ³ý²Ù×÷½øÐÐ×Ö·ûת»»¡£trÖ÷ÒªÓÃÓÚɾ³ýÎļþÖÐ ......
1.ÔÚÐéÄâ»úÈí¼þ°²×°Ä¿Â¼ÖÐÌáÈ¡linux.isoÎļþ£¬ÓÃUltraISO.exeÈí¼þÌáÈ¡ÐéÄâ¹âÅÌ ÖеÄVMwareTools-6.0.2-59824.i386.rpmÎļþ£¬²¢´«Êäµ½linuxÐéÄâ»úÖУ¨ÓÃ·É ¸ë£©
2.ÔÚLinuxÐéÄâ»úÖа²×°VMwareTools-6.0.2-59824.i386.rpm³ÌÐò
3.Èí¼þĬÈϰ²×°ÔÚ/usr/binĿ¼ÏÂ
4.ÔÚÖÕ¶ËÖÐÊäÈë vmware-config-tools.pl£¨×¢Òâ¶ ......
ǰÑÔ£º±¾ÎÄ»·¾³»ùÓÚRHEL 5¡£
ÔÚÓÐÏ޵Ĵø¿íÌõ¼þÏ£¬ÎÒÃÇ×ÔÑÔÍùÍùÒª¶ÔÕ¼Óôø¿í¹ý´óµÄ³Ì¶ÈÏÞËÙ£¬ÀýÈ磬ֻÔÊÐíÆäÕ¼ÓÃ×î¸ß1MbpsµÄ´ø¿í£¬»òÕßʹÆäÏÂÔØËٶȲ»³¬¹ý200Kbps£¬µÈµÈ¡£Òò´Ë£¬ÎÒÃǾÍÐèÒªÁ÷Á¿¿ØÖÆ£¨Traffic Control£©¹¤¾ß¡£
ÎÒÔÚÍøÉÏÕÒÁËһϣ¬Á˽âÁ˼¸¸ö£ºtrickle£¬pyshaper£¬ÒÔ¼°LINUXÄÚºË×Ô´øµÄtc¡£
£¨1£©tr ......
vmlinux ±àÒë³öÀ´µÄ×îÔʼµÄÄÚºËÎļþ£¬Î´Ñ¹Ëõ¡£
zImage ÊÇvmlinux¾¹ýgzipѹËõºóµÄÎļþ¡£
bzImage bz±íʾ“big zImage”£¬²»ÊÇÓÃbzip2ѹËõµÄ¡£Á½ÕߵIJ»Í¬Ö®´¦ÔÚÓÚ£¬zImage½âѹËõÄں˵½µÍ¶ËÄÚ´æ(µÚÒ»¸ö640K)£¬bzImage½âѹËõÄں˵½¸ß¶ËÄÚ´æ(1MÒÔÉÏ)¡£Èç¹ûÄں˱ȽÏС£¬ÄÇô²ÉÓÃzImage»òbzI ......