linuxÇý¶¯±à³ÌºËÐÄÀíÂÛÖ®²¢·¢¿ØÖÆ
Çý¶¯±à³ÌºËÐÄÀíÂÛÖ®²¢·¢¿ØÖÆ
²¢·¢£¬¾¹Ì¬µÄÀí½â£ºÒ²¾ÍÊÇLinuxµÄ¶«Î÷ÔÚʱ¼äºÍ¿Õ¼ä±»Í¬Ê±Ê¹Óõ¼ÖµÄÎÊÌâ
LinuxϵͳÌṩµÄ½â¾ö·½°¸£º
ÖÐ¼ÌÆÁ±Î
Ô×Ó²Ù×÷
×ÔÐýËø
ÐźÅÁ¿
1,ÖÐ¶ÏÆÁ±Î
Ê×ÏÈÕâ¸öÒÀÀµÓÚCPU£¬CPUÒ»°ãÌṩÆÁ±ÎÖжϵĴò¿ªÖжϵŦÄÜ,ÖÐ¶ÏÆÁ±ÎʹµÃÖжϺͽø³ÌÖ®¼äµÄ²¢·¢
²»ÔÙ·¢Éú£¬Í¬Ê±½ø³Ìµ÷ÊÔÒ²ÒÀÀµÓÚÖжϣ¬ÄÚºËÇÀÕ¼µÄ½ø³Ì¼ä²¢·¢Ò²¾Í¿ÉÒÔ±ÜÃâ
ʹÓ÷½·¨
local_irq_disable()//ÆÁ±ÎÖжÏ
...
critical section()//ÁÙ½çÇø
...
local_irq_enable()//´ò¿ªÖжÏ
ÕâÖÖ·½·¨Ö»Äܽâ¾öµ¥¸öCPUµÄÎÊÌâ
×¢Òâ £º ³¤Ê±¼äÖÐ¶ÏÆÁ±ÎºÜΣÏÕ£¬±È½ÏÊʺϺÍ×ÔÐýËøÁªºÏʹÓÃ
local_irq_save(flags) ½ûÖ¹ÖжÏͬʱ±£´æÄ¿Ç°CPUµÄÖжÏÐÅϢλ
local_irq_restore(flags) ´ò¿ªÖжÏͬʱ»Ö¸´ÖжÏÐÅϢλ
µ×°ë²¿²Ù×÷
local_bh_disable()
local_bh_enable()
2,Ô×Ó²Ù×÷
Ô×Ó²Ù×÷ÊÇÖ¸ÔÚÖ´Ðйý³ÌÖв»»á±»µÄ´úÂë·¾¶ËùÖжϵIJÙ×÷¡£´ýÀí½â
·ÖΪÁ½À࣬Õë¶ÔλµÄ²Ù×÷ºÍÕûÐͱäÁ¿µÄ²Ù×÷
Õë¶ÔÕûÐͱäÁ¿µÄÔ×Ó²Ù×÷µÄÏà¹Øº¯Êý
void atomic_set(atomic_t *v, int i);//ÉèÖÃÔ×Ó±äÁ¿µÄֵΪi
atomic_t v = ATOMIC_INIT(0);//¶¨ÒåÔ×Ó±äÁ¿v²¢³õʼ»¯Îª0
atomic_read(atomic_t *v);//·µ»ØÔ×Ó±äÁ¿µÄÖµ
void atomic_add(int i, atomic_t *v);//Ô×Ó±äÁ¿Ôö¼Ói
void atomic_sub(int i, atomic_t *v);//Ô×Ó±äÁ¿¼õÉÙi
void atomic_inc(atomic_t *v);//Ô×Ó±äÁ¿×ÔÔö¼Ó1
void atomic_dec(atomic_t *v);//Ô×Ó±äÁ¿×Ô¼õÉÙ1
²Ù×÷²¢²âÊÔº¯Êý
int atomic_inc_and_test(atomic_t *v);
int atomic_dec
Ïà¹ØÎĵµ£º
»ù±¾¸ÅÄ
1> tty(ÖÕ¶ËÉ豸µÄͳ³Æ):
ttyÒ»´ÊÔ´ÓÚTeletypes£¬»òteletypewriters£¬ÔÀ´Ö¸µÄÊǵ紫´ò×Ö»ú£¬ÊÇͨ¹ý´®ÐÐÏßÓôòÓ¡»ú¼üÅÌͨ¹ýÔĶÁºÍ·¢ËÍÐÅÏ¢µÄ¶«Î÷£¬ºóÀ´Õâ¶«Î÷±»¼üÅ̺ÍÏÔʾÆ÷È¡´ú£¬ËùÒÔÏÖÔÚ½ÐÖն˱ȽϺÏÊÊ¡£
ÖÕ¶ËÊÇÒ»ÖÖ×Ö·ûÐÍÉ豸£¬ËûÓжàÖÖÀàÐÍ£¬Í¨³£Ê¹ÓÃttyÀ´¼ò³Æ¸÷ÖÖÀàÐ͵ÄÖÕ¶ËÉ豸¡£
2> pty£¨ÐéÄâÖ ......
Ò»¡¢
1¡¢±¸·Ý
ʹÓÃrootÕÊ»§±¸·Ý¡£
[root@fedora /]# tar -zcvpf
/backup/fedora10_backup/20090301backup.tar.gz / --exclude=misc
--exclude=sys --exclude=proc --exclude=data --exclude=home
--exclude=files --exclude=backup --exclude=tmp --exclude=var
tar -zcvpf &nbs ......
Ô´³ÌÐò±àÒë
MakefileµÄ±àд
³ÌÐò¿âµÄÁ´½Ó
³ÌÐòµÄµ÷ÊÔ
Í·ÎļþºÍϵͳÇóÖú
1.Ô´³ÌÐòµÄ±àÒë
ÔÚLinuxÏÂÃæ,Èç¹ûÒª±àÒëÒ»¸öCÓïÑÔÔ´³ÌÐò,ÎÒÃÇҪʹÓÃGNUµÄgcc±àÒëÆ÷. ÏÂÃæÎÒÃÇÒÔÒ»¸öʵÀýÀ´ËµÃ÷ÈçºÎʹÓÃgcc±àÒëÆ÷.
......