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

Linux½ø³Ì¼äͨѶ֮ÐźÅÁ¿

Ò». ʲôÊÇÐźÅÁ¿
ÐźÅÁ¿(Semaphore)-- Ï൱һ¸öÐźŵƣ¬³ÌÐòÀïÊÇÒ»¸ö·Ç¸ºÕûÊý£¬±íʾ״̬.
¿ÉÒÔÓÃÀ´±£»¤Á½¸ö»ò¶à¸ö¹Ø¼ü´úÂë¶Î£¬ÕâЩ¹Ø¼ü´úÂë¶Î²»Äܲ¢·¢µ÷Óá£ÔÚ½øÈëÒ»¸ö¹Ø¼ü´úÂë¶Î֮ǰ£¬Ï̱߳ØÐë»ñȡһ¸öÐźÅÁ¿¡£
Èç¹û¹Ø¼ü´úÂë¶ÎÖÐûÓÐÈκÎỊ̈߳¬ÄÇôÏ̻߳áÁ¢¼´½øÈë¸Ã¿òͼÖеÄÄǸö²¿·Ö¡£Ò»µ©¸Ã¹Ø¼ü´úÂë¶ÎÍê³ÉÁË£¬ÄÇô¸ÃÏ̱߳ØÐëÊÍ·ÅÐźÅÁ¿¡£
ÆäËüÏë½øÈë¸Ã¹Ø¼ü´úÂë¶ÎµÄÏ̱߳ØÐëµÈ´ýÖ±µ½µÚÒ»¸öÏß³ÌÊÍ·ÅÐźÅÁ¿¡£ÎªÁËÍê³ÉÕâ¸ö¹ý³Ì£¬ÐèÒª´´½¨Ò»¸öÐźÅÁ¿£¬
È»ºó½«Acquire Semaphore ÒÔ¼°Release Semaphore ·Ö±ð·ÅÖÃÔÚÿ¸ö¹Ø¼ü´úÂë¶ÎµÄÊ×Ä©¶Ë¡£È·ÈÏÕâЩÐźÅÁ¿ÒýÓõÄÊdzõʼ´´½¨µÄÐźÅÁ¿¡£
ÐźÅÁ¿£ºÒ»¸öÕûÊý£»
´óÓÚ»òµÈÓÚ0ʱ´ú±í¿É¹©²¢·¢½ø³ÌʹÓõÄ×ÊԴʵÌåÊý£»
СÓÚ0ʱ´ú±íÕýÔڵȴýʹÓÃÁÙ½çÇøµÄ½ø³ÌÊý£»
ÓÃÓÚ»¥³âµÄÐźÅÁ¿³õʼֵӦ´óÓÚ0£»
Ö»ÄÜͨ¹ýP¡¢VÔ­Óï²Ù×÷¶ø¸Ä±ä£»
ÐźÅÁ¿ÔªËØ×é³É£º
1¡¢±íʾÐźÅÁ¿ÔªËصÄÖµ£»
2¡¢×îºó²Ù×÷ÐźÅÁ¿ÔªËصĽø³ÌID
3¡¢µÈ´ýÐźÅÁ¿ÔªËØÖµ+1µÄ½ø³ÌÊý£»
4¡¢µÈ´ýÐźÅÁ¿ÔªËØÖµÎª0µÄ½ø³ÌÊý£»
¶þ¡¢Ö÷Òªº¯Êý
1.1 ´´½¨ÐźÅÁ¿
int semget(
key_t key,  //±êʶÐźÅÁ¿µÄ¹Ø¼ü×Ö£¬ÓÐÈýÖÖ·½·¨£º1¡¢Ê¹ÓÃIPC——PRIVATEÈÃϵͳ²úÉú£¬ 2¡¢Ìôѡһ¸öËæ»úÊý£¬3¡¢Ê¹ÓÃftok´ÓÎļþ·¾¶ÃûÖвúÉú
int nSemes, //ÐźÅÁ¿¼¯ÖÐÔªËØ¸öÊý
int flag    //IPC_CREAT£»IPC_EXCL Ö»ÓÐÔÚÐźÅÁ¿¼¯²»´æÔÚʱ´´½¨
)
³É¹¦£º·µ»ØÐźÅÁ¿¾ä±ú
ʧ°Ü£º·µ»Ø-1
1.2 ʹÓÃftokº¯Êý¸ù¾ÝÎļþ·¾¶Ãû²úÉúÒ»¸ö¹Ø¼ü×Ö
key_t ftok(const char *pathname,int proj_id);
·¾¶Ãû³Æ±ØÐëÓÐÏàӦȨÏÞ
1.3 ¿ØÖÆÐźÅÁ¿
int semctl(
int semid, //ÐźÅÁ¿¼¯µÄ¾ä±ú
int semnum, //ÐźÅÁ¿¼¯µÄÔªËØÊý
int cmd, //ÃüÁî
/*union senum arg */... //
)
³É¹¦£º·µ»ØÏàÓ¦µÄÖµ
ʧ°Ü£º·µ»Ø-1
ÃüÁîÏêϸ˵Ã÷:
cmd: IPC_RMID ɾ³ýÒ»¸öÐźÅÁ¿
IPC_EXCL Ö»ÓÐÔÚÐźÅÁ¿¼¯²»´æÔÚʱ´´½¨
IPC_SET ÉèÖÃÐźÅÁ¿µÄÐí¿ÉȨ
SETVAL ÉèÖÃÖ¸¶¨ÐźÅÁ¿µÄÔªËØµÄֵΪ agc.val
GETVAL »ñµÃÒ»¸öÖ¸¶¨ÐźÅÁ¿µÄÖµ
GETPID »ñµÃ×îºó²Ù×Ý´ËÔªËØµÄ×îºó½ø³ÌID
GETNCNT »ñµÃµÈ´ýÔªËØ±äΪ1µÄ½ø³ÌÊý
GETZCNT »ñµÃµÈ´ýÔªËØ±äΪ0µÄ½ø³ÌÊý
union senum ¶¨ÒåÈçÏ£º
union senum{
int val;
struct semid_ds *buf;
unsigned short * array;
}agc;
ÆäÖÐ semid_ds ¶¨ÒåÈçÏ£º
struct semid_ds{
struct ipc_pem sem_pem; /


Ïà¹ØÎĵµ£º

Linux mysql ·þÎñÆ÷ÂýµÄÔ­Òò

Õ⼸ÌìLinux·þÎñÆ÷ºÜÂý,ºÜ׿±ÕÒ²»µ½½â¾ö°ì·¨!ºó°Ù¶ÈÏà¹Ø×ÖÑÛ,²éÕÒµ½ÊÇMySQLµÄÎÊÌâ,
ÈçÏÂΪ½â¾ö·½°¸
:
Á¬½ÓMySQLËÙ¶ÈÂýµÄ½â¾ö·½·¨.
PHPÔ¶³ÌÁ¬½ÓMYSQLËÙ¶ÈÂý,ÓÐʱԶ³ÌÁ¬½Óµ½MYSQLÓÃʱ4-20Ãë²»µÈ,±¾µØÁ¬½ÓMYSQLÕý³£,³öÏÖÕâÖÖÎÊÌâµÄÖ÷ÒªÔ­ÒòÊÇ,ĬÈϰ²×°µÄ
MYSQL¿ªÆôÁËDNSµÄ·´Ïò½âÎö,ÔÚMY.CNF(UNIX»òLINUXϵͳÏÂ)»òMY.INI ......

Linux ½ø³Ì»¥³âÁ¿

ÍøÉÏÕÒÁËÏÂLinux½ø³Ì¼ä»¥³âµÄʵÏÖ£¬Á½ÖÖ·½·¨£¬semaphore ºÍ ÎļþËø¡£¸Õ¿ªÊ¼Ò²³¢ÊÔÓÃsemaphoreÀ´ÊµÏÖ£¬µ«·¢ÏÖsem_waitºÍsingalÎÞ·¨ÊµÏÖWindowsÏÂCirtSec£¬¶ø²ÉÓÃÁ˺óÕßÎļþËø£»
µ«¶ÔÓÚ¶ÁÐ´ËøÀ´ËµÊµÓÃÎļþËøÊµÏÖ£¬´æÔÚÒ»¶¨µÄ²»×㣬Ëü·Ö¿ªÁ˶ÁÐ´Ëø£¬¶øÃ»Óзֿª½â¶ÁÐ´Ëø£¬ÀûÓÃUnLockÀ´Í³Ò»½â¶ÁÐ´Ëø£¬¶ÔÓÚÕâ½ø³Ì¼ä¶ÁÐ´ËøµÄʵÏÖ£ ......

¿ªÊ¼ÎÒµÄLinuxÖ®ÂÃ

È·ÇеÄ˵,ÎÒÊÇ´Ó»ªÇåÔ¶¼ûµÄ¹ÙÍøÉϵÃÖªÓиö½ÐǶÈëʽlinux¾ÍÒµÅàѵ°àµÄ¶«Î÷²Å¶ÔlinuxÓÐЩÈÏʶµÄ,¼ÓÖ®×Ô¼ººÍµ¥Æ¬»ú´òÁË2¸ö¶àÔµĽ»µÀÖ®ºó,Ò²²»ÖªÔõôµØ,ÇÞÊҵö¼Ò»ï·¢·èËÆµÄ¿ªÊ¼ÍæFPGA,SOPC,MATLABÖ®ÀàµÄ¶«Î÷,ÎÒ×ÔÈ»²»Ó¦¸ÃÏÐ×Å,»¨ÁËÒ»¶Îʱ¼äÁ˽âDSP,¾õµÃÒªÏÈѧºÃÊý×ÖÐźŴ¦Àí,ÂýÂýÓнӴ¥ARM,È»ºó¶ÔS3C2410µÄ¿ª·¢°åºÜÓÐÐËȤ, ......

linux file lock

linux file lock
linuxµÄÎļþËø·ÖΪÁ½ÖÖ£º
Ò»ÖÖÊÇadvasory lock£¬Ö»Äܱ£Ö¤½ø³ÌÄÚ¶Ôͬһ¸öÎļþËøµÄ»¥³âÓÐЧ£¬µ«ÊǶà¸ö½ø³Ì¿ÉÒÔͬʱ¶ÔÒ»¸öÎļþ¼Ó»¥³âµÄËø£¬ËùÒÔÕâÖÖËøÊǼÓÔÚfile ½á¹¹ÉÏ;Ò»ÖÖÊÇmandatory lock£¬ÕâÖÖËø¿ÉÒÔ±£Ö¤¶à¸ö½ø³ÌÎÞ·¨¶Ôͬһ¸öÎļþ¶¼¼ÓÉÏ»¥³âËø£¬ËùÒÔÕâÖÖËøÊǼÓÔÚinode ½á¹¹Éϵġ£
µ±¼Ómandatroy lockÊ ......

LinuxÖÐÈçºÎÊÍ·ÅcacheÄÚ´æ free


ÒòΪLINUX
µÄÄÚºË
»úÖÆ£¬Ò»°ãÇé¿öϲ»ÐèÒªÌØÒâÈ¥ÊÍ·ÅÒѾ­Ê¹ÓõÄcache¡£ÕâЩcacheÆðÀ´µÄÄÚÈÝ¿ÉÒÔÔö¼ÓÎļþÒÔ¼°µÄ¶ÁдËÙ¶È¡£
ÏÈ˵ÏÂfreeÃüÁîÔõô¿´ÄÚ´æ
[root@ahsq proc]# free
total used free shared buffers cached
Mem: 515588 295452 220136 0 2060 64040
-/+ buffers/cache: 229352 286236
Swap: 682720 112 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ