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

LinuxÉ豸Çý¶¯ÖеÄÒ첽֪ͨÓëÒì²½I/O

LinuxÉ豸Çý¶¯ÖеÄÒ첽֪ͨÓëÒì²½I/O
Ò첽֪ͨµÄ¸ÅÄîÓë×÷ÓÃ
Ò첽֪ͨµÄÒâ˼ÊÇ£ºÒ»µ©É豸¾ÍÐ÷,ÔòÖ÷¶¯Í¨ÖªÓ¦ÓóÌÐò,ÕâÑùÓ¦ÓóÌÐò¸ù±¾¾Í²»ÐèÒª²éѯÉ豸״̬,ÕâÒ»µã·Ç³£ÀàËÆÓÚÓ²¼þÉÏ"ÖжÏ"µÄ¸ÅÄî,±È½Ï׼ȷµÄ³ÆνÊÇ"ÐźÅÇý¶¯µÄÒì²½I/O"¡£
 LinuxÐźÅ
 LinuxϵͳÖУ¬Ò첽֪ͨʹÓÃÐźÅÀ´ÊµÏÖ¡£ÐźÅÒ²¾ÍÊÇÒ»ÖÖÈí¼þÖжϡ£
ÐźŵIJúÉú£ºkill raise alarm
Óû§°´ÏÂijЩÖն˼ü£»
Ó²¼þÒì³££»
ÖÕÖ¹½ø³ÌÐźţ»
Èí¼þÒì³£¡£
ÐźŵĴ¦Àí£º
ºöÂÔ¸ÃÐźţ¬µ«SIGSTOP SIGKILL²»¿ÉºöÂÔ£»
²¶×½¸ÃÐźţ¬²¢´¦Àí£»
Ö´ÐÐĬÈϲÙ×÷¡£
 ÐźŵĽÓÊÕ
  ²¶×½Ðźţ¬°²×°ÐźŴ¦Àíº¯Êý£ºvoid (*signal(int signum, void(*handler)(int)))(int);
Ðźź¯ÊýµÄÔ­ÐÍΪ£ºvoid handler(int signo);
½ø³ÌÖ´ÐÐʱ£¬ctrl+c·¢³öSIGINTÐźţ¬kill·¢³öSIGTERMÐźš£
  ¸Ä±ä½ø³Ì½ÓÊÕµ½Ìض¨ÐźźóµÄÐÐΪ£ºint sigaction(int signum, const struct sigaction *act,struct sigacton *oldact);
µÚÒ»¸ö²ÎÊý¿ÉÒÔΪ³ýSIGKILL¼°SIGSTOPÍâµÄÈκÎÒ»¸öÌض¨ÓÐЧµÄÐźš£ÈôµÚ¶þ¡¢Èý¸ö²ÎÊý¶¼ÎªNULL£¬ÄÇô¸Ãº¯Êý¿ÉÓÃÓÚ¼ì²éÐźŵÄÓÐЧÐÔ¡£
 
  ÔÚÓû§¿Õ¼ä´¦ÀíÒ»¸öÉ豸ÊͷŵÄÐźţº
ͨ¹ýF_SETOWN IO¿ØÖÆÃüÁîÉèÖÃÉ豸ÎļþµÄÓµÓÐÕßΪ±¾½ø³Ì¡£
ͨ¹ýF_SETFLIO¿ØÖÆÃüÁîÉèÖÃÉ豸ÎļþÖ§³ÖFASYNC¡£
ͨ¹ýsignal()º¯ÊýÁ¬½ÓÐźźÍÐźŴ¦Àíº¯Êý¡£
 
 ÐźŵÄÊÍ·Å
  ´¦ÀíFASYNC±êÖ¾±ä¸üµÄº¯Êý¡£int fasync_helper(int fd, struct file *filp, int mode, struct fasync_struct **fa);
ÊÍ·ÅÐźÅÓõĺ¯Êý¡£void kill_fasync(struct fasync_struct **fa, int sig, int band);
 
 Linux 2.6 Òì²½I/O
AIO¸ÅÄîÓëGNU C¿âº¯Êý
  AIO»ù±¾Ë¼ÏëÊÇÔÊÐí½ø³Ì·¢ÆðºÜ¶àI/O²Ù×÷£¬¶ø²»ÓÃ×èÈû»òµÈ´ýÈκβÙ×÷Íê³É¡£
²Ù×÷£ºint aio_read(struct aiocb *aiocbp); int aio_write(struct aiocb *aiocbp); int aio_error(struct aiocb *aiocbp); ssize_t aio_return(struct aiocb *aiocbp);
int aio_suspend(struct aiocb *const cblist[], int n, const struct timespec *timeout);
int aio_cancel(int fd, struct aiocb *aiocbp);
int lio_listio(int mode, struct aiocb *list[], int nent, struct sigevent *sig);
 Ê¹ÓÃÐźÅ×÷ΪAIOµÄ֪ͨ
 Ê¹Óûص÷º¯Êý×÷ΪAIOµÄ֪ͨ
 


Ïà¹ØÎĵµ£º

LinuxÄÚºËÅäÖÃÎĵµ(make menuconfig)

Ò»¡¢ÒýÑÔ£º
    ±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØͼ£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾­Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾­Ñ飨Õâ¸ö»¹µ ......

Èý¿î Linux ϵÄÃâ·Ñ×ÀÃ漶ɱ¶¾Èí¼þ(ͼ)


ÓÉÓÚ Linux Á¼ºÃµÄÓû§È¨ÏÞ¹ÜÀíÌåϵ£¬²¡¶¾ÍùÍùÊÇ Linux ϵͳ¹ÜÀíÔ±×îºó²ÅÐèÒª¿¼ÂǵÄÎÊÌâ¡£ÒÔÍù£¬Linux ÉϵÄɱ¶¾Èí¼þÖ÷ÒªÊÇΪÆóÒµµÄÓʼþºÍÎļþ·þÎñÆ÷ËùÉè¼ÆµÄ¡£Èç½ñ£¬Ëæ×Å Linux ×ÀÃæÓû§ÊýÁ¿µÄÔö³¤£¬×ÀÃæÓû§ÔÚÊÜÒæÓÚ Linux ϵͳ¶Ô²¡¶¾½ÏÇ¿µÄÌìÈ»ÃâÒßÁ¦µÄͬʱ£¬Ò²ÐèҪɱ¶¾Èí¼þÇåÀí´ÓÍøÂç»òUÅÌ´øÀ´µÄWIndows²¡¶¾¡£¾¡¹ÜÄÇЩ ......

¹ØÓÚLinuxÄÚºËѧϰµÄÎóÇøÒÔ¼°Ïà¹ØÊé¼®½éÉÜ

¹ØÓÚLinuxÄÚºËѧϰµÄÎóÇøÒÔ¼°Ïà¹ØÊé¼®½éÉÜ
·¢ ²¼ ʱ ¼ä :
2008-11-19   
À´ Ô´ :
À´×ÔÍøÂç   
×÷ Õß :
ÄäÃû
  ä¯ ÀÀ :
1053


д¸øLinuxÄÚºËÐÂÊÖ-¹ØÓÚLinuxÄÚºËѧϰµÄÎóÇø
¡¡¡¡ÏÈ˵¾äÕý¾­µÄ£ºÆäʵÎÒû×ʸñдÕâƪÎÄÕ£¬ÒòΪ×Ô¼ºÒ²¾ÍÒ»Á½¸öÔÂÒÔÀ´²Å¿ ......

RedHat Linux 5.4 SUN JDKµÄ°²×°

1¡¢ÏÂÔØjdk£¬¿ÉÒÔÖ±½ÓÔÚRHÉÏÏÂÔØ£¬Ò²¿ÉÒÔÔÚ±¾»úÏÂÔØ£¬È»ºóͨ¹ýpsftp´«ÉÏÈ¥£¨jdk-6u20-linux-i586-rpm.bin£©
2¡¢ÓÃputtyÁ¬½Ólinux
3¡¢Ö´ÐÐjdk-6u20-linux-i586-rpm.bin ûÕÒµ½
4¡¢Ö´ÐÐ./jdk-6u20-linux-i586-rpm.bin ÕÒµ½£¬µ«Ã»ÓÐȨÏÞ
5¡¢chmod 775 jdk-6u20-linux-i586-rpm.bin ¸ÄȨÏÞ
6¡¢Ö´ÐÐ./jdk-6u20-linux-i ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ