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

LinuxÉ豸Çý¶¯ÖеIJ¢·¢¿ØÖÆ

²¢·¢Ó뾺̬
½â¾ö¾ºÌ¬ÎÊÌâµÄ;¾¶ÊDZ£Ö¤¶Ô¹²Ïí×ÊÔ´µÄ»¥³â·ÃÎÊ¡£
·ÃÎʹ²Ïí×ÊÔ´µÄ´úÂëÇøÓò³ÆÎªÁÙ½çÇø£¬ÁÙ½çÇøÐèÒªÒÔijÖÖ»¥³â»úÖÆ¼ÓÒÔ±£»¤¡£ÖÐ¶ÏÆÁ±Î¡¢Ô­×Ó²Ù×÷¡¢×ÔÐýËøºÍÐźÅÁ¿µÈÊÇLinuxÉ豸Çý¶¯ÖпɲÉÓõĻ¥³â;¾¶¡£
ÖÐ¶ÏÆÁ±Î
ÖÐ¶ÏÆÁ±Î½«Ê¹µÃÖжÏÓë½ø³ÌÖ®¼äµÄ²¢·¢²»ÔÙ·¢Éú£¬¶øÇÒ£¬ÓÉÓÚLinuxÄں˵Ľø³Ìµ÷¶ÈµÈ²Ù×÷¶¼ÒÀÀµÖжÏÀ´ÊµÏÖ£¬ÄÚºËÇÀÕ¼½ø³ÌÖ®¼äµÄ²¢·¢Ò²¾ÍµÃÒÔ±ÜÃâÁË¡£µ«ÊÇ£¬ÐèҪעÒâÊǵÄÊdz¤Ê±¼äµÄÖжÏÊÇΣÏյģ¬ÓпÉÄܵ¼ÖÂÊý¾Ý¶ªÊ§»ò×Åϵͳ±ÀÀ£¡£
local_irq_disable()ºÍlocal_irq_enable()¶¼Ö»ÄܽûÖ¹ºÍʹÄܱ¾CPUÄÚµÄÖжϣ¬²»Äܽâ¾öSMP¶àCPUÒý·¢µÄ¾ºÌ¬¡£
local_irq_save(flags)³ýÁ˽øÐнûÖ¹ÖжϲÙ×÷ÒÔÍ⣬»¹±£´æÄ¿Ç°CPUµÄÖжÏλÐÅÏ¢£¬local_irq_restore(flags)½øÐÐÏà·´µÄ²Ù×÷¡£
Èç¹ûÖ»Ïë½ûÖ¹Öжϵĵװ벿£¬Ó¦Ê¹ÓÃlocal_bh_disable(),ʹÄܵװ벿ʹÓÃlocal_bh_enable()¡£
Ô­×Ó²Ù×÷
Ô­×Ó²Ù×÷Ö¸µÄÊÇÔÚÖ´Ðйý³ÌÖв»»á±»±ðµÄ´úÂë·¾¶ËùÖжϵIJÙ×÷¡£
LinuxÄÚºËÌṩÁËһϵÁк¯ÊýÀ´ÊµÏÖÄÚºËÖеÄÔ­×Ó²Ù×÷£¬ÕâЩº¯ÊýÓÖ·ÖΪÁ½À࣬·Ö±ðÕë¶ÔλºÍÕûÐͱäÁ¿½øÐÐÔ­×Ó²Ù×÷¡£
 ÕûÐÍÔ­×Ó²Ù×÷
 1. ÉèÖÃÖµ void atomic_set(atomic_t *v,int i); Atomic_t v = ATOMIC_INT(0);
2. »ñȡֵ atomic_read(atomic_t *v);
3. ¼Ó¼õ void atomic_add(int i,atomic_t *v); void atomic_sub(int i,atomic_t *v);
4. ×ÔÔö×Ô¼õ void atomic_inc(atomic_t *v); void atomic_dec(atomic_t *v);
5. ²Ù×÷²âÊÔ int atomic_inc_and_test(atomic_t *v); int atomic_dec_and_test(atomic_t *v); int atomic_sub_and_test(int i, atomic_t *v);
²Ù×÷ºó²âÊÔÆäÖµÊÇ·ñΪ0£¬Îª0·µ»Øtrue£¬·ñÔò·µ»Øfalse¡£
6. ²Ù×÷·µ»Øint atomic_inc_and_return(atomic_t *v); int atomic_dec_and_return(atomic_t *v); int atomic_sub_and_return(int i, atomic_t *v); int atomic_add_and_return(int i, atomic_t *v);
²Ù×÷ºó·µ»ØÐÂÖµ¡£
 Î»Ô­×Ó²Ù×÷
 1. ÉèÖÃλ void set_bit(nr,void *addr); ÉèÖÃaddrµØÖ·µÄµÚnr룬¼´½«Î»Ð´1¡£
2. Çå³ýλ void clear_bit(nr,void *addr); ½«Î»Ð´Îª0¡£
3. ¸Ä±äλ void change_bit(nr,void *addr); ½«Î»½øÐз´Öá£
4. ²âÊÔλtest_bit(nr,void *addr); ·µ»ØµÚnrλ¡£
5. ²âÊÔ²Ù×÷int test_and_set_bit(nr,void *addr); int test_and_clear_bit(nr,void *addr); int test_and_change_bit(nr,void *a


Ïà¹ØÎĵµ£º

LinuxÄÚºËÅäÖÃÎĵµ(make menuconfig)

Ò»¡¢ÒýÑÔ£º
    ±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾­Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾­Ñ飨Õâ¸ö»¹µ ......

Ó²Å̰²×°red hat linux 9.0

·ÖÏíÒ»ÏÂÎÒÔÚÍøÉÏ¿´µ½µÄÓ²Å̰²×°Linux 9.0µÄÏà¹Ø²Ù×÷£º
ÏÂÃæÓÐÁ½ÖÖ°²×°·½·¨.
<A>´Ódos°²×°.Õâ·½·¨¿ÉÒÔ²»ÓÃÈíÅÌ,±È½Ï·½±ã.
<A.1> µÃµ½dosutilsĿ¼
Õâ¸öĿ¼ÀïÓдÓdos°²×°ºÍÈíÅ̰²×°µÄ¹¤¾ß.Ò»°ã¶¼ÔÚµÚÒ»¸öisoÎļþÀï.
ÔÚlinuxÏ¿ÉÒÔÕâÑù×°ÔØisoÎļþ.
mount -o loop valhalla-i386-disc1.iso /mnt/cdro ......

times(2) Linux man page

Name
times - get process times
Synopsis
#include <sys/times.h>
clock_t times(struct tms *buf);
Description
times() stores the current process times in the
struct tms that buf points to. The struct tms is as defined
in <sys/times.h>
:
struct tms {
clock_t tms_utime; /* us ......

¡¶LinuxÐÔÄܼ°µ÷ÓÅÖ¸ÄÏ¡·£­£­£­£­1.1 Linux½ø³Ì¹ÜÀí

·­Ò룺·É¸ç (
http://hi.baidu.com/imlidapeng
)
°æÈ¨ËùÓУ¬×ðÖØËûÈËÀͶ¯³É¹û£¬×ªÔØÊ±Çë×¢Ã÷×÷ÕߺÍԭʼ³ö´¦¼°±¾ÉùÃ÷¡£
Ô­ÎÄÃû³Æ£º¡¶Linux Performance and Tuning Guidelines¡·
Ô­ÎĵØÖ·£ºhttp://www.redbooks.ibm.com/abstracts/redp4285.html
------------------------------------------------------------------- ......

GNU/Linux ¿ª·¢»·¾³ £¨2£©


¼ÌÐøÌ¸Ì¸ÆäËüÓïÑԵĿª·¢¡£
3.2) ¶¯Ì¬ÓïÑÔ
ÕâÀïÖ¸µÄÊǰüÀ¨½Å±¾ÓïÑÔ£¬½âÊÍÐÍÓïÑÔÔÚÄڵıà³ÌÓïÑÔ£¬ÀýÈçJava£¬Perl£¬Python£¬PHP£¬JavaScript£¬Ruby£¬Shell Script£¬µÈµÈ¡£
´Ó¿ª·¢»·¾³½Ç¶È¿´£¬¶¯Ì¬ÓïÑÔ¶¼ÓÐ×Ô¼ºµÄÔËÐл·¾³£¬¶øÇÒͨ³£¶¼ÊÇ¿çÆ½Ì¨µÄ¡£Òò´Ë£¬±àд´úÂ룬µ÷ÊÔÔËÐÐÔòÍêÈ«¿ÉÒÔÔÚ×Ô¼ºµÄ»·¾³ÖÐÍê³É£¬Ö»ÊÇ´ó¶àÊÇÃüÁîÐÐ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ