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³£ÓÃÍ·ÎļþÈçÏ£º
POSIX±ê×¼¶¨ÒåµÄÍ·Îļþ
<dirent.h>
Ŀ¼Ïî
<fcntl.h> Îļþ¿ØÖÆ
<fnmatch.h> ÎļþÃûÆ¥ÅäÀàÐÍ
<glob.h>
·¾¶ÃûģʽƥÅäÀàÐÍ
< ......
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-10-21
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àÒ»Ó¦ÓóÌÐò£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod, lsmod, rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world, insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread, write, ioctl, pollingµÈ¸÷ÖÖº ......
linux½âѹ tarÃüÁî
tarÃüÁî
tar [-cxtzjvfpPN] ÎļþÓëĿ¼ ....
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x
£º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
-t £º²é¿´ tarfile ÀïÃæµÄÎļþ£¡
ÌØ±ð×¢Ò⣬ÔÚ²ÎÊýµÄÏ´ïÖУ¬ c/x/t ½öÄÜ´æÔÚÒ»¸ö£¡²»¿Éͬʱ´æÔÚ£¡
ÒòΪ²»¿ÉÄÜͬʱѹËõÓë½âѹËõ¡£
-z £ºÊ ......
http://hi.baidu.com/lu_xinzhong/blog/item/4ff92b1725dec505c83d6d09.html
»Ø¹ö±í¿Õ¼ä´óС
-- ´´½¨Ò»¸öеÄС¿Õ¼äµÄUNDO TABLESPACE
Create UNDO TABLESPACE UNDOTBS2 DATAFILE '/u01/app/oracle/oradata/orcl/UNDOTBS02.DBF' SIZE 100M REUSE AUTOEXTEND ON;
-- ÉèÖÃеıí¿Õ¼äΪϵͳUNDO_TABLESPACE
Alter SYSTE ......