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

linux ÎļþËø

´´½¨ËøÎļþ¶ÔÓÚ×ÊÔ´µÄÅÅËû·ÃÎÊ£¬ÀýÈç´®¿Ú£¬ÊÇÏ൱ºÏÊʵ쬵«ÊǶÔÓÚ·ÃÎÊ´óµÄ¹²ÏíÎļþ¾ÍÊÇÌ«ºÃÁË¡£¼ÙÈçÎÒÃÇÓµÓÐÒ»¸öÓÉÒ»¸ö³ÌÐòдÈëµÄ´óÎļþ£¬µ«ÊÇÊÇÓÉÐí¶à²»Í¬µÄ³ÌÐò½øÐгÖÐø¸üеġ£µ±Ò»¸ö³ÌÐòÕýÔڼǼһЩÔڽϳ¤µÄʱ¼äÄÚËùµÃµ½µÄÊý¾Ý£¬²¢ÇÒÕýÔÚΪÆäËûµÄһЩ³ÌÐò½øÐд¦Àíʱ¾Í»á³öÏÖÕâÑùµÄÇé¿ö¡£ÕâЩÕýÔÚ´¦ÀíµÄ³ÌÐò²¢²»»áµÈ´ýÈÕÖ¾³ÌÐò½áÊø£­£­ËûÃÇÊÇÁ¬ÐøÔËÐеģ­£­ËùÒÔËûÃÇÐèҪһЩºÏ×÷µÄ·½·¨´Ó¶ø¿ÉÒÔÌṩ¶ÔÓÚͬһ¸öÎļþµÄͬʱ·ÃÎÊ¡£
ÎÒÃÇ¿ÉÒÔͨ¹ýËø×¡ÎļþµÄÒ»¸öÇøÓòÀ´µ½´ïÕâÖÖ½á¹û£¬ÕâÑùÖ»ÊÇÎļþµÄijһ¸öÇøÓò±»Ëø×¡£¬µ«ÊÇÆäËû³ÌÐò¿ÉÒÔ·ÃÎʳÌÐòµÄÆäËû²¿·Ö¡£Õâ³ÆÖ®ÎªÎļþ¶Î(file-segment)£¬»òÊÇÎļþÇøÓò(file-region)¡£LinuxÓÐÁ½ÖÖ·½·¨¿ÉÒÔ×öµ½ÕâÒ»µã£ºÊ¹ÓÃfcntlϵͳµ÷ÓÃÓëʹÓÃlockfµ÷Óá£ÎÒÃÇ»áÖ÷ÒªÁ˽âfcntl½Ó¿Ú£¬ÒòΪÕâÊÇ×î¾­³£Óõ½µÄ½Ó¿Ú¡£lockfÊÇÏà¶Ô½ÏΪ¼òµ¥µÄ£¬²¢ÇÒÔÚLinuxÉÏÖ»ÊÇfcntlµÄÌæ»»½Ó¿ÚÓ÷¨¡£È»¶ø£¬fcntlÓëlockfËø»úÖÆ²»¿ÉÒÔͬʱ¹¤×÷£ºËûÃÇʹÓò»Í¬µÄµ×²ãʵÏÖ£¬ËùÒÔÎÒÃDz»ÄÜ»ìÓÃÕâÁ½ÖÖµ÷Óã»Ö»Ê¹ÓÃÕâÒ»ÖÖ»òÊÇÁíÒ»ÖÖ¡£
ÎÒÃÇÔÚµÚ3Õ½éÉÜÁËfcntlµ÷Óá£Æä¶¨ÒåÈçÏ£º
#include <fcntl.h>
int fcntl(int fildes, int command, ...);
fcntlÔÚÎļþÃèÊö·ûÉϽøÐвÙ×÷£¬²¢ÇÒÒÀ¾Ýcommand²ÎÊý¿ÉÒÔÖ´Ðв»Í¬µÄÈÎÎñ¡£¶øÎÒÃÇËù¸ÐÐËȤµÄÓйØÎļþËøµÄÈý¸ö£º
❑ F_GETLK
❑ F_SETLK
❑ F_SETLKW
µ±ÎÒÃÇʹÓÃÕâЩÃüÁîʱ£¬µÚÈý¸ö²ÎÊý±ØÐëÊÇÒ»¸öÖ¸Ïòstruct flockµÄÖ¸Õ룬ËùÒÔʵ¼ÊÉϵÄÔ­ÐÍÐÎʽÈçÏ£º
int fcntl(int fildes, int command, struct flock *flock_structure);
flock½á¹¹ÊÇÒÀÀµÓÚʵÏֵ쬵«ÊÇËûÖÁÉÙ°üº¬ÏÂÃæµÄ³ÉÔ±£º
❑ short l_type;
❑ short l_whence;
❑ off_t l_start;
❑ off_t l_len;
❑ pid_t l_pid;
l_type³ÉÔ±¿ÉÒÔÊǼ¸¸öÖµÖеÄÒ»¸ö£¬ÕâЩֵͨ³£¶¨ÒåÔÚfcntl.hÖС£ÈçϱíËùʾ£º
Öµ ÃèÊö
F_RDLCK ¹²ÏíËø(»ò¶ÁËø)¡£¶à¸ö½ø³Ì¿ÉÒÔÔÚÎļþµÄÏàÍ¬ÇøÓò(»òÖØµþ)¾ßÓÐÒ»¸ö¹²ÏíËø¡£Èç¹ûÈκνø³ÌÔÚÎļþµÄijһ²¿·Ö¾ßÓÐÒ»¸ö¹²ÏíËø£¬ÆäËûµÄ½ø³Ì¾Í²»¿ÉÒÔÔÚÏàͬµÄÇøÓò»ñµÃÅÅËûËø¡£ÎªÁË»ñµÃÒ»¸ö¹²ÏíËø£¬Îļþ±ØÐëʹÓöÁ»òÊǶÁд·ÃÎÊģʽ´ò¿ª¡£
F_UNLCK ½âËø£»ÓÃÓÚÇå³ýËø¡£
F_WRLCK ÅÅËûËø(»òÐ´Ëø)¡£ÔÚÎļþµÄijһ¸öÌØ¶¨ÇøÓòÖ»¿ÉÒÔÓÐÒ»¸ö½ø³Ì»ñµÃÅÅËûËø¡£Ò»µ©ÓÐÒ»¸ö½ø³Ì¾ßÓÐÒ»¸öÕâÑùµÄËø£¬ÆäËûµÄ½ø³Ì¾Í²»¿ÉÒÔÔÚ´ËÇøÓòÉÏ»ñµÃÈκÎËøÀàÐÍ¡£Òª»ñµÃÒ»¸öÅÅËûËø£¬Îļþ±ØÐë


Ïà¹ØÎĵµ£º

Linux ½Å±¾±àд»ù´¡(Èý)

3) Á÷³Ì¿ØÖÆ
1.if
"if" ±í´ïʽ Èç¹ûÌõ¼þÎªÕæÔòÖ´ÐÐthenºóÃæµÄ²¿·Ö£º
if ....; then
....
elif ....; then
....
else
....
fi
´ó¶àÊýÇé¿öÏ£¬¿ÉÒÔʹÓòâÊÔÃüÁîÀ´¶ÔÌõ¼þ½øÐвâÊÔ¡£±ÈÈç¿ÉÒԱȽÏ×Ö·û´®¡¢ÅжÏÎļþÊÇ·ñ´æÔÚ¼°ÊÇ·ñ¿É¶ÁµÈµÈ…
ͨ³£ÓÃ" [ ] "À´±íʾÌõ¼þ²âÊÔ¡£×¢ÒâÕâÀïµÄ¿Õ¸ñºÜÖØÒª¡£ÒªÈ·±£· ......

linuxÐźŻúÖÆsignal


ÐźÅÊÇLinux±à³ÌÖзdz£ÖØÒªµÄ²¿·Ö£¬±¾ÎĽ«Ïêϸ½éÉÜÐźŻúÖÆµÄ»ù±¾¸ÅÄî¡¢Linux¶ÔÐźŻúÖÆµÄ´óÖÂʵÏÖ·½·¨¡¢ÈçºÎʹÓÃÐźţ¬ÒÔ¼°ÓйØÐźŵöϵͳµ÷Óá£
ÐźŻúÖÆÊǽø³ÌÖ®¼äÏ໥´«µÝÏûÏ¢µÄÒ»ÖÖ·½·¨£¬ÐźÅÈ«³ÆÎªÈíÖжÏÐźţ¬Ò²ÓÐÈ˳Æ×÷ÈíÖжϡ£´ÓËüµÄÃüÃû¿ÉÒÔ¿´³ö£¬ËüµÄʵÖʺÍʹÓúÜÏóÖжϡ£ËùÒÔ£¬ÐźſÉÒÔ˵Êǽø³Ì¿ØÖƵÄÒ ......

»ùÓÚs3c2410ºÍǶÈëʽLinuxµÄD/Aת»»µÄʵÏÖ


1 ÒýÑÔ
ÔÚǶÈëʽӦÓÃϵͳÖУ¬ÌرðÊÇÖÇÄÜÒÇÆ÷¡¢ÒÇ±í¡¢»úµçÉ豸¼°×°ÖÿØÖÆÖУ¬ÐèҪʹÓÃA/Dת»»½«Ä£ÄâµÄµçÁ¿ÐźÅת»»ÎªÊý×ÖÐźŽøÐд¦Àí£¬¶øºóÔÙ½«´¦ÀíµÄ½á¹ûͨ¹ýD/Aת»»ÎªÄ£ÄâÁ¿ÊµÏÖ¶Ô±»¿Ø¹ý³ÌºÍ¶ÔÏóµÄ¿ØÖÆ[1]¡£
»ùÓÚARM920TÄں˵Äs3c2410ÊÇÒ»¿îµÍ¹¦ºÄ£¬¸ßÐԼ۱ȵĴ¦ÀíÆ÷[2]¡£Õâ¿î´¦ÀíÆ÷ÄÚ²¿¼¯³ÉÁ˶àÖÖ¿ØÖƽӿڣ¬×Ô´ø8·1 ......

linux 0.11 ÄÚºËѧϰ asm.s£¬»úÆ÷ÄÑÃâ³ö¹ÊÕÏ¡£


/*
 *  linux/kernel/asm.s
 *
 *  (C) 1991  Linus Torvalds
 */
/*
 * asm.s contains the low-level code for most hardware faults.
 * page_exception is handled by the mm, so that isn't here. This
 * file also handles (hopefully) fpu-exceptions ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ