LinuxÄÚ´æÄ£ÐÍ
Àí½â Linux ʹÓõÄÄÚ´æÄ£ÐÍÊÇ´Ó¸ü´ó³Ì¶ÈÉÏÕÆÎÕ Linux Éè¼ÆºÍʵÏֵĵÚÒ»²½£¬Òò´Ë±¾ÎĽ«¸ÅÊö Linux ÄÚ´æÄ£Ðͺ͹ÜÀí¡£
ÓëÄÚ´æ¹ÜÀíÓйصÄÖ÷ÒªÎÊÌâÓУº
l ÐéÄâÄÚ´æµÄ¹ÜÀí£¬ÕâÊǽéÓÚÓ¦ÓóÌÐòÇëÇóÓëÎïÀíÄÚ´æÖ®¼äµÄÒ»¸öÂß¼²ã¡£
l ÎïÀíÄÚ´æµÄ¹ÜÀí¡£
l ÄÚºËÐéÄâÄÚ´æµÄ¹ÜÀí/ÄÚºËÄÚ´æ·ÖÅäÆ÷£¬ÕâÊÇÒ»¸öÓÃÀ´Âú×ã¶ÔÄÚ´æµÄÇëÇóµÄ×é¼þ¡£ÕâÖÖ¶ÔÄÚ´æµÄÇëÇó¿ÉÄÜÀ´×ÔÓÚÄںˣ¬Ò²¿ÉÄÜÀ´×ÔÓÚÓû§¡£
l ÐéÄâµØÖ·¿Õ¼äµÄ¹ÜÀí¡£
l ½»»»ºÍ»º´æ¡£
±¾ÎÄ̽ÌÖÁËÒÔÏÂÎÊÌ⣬¿ÉÒÔ°ïÖúÄú´Ó²Ù×÷ϵͳÖÐÄÚ´æ¹ÜÀíµÄ½Ç¶ÈÀ´Àí½â Linux µÄÄÚÄ»£º
l ¶Î¿ØÖƵ¥ÔªÄ£ÐÍ£¬Í¨³£×¨ÓÃÓÚ Linux
l ·ÖҳģÐÍ£¬Í¨³£×¨ÓÃÓÚ Linux
l ÎïÀíÄÚ´æ·½ÃæµÄ֪ʶ
x86 ¼Ü¹¹ÖУ¬ÄÚ´æ±»»®·Ö³É 3 ÖÖÀàÐ͵ĵØÖ·£º
l Âß¼µØÖ· (logical address) ÊǴ洢λÖõĵØÖ·£¬Ëü¿ÉÄÜÖ±½Ó¶ÔÓ¦ÓÚÒ»¸öÎïÀíλÖã¬Ò²¿ÉÄܲ»Ö±½Ó¶ÔÓ¦ÓÚÒ»¸öÎïÀíλÖá£Âß¼µØÖ·Í¨³£ÔÚÇëÇó¿ØÖÆÆ÷ÖеÄÐÅϢʱʹÓá£
l ÏßÐÔµØÖ· (linear address) £¨»ò³ÆÎª Æ½ÃæµØÖ·¿Õ¼ä£©ÊÇ´Ó 0 ¿ªÊ¼½øÐÐѰַµÄÄÚ´æ¡£Ö®ºóµÄÿ¸ö×Ö½Ú¶¼¿É˳ÐòʹÓÃÏÂÒ»Êý×ÖÀ´ÒýÓã¨0¡¢1¡¢2¡¢3 µÈ£©£¬Ö±µ½ÄÚ´ ......
LinuxÐźżò½é ¡¡
1) SIGHUP ±¾ÐźÅÔÚÓû§ÖÕ¶ËÁ¬½Ó(Õý³£»ò·ÇÕý³£)½áÊøÊ±·¢³ö, ͨ³£ÊÇÔÚÖն˵ĿØÖƽø³Ì½áÊøÊ±, ֪ͨͬһsessionÄڵĸ÷¸ö×÷Òµ, ÕâʱËüÃÇÓë¿ØÖÆÖն˲»ÔÙ¹ØÁª. ¡¡¡¡
2) SIGINT ³ÌÐòÖÕÖ¹(interrupt)ÐźÅ, ÔÚÓû§¼üÈëINTR×Ö·û(ͨ³£ÊÇCtrl-C)ʱ·¢³ö ¡¡¡¡
3) SIGQUIT ºÍSIGINTÀàËÆ, µ«ÓÉQUIT×Ö·û(ͨ³£ÊÇCtrl-\)À´¿ØÖÆ. ½ø³ÌÔÚÒòÊÕµ½SIGQUITÍ˳öʱ»á²úÉúcoreÎļþ, ÔÚÕâ¸öÒâÒåÉÏÀàËÆÓÚÒ»¸ö³ÌÐò´íÎóÐźÅ. ¡¡¡¡
4) SIGILL Ö´ÐÐÁË·Ç·¨Ö¸Áî. ͨ³£ÊÇÒòΪ¿ÉÖ´ÐÐÎļþ±¾Éí³öÏÖ´íÎó, »òÕßÊÔͼִÐÐÊý¾Ý¶Î. ¶ÑÕ»Òç³öʱҲÓпÉÄܲúÉúÕâ¸öÐźÅ. ¡¡¡¡
5) SIGTRAP ÓɶϵãÖ¸Áî»òÆäËütrapÖ¸Áî²úÉú. ÓÉdebuggerʹÓÃ. ¡¡¡¡
6) SIGABRT ³ÌÐò×Ô¼º·¢ÏÖ´íÎó²¢µ÷ÓÃabortʱ²úÉú. ¡¡¡¡
7) SIGIOT ÔÚPDP-11ÉÏÓÉiotÖ¸Áî²úÉú, ÔÚÆäËü»úÆ÷ÉϺÍSIGABRTÒ»Ñù. ¡¡¡¡
8) SIGBUS ·Ç·¨µØÖ·, °üÀ¨ÄÚ´æµØÖ·¶ÔÆë(alignment)³ö´í. eg: ·ÃÎÊÒ»¸öËĸö×Ö³¤µÄÕûÊý, µ«ÆäµØÖ·²»ÊÇ4µÄ±¶Êý. ¡¡¡¡
9) SIGFPE ÔÚ·¢ÉúÖÂÃüµÄËãÊõÔËËã´íÎóʱ·¢³ö. ²»½ö°üÀ¨¸¡µãÔËËã´íÎó, »¹°üÀ¨Òç³ö¼°³ýÊýΪ0µÈÆäËüËùÓеÄËãÊõµÄ´íÎó. ¡¡¡¡
10) SIGKILL ÓÃÀ´Á¢¼´½áÊø³ÌÐòµÄÔËÐÐ. ±¾ÐźŲ»Äܱ»×èÈû, ´¦ÀíºÍºöÂÔ. ¡¡¡¡
11) SI ......
1¡¢MVCµÄ¸÷¸ö²¿·Ö¶¼ÓÐÄÇЩ¼¼ÊõÀ´ÊµÏÖ?ÈçºÎʵÏÖ?
´ð£ºMVCÊÇModel£View£ControllerµÄ¼òд¡£"Model" ´ú±íµÄÊÇÓ¦ÓõÄÒµÎñÂß¼£¨Í¨¹ýJavaBean£¬EJB×é¼þʵÏÖ£©£¬ "View" ÊÇÓ¦ÓõıíÊ¾Ãæ£¨ÓÉJSPÒ³Ãæ²úÉú£©£¬"Controller" ÊÇÌṩӦÓõĴ¦Àí¹ý³Ì¿ØÖÆ£¨Ò»°ãÊÇÒ»¸öServlet£©£¬Í¨¹ýÕâÖÖÉè¼ÆÄ£ÐͰÑÓ¦ÓÃÂß¼£¬´¦Àí¹ý³ÌºÍÏÔʾÂß¼·Ö³É²»Í¬µÄ×é¼þʵÏÖ¡£ÕâЩ×é¼þ¿ÉÒÔ½øÐн»»¥ºÍÖØÓá£
2¡¢J2EEÊÇʲô£¿
´ð£ºJe22ÊÇSun¹«Ë¾Ìá³öµÄ¶à²ã(multi-diered),·Ö²¼Ê½(distributed),»ùÓÚ×é¼þ(component-base)µÄÆóÒµ¼¶Ó¦ÓÃÄ£ÐÍ(enterpriese application model).ÔÚÕâÑùµÄÒ»¸öÓ¦ÓÃϵͳÖУ¬¿É°´ÕÕ¹¦ÄÜ»®·ÖΪ²»Í¬µÄ×é¼þ£¬ÕâЩ×é¼þÓÖ¿ÉÔÚ²»Í¬¼ÆËã»úÉÏ£¬²¢ÇÒ´¦ÓÚÏàÓ¦µÄ²ã´Î(tier)ÖС£ËùÊô²ã´Î°üÀ¨¿Í»§²ã(clietn tier)×é¼þ,web²ãºÍ×é¼þ,Business²ãºÍ×é¼þ,ÆóÒµÐÅϢϵͳ(EIS)²ã¡£
3¡¢WEB SERVICEÃû´Ê½âÊÍ¡£JSWDL¿ª·¢°üµÄ½éÉÜ¡£JAXP¡¢JAXMµÄ½âÊÍ¡£SOAP¡¢UDDI,WSDL½âÊÍ¡£
´ð£ºWeb ServiceÃèÊöÓïÑÔWSDL
SOAP¼´¼òµ¥¶ÔÏó·ÃÎÊÐÒé(Simple Object Access Protocol)£¬ËüÊÇÓÃÓÚ½»»»XML±àÂëÐÅÏ¢µÄÇáÁ¿¼¶ÐÒé¡£
UDDI µÄÄ¿µÄÊÇΪµç×ÓÉÌÎñ½¨Á¢±ê×¼£»UDDIÊÇÒ»Ì×»ùÓÚWebµÄ¡¢·Ö²¼Ê½µÄ¡¢ÎªWeb ServiceÌṩµÄ¡¢ÐÅÏ¢×¢²áÖÐÐĵ ......
awk ÍêÈ«½âÎö
awk´¦ÀíµÄ¹¤×÷ÓëÊý¾Ý¿âµÄ´¦Àí·½Ê½ÓÐÏà֮ͬ´¦£¬ÆäÏàͬ´¦Ö®Ò»¾ÍÊÇawkÖ§³Ö¶Ô¼Ç¼ºÍ×ֶεĴ¦Àí¡£
ÓòºÍ¼Ç¼
awkÖ´ÐÐʱ£¬Æää¯ÀÀÓòÓÃ$1¡¢$2¡¢…¡¢$n±êʶ£¬¶à¸öÓòÖ®¼äÓöººÅ·Ö¸ô£¬Èç$1,$3¡£
$0±êʶÕû¸ö¼Ç¼(ÕûÐÐ)¡£
1 ÏÔʾÎı¾ÎļþmyfileÖÐµÚÆßÐе½µÚÊ®ÎåÐÐÖÐÒÔ×Ö·û%·Ö¸ôµÄµÚÒ»×ֶΣ¬µÚÈý×Ö¶ÎºÍµÚÆß×ֶΣº
¡¡¡¡awk -F % 'NR==7,NR==15 {printf 1 3 7}'
Grep ÃüÁîÍêÈ«½âÎö£º
\ £ººöÂÔÕýÔò±í´ïʽÖÐÌØÊâ×Ö·ûµÄÔÓк¬Òå¡£
^£ºÆ¥ÅäÕýÔò±í´ïʽµÄ¿ªÊ¼ÐС£
$: Æ¥ÅäÕýÔò±í´ïʽµÄ½áÊøÐС£
<£º´ÓÆ¥ÅäÕýÔò±í´ïʽµÄÐпªÊ¼¡£
>£ºµ½Æ¥ÅäÕýÔò±í´ïʽµÄÐнáÊø¡£
[ ]£ºµ¥¸ö×Ö·û£¬Èç[A]¼´A·ûºÏÒªÇó ¡£
[ - ]£º·¶Î§£¬Èç[A-Z]£¬¼´A¡¢B¡¢CÒ»Ö±µ½Z¶¼·ûºÏÒªÇó ¡£
¡££ºËùÓеĵ¥¸ö×Ö·û¡£
* £ºÓÐ×Ö·û£¬³¤¶È¿ÉÒÔΪ0¡£
-n ÔÚÏÔʾ·ûºÏ·¶±¾ÑùʽµÄÄÇÒ»ÁÐ֮ǰ£¬±êʾ³ö¸ÃÁеÄÁÐÊý±àºÅ¡£
-i ºöÂÔ×Ö·û´óСдµÄ²î±ð¡£
-L ÁгöÎļþÄÚÈÝ·ûºÏÖ¸¶¨µÄ·¶±¾ÑùʽµÄÎļþÃû³Æ¡£
-rµ±Ö¸¶¨Òª²éÕÒµÄÊÇĿ¼¶ø·ÇÎļþʱ£¬±ØÐëʹÓÃÕâÏî²ÎÊý£¬·ñÔògrepÖ¸Á»Ø±¨ÐÅÏ¢²¢Í£Ö¹¶¯×÷
Àý£º
1 grep -2 pattern filename Í¬Ê ......
ÈçºÎÔÚlinux/unixÖÐÉèÖÃÏ̵߳ÄÓÅÏȼ¶
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);
À´´´½¨Ị̈߳¬µ«ÊÇÈçºÎÉèÖÃÏ̵߳ÄÓÅÏȼ¶ÄØ£¿
ÔÚÌÖÂÛÕâ¸öÎÊÌâµÄʱºò£¬ÎÒÃÇÏÈҪȷ¶¨µ±Ç°Ïß³ÌʹÓõĵ÷¶È²ßÂÔ£¬posixÌṩÁË
int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy);º¯ÊýÀ´»ñÈ¡Ëù
ʹÓõĵ÷¶È²ßÂÔ£¬ËüÃÇÊÇ£ºSCHED_FIFO, SCHED_RR ºÍ SCHED_OTHER¡£
ÎÒÃÇ¿ÉÒÔʹÓÃ
int sched_get_priority_max(int policy);
int sched_get_priority_min(int policy);
À´»ñÈ¡Ïß³ÌÏ߳̿ÉÊÇÉèÖõÄ×î´óºÍ×îСµÄÓÅÏȼ¶Öµ£¬Èç¹ûµ÷Óóɹ¦¾Í·µ»Ø×î´óºÍ×îСµÄÓÅÏȼ¶Öµ£¬·ñÔò·µ»Ø£1¡£
´ÓÎÒÏÖÔÚÔËÐеÄlinuxϵͳÖУ¬ÎÒʹÓÃÏÂÁгÌÐò£¨³ÌÐò¼û¸½Â¼£©»ñÈ¡Á˶ÔÓ¦ÈýÖÖµ÷¶È²ßÂÔÖеÄ×î´óºÍ×îСÓÅÏȼ¶£º
policy = SCHED_OTHER
Show current configuration of priority
max_priority = 0
min_priority = 0
Show SCHED_FIFO of priority
max_priority = 99
min_priority = 1
Show SCHED_RR of priority
max_priority = 99
min_priority = 1
Show priority of current thread
priority = 0
Set thread policy
......
Linux ÄÚºËÆô¶¯·ÖÎö
1. ÄÚºËÆô¶¯µØÖ·
1.1. Ãû´Ê½âÊÍ
ZTEXTADDR
½âѹ´úÂëÔËÐеĿªÊ¼µØÖ·¡£Ã»ÓÐÎïÀíµØÖ·ºÍÐéÄâµØÖ·Ö®·Ö£¬ÒòΪ´ËʱMMU´¦ÓڹرÕ״̬¡£Õâ¸öµØÖ·²»Ò»¶¨Ê±RAMµÄµØÖ·£¬¿ÉÒÔÊÇÖ§³Ö¶ÁдѰַµÄflashµÈ´æ´¢Öн顣
Start address of decompressor. here's no point in talking about virtual or physical addresses here, since the MMU will be off at the time when you call the decompressor code. You normally call the kernel at this address to start it booting. This doesn't have to be located in RAM, it can be in flash or other read-only or read-write addressable medium.
ZRELADDR
ÄÚºËÆô¶¯ÔÚRAMÖеĵØÖ·¡£Ñ¹ËõµÄÄÚºËÓ³Ïñ±»½âѹµ½Õâ¸öµØÖ·£¬È»ºóÖ´ÐС£
This is the address where the decompressed kernel will be written, and eventually executed. The following constraint must be valid:
&nbs ......