Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ÏÂulimit ÃüÁî

ulimitÖ÷Òª²é¿´linuxϵͳ϶Ôϵ×ÊÔ´·ÖÅäµÄÏÞÖÆÇé¿ö£¬²é¿´È«²¿Ê¹ÓÃulimit -a (all)
ulimit ²ÎÊý˵Ã÷
Ñ¡Ïî [options]  º¬Òå  Àý×Ó 
-H  ÉèÖÃÓ²×ÊÔ´ÏÞÖÆ£¬Ò»µ©ÉèÖò»ÄÜÔö¼Ó¡£  ulimit – Hs 64£»ÏÞÖÆÓ²×ÊÔ´£¬Ïß³ÌÕ»´óСΪ 64K¡£ 
-S  ÉèÖÃÈí×ÊÔ´ÏÞÖÆ£¬ÉèÖúó¿ÉÒÔÔö¼Ó£¬µ«ÊDz»ÄÜ ......

linux 0.11 ÄÚºËѧϰ sched.c£¬µ÷¶È½ø³Ì¡£


/*
 * 2010-1-21
 * ¸ÃÎļþʱÄÚºËÖÐÓйØÈÎÎñµ÷¶ÈµÄº¯Êý³ÌÐò£¬ÆäÖаüº¬»ù±¾º¯Êýsleep_on£¬
 * wakeup£¬scheduleµÈ£¬ÒÔ¼°Ò»Ð©¼òµ¥µÄϵͳµ÷Óá£Í¬Ê±½«ÈíÅ̵ö²Ù×÷
 * º¯ÊýÒ²·ÅÖÃÔÚÕâÀï¡£
 * 
 * scheduleº¯ÊýÊ×ÏȶÔËùÓеÄÈÎÎñ¼ì²é£¬»½ÐÑÈκÎÒ»¸öÒѾ­µÃµ½ÐźŵÄÈÎÎñ£¬
 * ......

LinuxÏÂCºÍC++¿ª·¢»ù´¡

LinuxÏÂCºÍC++¿ª·¢»ù´¡
»ù±¾±à³Ì¸ÅÄî
n ±à³ÌÓïÑÔ£ºC ¡¢C++
n ±àÒë(compile)£ºÔ´Îļþ£¨.c£©->Ä¿±êÎļþ(.o)
n Á¬½Ó(link)£ºÄ¿±êÎļþ(.o)->¿ÉÖ´ÐÐÎļþ
n ¿â(library)£º¾²Ì¬Á¬½Ó¿â(.a)¡¢¶¯Ì¬Á¬½Ó¿â(.so)
LinuxÏ¿ª·¢¹¤¾ß
n±à¼­Æ÷£ºvi¡¢emacs¡¢´°¿Ú±à¼­Æ÷
n±àÒëÆ÷£ºGCC
nµ÷ÊÔÆ÷£ºGDB
n¿ÉÖ´ÐÐÎļþ¹¤¾ß£ ......

Linuxѧϰ

linuxĿ¼¼Ü¹¹
/       ¸ùĿ¼
/bin         ³£ÓõÄÃüÁî   binary   file   µÄÄ¿錄
/boot       ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ   (kernel)   ÔÚÄÚ 
/boot/grub/menu.lst       GRUBÉèÖà
/ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ