Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¸ßÊÖ½ø½×±Ø¶Á£ºLinuxÄں˵Äͬ²½»úÖÆ

http://www.jz123.cn/Article/13/155/2006/2006021915981.html
¸ßÊÖ½ø½×±Ø¶Á£ºLinuxÄں˵Äͬ²½»úÖÆ
±¾ÎÄÏêϸµÄ½éÉÜÁËLinuxÄÚºËÖеÄͬ²½»úÖÆ£ºÔ­×Ó²Ù×÷¡¢ÐźÅÁ¿¡¢¶ÁдÐźÅÁ¿ºÍ×ÔÐýËøµÄAPI£¬Ê¹ÓÃÒªÇóÒÔ¼°Ò»Ð©µäÐÍʾÀý
Ò»¡¢ÒýÑÔ
ÔÚÏÖ´ú²Ù×÷ϵͳÀͬһʱ¼ä¿ÉÄÜÓжà¸öÄÚºËÖ´ÐÐÁ÷ÔÚÖ´ÐУ¬Òò´ËÄÚºËÆäʵÏó¶à½ø³Ì¶àÏ̱߳à³ÌÒ»ÑùÒ²ÐèҪһЩͬ²½»úÖÆÀ´Í¬²½¸÷Ö´Ðе¥Ôª¶Ô¹²ÏíÊý¾ÝµÄ·ÃÎÊ¡£ÓÈÆäÊÇÔÚ¶à´¦ÀíÆ÷ϵͳÉÏ£¬¸üÐèҪһЩͬ²½»úÖÆÀ´Í¬²½²»Í¬´¦ÀíÆ÷ÉϵÄÖ´Ðе¥Ôª¶Ô¹²ÏíµÄÊý¾ÝµÄ·ÃÎÊ¡£
ÔÚÖ÷Á÷µÄLinuxÄÚºËÖаüº¬Á˼¸ºõËùÓÐÏÖ´úµÄ²Ù×÷ϵͳ¾ßÓеÄͬ²½»úÖÆ£¬ÕâЩͬ²½»úÖÆ°üÀ¨£ºÔ­×Ó²Ù×÷¡¢ÐźÅÁ¿£¨semaphore£©¡¢¶ÁдÐźÅÁ¿
£¨rw_semaphore£©¡¢spinlock¡¢BKL(Big Kernel
Lock)¡¢rwlock¡¢brlock£¨Ö»°üº¬ÔÚ2.4ÄÚºËÖУ©¡¢RCU£¨Ö»°üº¬ÔÚ2.6ÄÚºËÖУ©ºÍseqlock£¨Ö»°üº¬ÔÚ2.6ÄÚºËÖУ©¡£
¶þ¡¢Ô­×Ó²Ù×÷
Ëùνԭ×Ó²Ù×÷£¬¾ÍÊǸòÙ×÷¾ø²»»áÔÚÖ´ÐÐÍê±Ïǰ±»ÈÎºÎÆäËûÈÎÎñ»òʼþ´ò¶Ï£¬Ò²¾Í˵£¬ËüµÄ×îСµÄÖ´Ðе¥Î»£¬²»¿ÉÄÜÓбÈËü¸üСµÄÖ´Ðе¥Î»£¬Òò´ËÕâÀïµÄÔ­×Óʵ¼ÊÊÇʹÓÃÁËÎïÀíѧÀïµÄÎïÖÊ΢Á£µÄ¸ÅÄî¡£
Ô­×Ó²Ù×÷ÐèÒªÓ²¼þµÄÖ§³Ö£¬Òò´ËÊǼܹ¹Ïà¹ØµÄ£¬ÆäAPIºÍÔ­×ÓÀàÐ͵͍Òå¶¼¶¨ÒåÔÚÄÚºËÔ´ÂëÊ÷µÄinclude/asm/atomic.hÎļþÖУ¬ËüÃǶ¼Ê¹Óûã±àÓïÑÔʵÏÖ£¬ÒòΪCÓïÑÔ²¢²»ÄÜʵÏÖÕâÑùµÄ²Ù×÷¡£
Ô­×Ó²Ù×÷Ö÷ÒªÓÃÓÚʵÏÖ×ÊÔ´¼ÆÊý£¬ºÜ¶àÒýÓüÆÊý(refcnt)¾ÍÊÇͨ¹ýÔ­×Ó²Ù×÷ʵÏֵġ£Ô­×ÓÀàÐͶ¨ÒåÈçÏ£º
typedef struct { volatile int counter; } atomic_t;
volatileÐÞÊÎ×ֶθæËßgcc²»Òª¶Ô¸ÃÀàÐ͵ÄÊý¾Ý×öÓÅ»¯´¦Àí£¬¶ÔËüµÄ·ÃÎʶ¼ÊǶÔÄÚ´æµÄ·ÃÎÊ£¬¶ø²»ÊǶԼĴæÆ÷µÄ·ÃÎÊ¡£
Ô­×Ó²Ù×÷API°üÀ¨£º
atomic_read(atomic_t * v);
¸Ãº¯Êý¶ÔÔ­×ÓÀàÐ͵ıäÁ¿½øÐÐÔ­×Ó¶Á²Ù×÷£¬Ëü·µ»ØÔ­×ÓÀàÐ͵ıäÁ¿vµÄÖµ¡£
atomic_set(atomic_t * v, int i);
¸Ãº¯ÊýÉèÖÃÔ­×ÓÀàÐ͵ıäÁ¿vµÄֵΪi¡£
void atomic_add(int i, atomic_t *v);
¸Ãº¯Êý¸øÔ­×ÓÀàÐ͵ıäÁ¿vÔö¼ÓÖµi¡£
atomic_sub(int i, atomic_t *v);
¸Ãº¯Êý´ÓÔ­×ÓÀàÐ͵ıäÁ¿vÖмõÈ¥i¡£
int atomic_sub_and_test(int i, atomic_t *v);
¸Ãº¯Êý´ÓÔ­×ÓÀàÐ͵ıäÁ¿vÖмõÈ¥i£¬²¢ÅжϽá¹ûÊÇ·ñΪ0£¬Èç¹ûΪ0£¬·µ»ØÕ棬·ñÔò·µ»Ø¼Ù¡£
void atomic_inc(atomic_t *v);
¸Ãº¯Êý¶ÔÔ­×ÓÀàÐͱäÁ¿vÔ­×ÓµØÔö¼Ó1¡£
void atomic_dec(atomic_t *v);
¸Ãº¯Êý¶ÔÔ­×ÓÀàÐ͵ıäÁ¿vÔ­×ӵؼõ1¡£
int atomic_dec_and_test(atomic_t *v);
¸Ãº¯Êý¶ÔÔ­×ÓÀàÐ͵ıäÁ¿vÔ­×ӵؼõ1£¬²¢ÅжϽ


Ïà¹ØÎĵµ£º

Linux ÖÐ RPM ÃüÁî²ÎÊýʹÓÃÏê½â

ÔÚLinux²Ù×÷ϵͳÖУ¬ÓÐÒ»¸öϵͳÈí¼þ°ü£¬ËüµÄ¹¦ÄÜÀàËÆÓÚWindowsÀïÃæµÄ“Ìí¼Ó/ɾ³ý³ÌÐò”£¬µ«Êǹ¦ÄÜÓֱȓÌí¼Ó/ɾ³ý³ÌÐò”Ç¿ºÜ¶à£¬Ëü¾ÍÊÇRed Hat Package Manager(¼ò³ÆRPM)¡£´Ë¹¤¾ß°ü×îÏÈÊÇÓÉRed Hat¹«Ë¾ÍƳöµÄ£¬ºóÀ´±»ÆäËûLinux¿ª·¢ÉÌËù½èÓá£ÓÉÓÚËüΪLinuxʹÓÃÕßʡȥÁ˺ܶàʱ¼ä£¬ËùÒÔ±»¹ã·ºÓ¦ÓÃÓÚÔÚLin ......

Ôö¼ÓlinuxµÄswap¿Õ¼ä

ÔÚSWAP¿Õ¼ä²»¹»ÓõÄÇé¿öÏ£¬ÈçºÎÊÖ¹¤Ìí¼ÓSWAP¿Õ¼ä£¿ÒÔϵIJÙ×÷¶¼ÒªÔÚrootÓû§Ï½øÐУº
¡¡¡¡Ê×ÏÈÏȽ¨Á¢Ò»¸ö·ÖÇø£¬²ÉÓÃddÃüÁî±ÈÈç
¡¡¡¡dd if=/dev/zero of=/home/swap bs=1024 count=512000
¡¡¡¡ÕâÑù¾Í»á´´½¨/home/swapÕâôһ¸ö·ÖÇøÎļþ¡£ÎļþµÄ´óСÊÇ512000¸öblock£¬Ò»°ãÇé¿öÏÂ1¸öblockΪ1K£¬ËùÒÔÕâÀï¿Õ¼äÊÇ512M¡£½Ó×ÅÔ ......

Linux Ìæ»»ÃüÁî

¡¡¡¡vi/vim ÖпÉÒÔʹÓà :s ÃüÁîÀ´Ìæ»»×Ö·û´®¡£ÒÔǰֻ»áʹÓÃÒ»ÖÖ¸ñʽÀ´È«ÎÄÌæ»»£¬½ñÌì·¢ÏÖ¸ÃÃüÁîÓкܶàÖÖд·¨(vi ÕæÊÇÇ¿´ó°¡£¬»¹ÓкܶàÐèҪѧϰ)£¬¼Ç¼¼¸ÖÖÔÚ´Ë£¬·½±ãÒÔºó²éѯ¡£
¡¡¡¡:s/vivian/sky/ Ìæ»»µ±Ç°ÐеÚÒ»¸ö vivian Ϊ sky
¡¡¡¡:s/vivian/sky/g Ìæ»»µ±Ç°ÐÐËùÓÐ vivian Ϊ sky
¡¡¡¡:n,$s/vivian/sky/ Ìæ»»µÚ n ÐÐ ......

Linux x86 Dropbear SSH <= 0.34 remote root exploit

/*
* /*
* Linux x86 Dropbear SSH <= 0.34 remote root exploit
* coded by live
*
* You'll need a hacked ssh client to try this out. I included a patch
* to openssh-3.6.p1 somewhere below this comment.
*
* The point is: the buffer being exploited is too small(25 bytes) to hold our
......

linux³Ìʽ¶Î´íÎóµÄµ÷ÊÔ·½·¨

Ô­Ìû£ºhttp://www.sudu.cn/info/html/edu/20070101/286290.html
   ¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»ò¸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»
°ãÀ´Ëµ,¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌʽµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊǸö48λµÄ¼Ä´æÆ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ