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

Linux»·¾³½ø³Ì¼äͨÐÅ£¨Î壩: ¹²ÏíÄڴ棨Ï£©


Linux»·¾³½ø³Ì¼äͨÐÅ£¨Î壩: ¹²ÏíÄڴ棨Ï£©
ÎĵµÑ¡Ïî
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
¼¶±ð£º ³õ¼¶
Ö£ÑåÐË (mlinux@163.com), ¹ú·À¿Æ´ó¹¥¶Á²©Ê¿Ñ§Î»
2003 Äê 5 ÔÂ 01 ÈÕ
ÔÚ¹²ÏíÄڴ棨ÉÏ£©ÖУ¬Ö÷ÒªÎ§ÈÆ×Åϵͳµ÷ÓÃmmap()½øÐÐÌÖÂ۵쬱¾²¿·Ö½«ÌÖÂÛϵͳV¹²ÏíÄڴ棬²¢Í¨¹ýʵÑé½á¹û¶Ô±ÈÀ´²ûÊöÁ½ÕßµÄÒìͬ¡£ÏµÍ³V¹²ÏíÄÚ´æÖ¸µÄÊǰÑËùÓй²ÏíÊý¾Ý·ÅÔÚ¹²ÏíÄÚ´æÇøÓò£¨IPC shared memory region£©£¬ÈκÎÏëÒª·ÃÎʸÃÊý¾ÝµÄ½ø³Ì¶¼±ØÐëÔÚ±¾½ø³ÌµÄµØÖ·¿Õ¼äÐÂÔöÒ»¿éÄÚ´æÇøÓò£¬ÓÃÀ´Ó³Éä´æ·Å¹²ÏíÊý¾ÝµÄÎïÀíÄÚ´æÒ³Ãæ¡£
ϵͳµ÷ÓÃmmap()ͨ¹ýÓ³ÉäÒ»¸öÆÕͨÎļþʵÏÖ¹²ÏíÄڴ档ϵͳVÔòÊÇͨ¹ýÓ³ÉäÌØÊâÎļþϵͳshmÖеÄÎļþʵÏÖ½ø³Ì¼äµÄ¹²ÏíÄÚ´æÍ¨ÐÅ¡£Ò²¾ÍÊÇ˵£¬Ã¿¸ö¹²ÏíÄÚ´æÇøÓò¶ÔÓ¦ÌØÊâÎļþϵͳshmÖеÄÒ»¸öÎļþ£¨ÕâÊÇͨ¹ýshmid_kernel½á¹¹ÁªÏµÆðÀ´µÄ£©£¬ºóÃæ»¹½«²ûÊö¡£
1¡¢ÏµÍ³V¹²ÏíÄÚ´æÔ­Àí
½ø³Ì¼äÐèÒª¹²ÏíµÄÊý¾Ý±»·ÅÔÚÒ»¸ö½Ð×öIPC¹²ÏíÄÚ´æÇøÓòµÄµØ·½£¬ËùÓÐÐèÒª·ÃÎʸù²ÏíÇøÓòµÄ½ø³Ì¶¼Òª°Ñ¸Ã¹²ÏíÇøÓòÓ³Éäµ½±¾½ø³ÌµÄµØÖ·¿Õ¼äÖÐÈ¥¡£ÏµÍ³V¹²ÏíÄÚ´æÍ¨¹ýshmget»ñµÃ»ò´´½¨Ò»¸öIPC¹²ÏíÄÚ´æÇøÓò£¬²¢·µ»ØÏàÓ¦µÄ±êʶ·û¡£ÄÚºËÔÚ±£Ö¤shmget»ñµÃ»ò´´½¨Ò»¸ö¹²ÏíÄÚ´æÇø£¬³õʼ»¯¸Ã¹²ÏíÄÚ´æÇøÏàÓ¦µÄshmid_kernel½á¹¹×¢Í¬Ê±£¬»¹½«ÔÚÌØÊâÎļþϵͳshmÖУ¬´´½¨²¢´ò¿ªÒ»¸öͬÃûÎļþ£¬²¢ÔÚÄÚ´æÖн¨Á¢Æð¸ÃÎļþµÄÏàÓ¦dentry¼°inode½á¹¹£¬Ð´ò¿ªµÄÎļþ²»ÊôÓÚÈκÎÒ»¸ö½ø³Ì£¨Èκνø³Ì¶¼¿ÉÒÔ·ÃÎʸù²ÏíÄÚ´æÇø£©¡£ËùÓÐÕâÒ»Çж¼ÊÇϵͳµ÷ÓÃshmgetÍê³ÉµÄ¡£
×¢£ºÃ¿Ò»¸ö¹²ÏíÄÚ´æÇø¶¼ÓÐÒ»¸ö¿ØÖƽṹstruct shmid_kernel£¬shmid_kernelÊǹ²ÏíÄÚ´æÇøÓòÖзdz£ÖØÒªµÄÒ»¸öÊý¾Ý½á¹¹£¬ËüÊÇ´æ´¢¹ÜÀíºÍÎļþϵͳ½áºÏÆðÀ´µÄÇÅÁº£¬¶¨ÒåÈçÏ£º
struct shmid_kernel /* private to the kernel */
{
struct kern_ipc_perm shm_perm;
struct file * shm_file;
int id;
unsigned long shm_nattch;
unsigned long shm_segsz;
time_t shm_atim;
time_t shm_dtim;
time_t shm_ctim;
pid_t shm_cprid;
pid_t shm_lprid;
};
¸Ã½á¹¹ÖÐ×îÖØÒªµÄÒ»¸öÓòÓ¦¸ÃÊÇshm_file£¬Ëü´æ´¢Á˽«±»Ó³ÉäÎļþµÄµØÖ·¡£Ã¿¸ö¹²ÏíÄÚ´æÇø¶ÔÏó¶¼¶ÔÓ¦ÌØÊâÎļþϵͳshmÖеÄÒ»¸öÎļþ£¬Ò»°ãÇé¿öÏ£¬ÌØÊâÎļþϵͳshmÖеÄÎļþÊDz»ÄÜÓÃread()¡¢write()µÈ·½·¨·ÃÎʵ쬵±²ÉÈ¡¹²ÏíÄÚ´æµÄ·½Ê½°ÑÆäÖеÄÎļþÓ³Éäµ½½ø³ÌµØÖ·¿Õ¼äºó£¬¿ÉÖ±½Ó²ÉÓ÷ÃÎÊÄÚ´æµÄ·½Ê½¶ÔÆä·ÃÎÊ¡£
ÕâÀïÎÒÃDzÉÓÃ[1]ÖеÄͼ±í¸ø³öÓëϵͳV¹²ÏíÄÚ´æÏà¹Ø


Ïà¹ØÎĵµ£º

Linux SSHÃüÁî´óÈ«

rm -rf mydir /* ɾ³ýmydirĿ¼ */
cd mydir /* ½øÈëmydirĿ¼ */
cd – /* »ØÉÏÒ»¼¶Ä¿Â¼ */
cd ~ /* »Ø¸ùĿ¼ */
mv tools tool /* °ÑtoolsĿ¼¸ÄÃûΪtool */
ln -s tool bac
/* ¸øtoolĿ¼´´½¨ÃûΪbacµÄ·ûºÅÁ´½Ó,×îÊìϤµÄÓ¦¸Ã¾ÍÊÇFTPÖÐwwwÁ´½Óµ½public_htmlĿ¼ÁË */
cp -a tool /home/leavex/www /* °ÑtoolÄ ......

Linux³£ÓÃÖ¸Á

Ò»¡¢ÏµÍ³ÉèÖÃÓë¹ÜÀí
1.alias
˵Ã÷£ºÎªÃüÁîÉèÖñðÃû¡¢ÏÔʾ±ðÃûÉèÖá£
Óï·¨£ºalias [±ðÃû]=[Ö¸ÁîÃû³Æ]£ºÎª[Ö¸ÁîÃû³Æ]ÆðÒ»¸ö±ðÃû¡£
alias [±ðÃû]£ºÏÔʾ³ö[±ðÃû]Ëù¶ÔÓ¦µÄÃüÁî¡£
alias£ºÏÔʾËùÓбðÃûÉèÖá£
2.apmsleep
˵Ã÷£º½øÈë¹ÒÆð»òµÈ´ý״̬¡£
Óï·¨£ºapmsleep hh:mm
²ÎÊý£ºhh:mmÖ¸¶¨½øÈë¹ÒÆð»òµÈ´ý״̬µÄʱ¼ä¡£
......

Linux¹ÒÔØÍøÂçÎļþ¼Ð£¨¼òµ¥NFSÅäÖã©

###########################################
###  ¹ÒÔØÍøÂçÎļþ¼Ð  ###
###########################################
NFS˵Ã÷
=======
NFSÊÇNet File SystemµÄ¼òд,¼´ÍøÂçÎļþϵͳ.
NFSÔÊÐíÒ»¸öϵͳÔÚÍøÂçÉÏÓëËüÈ˹²ÏíĿ¼ºÍÎļþ¡£Í¨¹ýʹÓÃNFS£¬Óû§ºÍ³ÌÐò¿ÉÒÔÏó·ÃÎʱ¾µØÎļþÒ»Ñù·ÃÎÊÔ¶¶ËϵͳÉϵÄÎļþ¡£ ......

linuxÏÂʵÏÖWaitforMultipleObjects 1

  linux/unixÏÂûÓÐWaitforMultipleObjects,ҲûÓÐÀàËÆµÄAPI,ͬÑù»ùÓÚBSD UnixÄں˵ÄMac OS ҲûÓÐÏàËÆ¹¦Äܵĺ¯Êý£¬ÕâÊÇ´ó¼Ò¶¼ÖªµÀ²¢ÇÒÓôÃÆµÄ¡£Èç¹ûÒª½«Ò»¸ö¶àÏ̳߳ÌÐò´ÓwindowsÏÂÒÆÖ²µ½Ê¹ÓÃPosix¶àÏ̵߳ÄϵͳÏ£¬×îºÃÏÈÔÚÐÄÖÐĬÄîÊ®±é“no have WaitforMultipleObjects... ...”È»ºóÖ»ÄÜ¿´ÄãµÄRPÈçºÎÄòÍÞ. ......

LinuxÏÂʱ¼ä¶ÈÁ¿µÄÉîÈë·ÖÎö

Ò»)ANSI clockº¯Êý
1)¸ÅÊö:
clock º¯ÊýµÄ·µ»ØÖµÀàÐÍÊÇclock_t,Ëü³ýÒÔCLOCKS_PER_SECÀ´µÃ³öʱ¼ä,Ò»°ãÓÃÁ½´Îclockº¯ÊýÀ´¼ÆËã½ø³Ì×ÔÉíÔËÐеÄʱ¼ä.
ANSI clockÓÐÈý¸öÎÊÌâ:
1)Èç¹û³¬¹ýÒ»¸öСʱ,½«Òªµ¼ÖÂÒç³ö.
2)º¯ÊýclockûÓп¼ÂÇCPU±»×Ó½ø³ÌʹÓõÄÇé¿ö.
3)Ò²²»ÄÜÇø·ÖÓû§¿Õ¼äºÍÄں˿ռä.
ËùÒÔclockº¯ÊýÔÚlinuxϵͳÉϱäµÃ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ