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

linux¶àÏß³Ìѧϰ(ËÄ)——ÐźÅÁ¿Ï߳̿ØÖÆ

 ÔÚÉÏһƪÎÄÕÂÖУ¬½²ÊöÁËÏß³ÌÖл¥³âËøµÄʹÓ㬴ﵽ¶Ô¹²Ïí×ÊÔ´»¥³âʹÓᣳýÁËʹÓû¥³âËø£¬ÐźÅÁ¿£¬Ò²¾ÍÊDzÙ×÷ϵͳÖÐËùÌáµ½µÄPVÔ­ÓÄÜ´ïµ½»¥³âºÍͬ²½µÄЧ¹û£¬Õâ¾ÍÊǽñÌìÎÒÃÇËùÒª½²ÊöµÄÐźÅÁ¿Ï߳̿ØÖÆ¡£
PVÔ­ÓïÊǶÔÕûÊý¼ÆÊýÆ÷ÐźÅÁ¿semµÄ²Ù×÷£¬Ò»´ÎP²Ù×÷¿Éʹsem¼õÒ»£¬¶øÒ»´ÎV²Ù×÷¿ÉÊÇsem¼ÓÒ»¡£½ø³Ì£¨»òỊ̈߳©¸ù¾ÝÐźÅÁ¿µÄÖµÀ´ÅжÏÊÇ·ñ¶Ô¹«¹²×ÊÔ´¾ßÓзÃÎÊȨÏÞ¡£µ±ÐźÅÁ¿µÄÖµ´óÓÚÁã»òµÈÓÚÁãµÄʱºò£¬¸Ã½ø³Ì£¨»òỊ̈߳©¾ßÓжԹ«¹²×ÊÔ´·ÃÎʵÄȨÏÞ£¬·ñÔò£¬µ±ÐźÅÁ¿µÄֵСÓÚʱ£¬¸Ã½ø³Ì£¨»òỊ̈߳©¾Í»á±»×èÈû£¬Ö±µ½ÐźÅÁ¿µÄÖµ´óÓÚ»òµÈÓÚÒ»¡£
1¡¢ÔÚLINUXÖУ¬ÊµÏÖÁËPOSIXµÄÎÞÃûÐźÅÁ¿£¬Ö÷ÒªÓÃÓÚÏ̼߳äµÄ»¥³âͬ²½£¬ÏÂÃ潫¼òµ¥½éÉÜһЩº¯Êý½Ó¿Ú£º
£¨1£©¡¢sem_init
¹¦ÄÜ£º         ÓÃÓÚ´´½¨Ò»¸öÐźÅÁ¿£¬²¢³õʼ»¯ÐźÅÁ¿µÄÖµ¡£
Í·Îļþ£º       <semaphore.h>
º¯ÊýÔ­ÐÍ£º     int sem_init (sem_t* sem, int pshared, unsigned int value);
º¯Êý´«ÈëÖµ£º   sem:ÐźÅÁ¿¡£
                   pshared:¾ö¶¨ÐźÅÁ¿ÄÜ·ñÔÚ¼¸¸ö½ø³Ì¼ä¹²Ïí¡£ÓÉÓÚÄ¿Ç°LINUX»¹Ã»ÓÐʵÏÖ½ø
                               ³Ì¼ä¹²ÏíÐÅÏ¢Á¿£¬ËùÒÔÕâ¸öÖµÖ»ÄÜÈ¡0¡£
º¯Êý·µ»ØÖµ£º   0£º³É¹¦¡£
                   -1£ºÊ§°Ü¡£
£¨2£©ÆäËûº¯Êý¡£
int sem_wait       (sem_t* sem);
int sem_trywait   (sem_t* sem);
int sem_post       (sem_t* sem);
int sem_getvalue (sem_t* sem);
int sem_destroy   (sem_t* sem);
¹¦ÄÜ£ºsem_waitºÍsem_trywaitÏ൱ÓÚP²Ù×÷£¬ËüÃǶ¼Äܽ«ÐźÅÁ¿µÄÖµ¼õÒ»£¬Á½ÕßµÄÇø±ðÔÚ
        ÓÚÈôÐźÅÁ¿µÄֵСÓÚÁãʱ£¬sem_wait½«»á×èÈû½ø³Ì£¬¶øsem_trywaitÔò»áÁ¢¼´·µ»Ø¡£
        sem_postÏ൱ÓÚV²Ù×÷£¬Ëü½«ÐźÅÁ¿µÄÖµ¼


Ïà¹ØÎĵµ£º

linux ½âѹÓë´ò°ü

 .tar
½â°ü£º tar xvf FileName.tar
´ò°ü£ºtar cvf FileName.tar DirName
£¨×¢£ºtarÊÇ´ò°ü£¬²»ÊÇѹËõ£¡£©
---------------------------------------------
.gz
½âѹ1£ºgunzip FileName.gz
½âѹ2£ºgzip -d FileName.gz
ѹËõ£ºgzip FileName
.tar.gz
½âѹ£ºtar zxvf FileName.tar.gz
ѹËõ£ºtar zcvf FileName ......

Linux mmap

LinuxÌṩÁËÄÚ´æÓ³É亯Êýmmap, Ëü°ÑÎļþÄÚÈÝÓ³Éäµ½Ò»¶ÎÄÚ´æÉÏ(׼ȷ˵ÊÇÐéÄâÄÚ´æÉÏ), ͨ¹ý¶ÔÕâ¶ÎÄÚ´æµÄ¶ÁÈ¡ºÍÐÞ¸Ä, ʵÏÖ¶ÔÎļþµÄ¶ÁÈ¡ºÍÐÞ¸Ä, ÏÈÀ´¿´Ò»ÏÂmmapµÄº¯ÊýÉùÃ÷: Í·Îļþ: Ô­ÐÍ: void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offsize); ·µ» ......

ÉîÈëÀí½âlinuxÄں˱ʼÇÁù£ºlinuxϵͳµ÷ÓÃ

Ò»°ãÇé¿öÏ£¬½ø³Ì²»ÄÜ´æȡϵͳÄں˵ģ¬Ö»ÓÐϵͳµ÷ÓÃÊÇÒ»¸öÀýÍ⣬ÔÚintel½á¹¹µÄ¼ÆËã»úÖУ¬ÊÇͨ¹ýÖжÏ0x80ʵÏÖµÄ
½ø³Ì¿ÉÒÔ¿ÉÒÔÌøתµ½ÄÚºËÖеÄλÖÃÊÇsystem_call¡£Ôڴ˼ì²éϵͳµ÷Óúţ¬Ëü¸æËßÄں˽ø³ÌÇëÇóºÎÖÖ·þÎñ£¬È»ºó²éÕÒϵͳµ÷Óñísys_call_table£¬ÕÒµ½Ï£Íûµ÷ÓõÄÄں˵ØÖ·º¯Êý£¬µ÷Óô˺¯Êý£¬È»ºó·µ»Ø¡£
  &nbs ......

¹ØÓÚlinuxµÄÆô¶¯Á÷³ÌµÄ±Ê¼Ç

 Ò»¡¢´ÓÄÄÀïµ½ÄÄÀï
±¾ÎÄÖ¼ÔÚÃèÊölinuxÖÐÄÚºËÈçºÎµ÷ÓÃÆô¶¯£¬È»ºóÈçºÎ´ÓimgµÄÎļþϵͳÇл»µ½Ó²Å̵Ĺý³Ì¡£
ÃèÊöÆðÓÚ£ºlinux-2.6.11/init/main.cÖк¯Êý static int init(void * unused)
ÃèÊöÖ¹ÓÚ£º/etc/rc.d/rc.sysinitÎļþµÄ±»µ÷ÓÃ
¶þ¡¢ÃèдÁ÷³Ì
ÔÚlinux´úÂëlinux-2.6.11/init/main.cÖÐinitÕâ¸öº¯Êý±»µ÷ÓÃʱ£¬³ ......

linux¶àÏß³Ìѧϰ(Èý)——»¥³âËøÏ߳̿ØÖÆ

 ÔÚÇ°ÃæµÄÎÄÕÂÖÐÌá¼°µ½£¬Ò»¸ö½ø³ÌÖеĶà¸öÏß³ÌÊǹ²Ïíͬһ¶Î×ÊÔ´µÄ£¬ÓÉÓÚÏ̶߳Ô×ÊÔ´µÄ¾ºÕùÒý³öÁËËø¡£ÆäÖÐmutexÊÇÒ»ÖÖ¼òµ¥µÄ¼ÓËø·½·¨£¬Õâ¸ö»¥³âËøÖ»ÓÐÁ½ÖÖ״̬£¬ÄǾÍÊÇÉÏËøºÍ½âËø£¬¿ÉÒÔ°Ñ»¥³âËø¿´×÷ÊÇijÖÖÒâÒåÉϵÄÈ«¾Ö±äÁ¿¡£ÔÚijһʱ¿Ì£¬Ö»ÄÜÓÐÒ»¸öÏß³ÌÈ¡µÃÕâ¸ö»¥³âÉϵÄËø£¬ÓµÓÐÉÏËø״̬µÄÏ߳̿ÉÒÔ¶Ô¹²Ïí×ÊÔ´½øÐвÙ×÷£¬¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ