linuxÄں˴úÂë——Ò³¿òµÄ»ØÊÕ(2.4.18)
дÕâÆªblog²ÎÕÕÁËO'Reilly µÄ¡¶Understanding the Linux Kernel¡·£¬»òÕß˵ÊǴ󲿷ֲÎÕÕ£¬Êµ¼ÊÉÏÕâ±¾Ê鹨ÓÚÕâÕÂдµÃȷʵºÜ¾µä¡£¾¡¹ÜÈç´Ë£¬ÔÚ¿´´úÂëµÄ¹ý³ÌÖÐÎÒÈÔÈ»Óöµ½Á˺ܶàÀ§»ó£¬ÒÔÖÁÓÚ¿´¹ýÁ½±éÖ®ºóÄÔ×ÓÀﻹÊÇһ͎¬ºý¡£ËùÒÔ»¹µÃ¸Ðл´åÒ¯°ïÎÒÀíÇå³þÁË˼·£¬²»¸Òµ¡Âý£¬¸Ï½ôдÏÂÀ´·ÀÖ¹Íü¼Ç¡£(ÒÔÏ´úÂë¼°½âÊ;ùÒÔ2.4.18°æ±¾Îª×¼£©
¹ÜÀíÒ³¿ò»ØÊÕµÄÖ÷Òªº¯ÊýÊÇtry_to_free_pages£¬º¯ÊýÔÐÍÊÇint try_to_free_pages(zone_t *classzone, unsigned int gfp_mask, unsigned int order)¡£Õâ¸öº¯ÊýµÄ²ÎÊý£ºclasszone--Òª»ØÊÕµÄÒ³¿òËùÔڵĹÜÀíÇø£»gfp_mask--±êÖ¾£¬Õâ¸ö²»ºÃ½âÊÍ£¬½¨Òé´ó¼Ò¿´´úÂ룻order--ÊÍ·ÅÒ»¸öÒ³¿òËùÒÔÊÇ0¡£¿´Õâ¸öº¯Êý֮ǰÐèÒªÁ˽âÒ»ÏÂLRUÁ´±í£¬»î¶¯Á´±íÓë·Ç»î¶¯Á´±íÊÇÒ³¿ò»ØÊյĺËÐÄÊý¾Ý½á¹¹£¬ÇëÏȲ¹È«Õⲿ·ÖµÄ֪ʶ£¡ÏÂÃæÒÔ´úÂë·ÖÎö£º
int try_to_free_pages(zone_t *classzone, unsigned int gfp_mask, unsigned int order)
{
int priority = DEF_PRIORITY; //ĬÈÏÓÅÏȼ¶
int nr_pages = SWAP_CLUSTER_MAX; //ÊͷŵÄÒ³¿òÊý
gfp_mask = pf_gfp_mask(gfp_mask); //¼ì²é±ê־λ
do {
nr_pages = shrink_caches(classzone, priority, gfp_mask, nr_pages); //Ñ»·µ÷ÓÃshrink_cachesÊÍ·ÅÒ³¿ò¡£Ã¿´ÎÑ»·ÓÅÏȼ¶ÊýÖµµÝ¼õ£¨ÓÅÏȼ¶¸ü¸ß
if (nr_pages <= 0)
&n
Ïà¹ØÎĵµ£º
1£ºËùÐèÍ·Îļþ£º<systypes.h>£¨Êý¾ÝÀàÐͶ¨Ò壩 < sys/socket.h>£¨Ìṩsocketº¯ÊýºÍÊý¾Ý½á¹¹£©
<netinet/in.h>£¨¶¨ÒåÊý¾Ý½á¹¹sockaddr_in£© <netdb.h>£¨Ìṩ»ñÈ¡ÓòÃû»òIPµÄº¯Êý£©
<arpa/inet.h>£¨ÌṩIPµØÖ·×ª»»º¯Êý£© < ......
±¾ÎĽéÉÜÈçºÎÔÚLinuxÏÂÅäÖÃJava»·¾³±äÁ¿¡£ÅäÖù²·ÖÊ®¸ö²½Ö裬´ÓÏÂÔØJDK¿ªÊ¼£¬µ½LinuxÉÏJDKµÄ°²×°£¬EclipseµÄÏàÓ¦ÅäÖã¬×îÖÕÔÚ×ÀÃæÉÏ´´½¨Ò»¸öÆô¶¯Æ÷£¬Â·¾¶ÉèÖõ½Eclipse£¬¾Í´ËÍê³ÉJava»·¾³±äÁ¿µÄÅäÖá£
1.È¥http://java.sun.com/j2se/1.4.2/download.html
ÏÂÔØÒ»¸öLinux PlatformµÄJDK£¬
½¨ÒéÏÂÔØRPM×Ô½âѹ¸ñʽµÄ£¨RP ......
3¡¢Ìõ¼þ±äÁ¿
¡¡¡¡Ç°Ò»½ÚÖÐÎÒÃǽ²ÊöÁËÈçºÎʹÓû¥³âËøÀ´ÊµÏÖÏ̼߳äÊý¾ÝµÄ¹²ÏíºÍͨÐÅ£¬»¥³âËøÒ»¸öÃ÷ÏÔµÄȱµãÊÇËüÖ»ÓÐÁ½ÖÖ״̬£ºËø¶¨ºÍ·ÇËø¶¨¡£¶øÌõ¼þ±äÁ¿Í¨¹ýÔÊÐíÏß³Ì×èÈûºÍµÈ´ýÁíÒ»¸öÏ̷߳¢ËÍÐźŵķ½·¨ÃÖ²¹ÁË»¥³âËøµÄ²»×㣬Ëü³£ºÍ»¥³âËøÒ»ÆðʹÓá£Ê¹ÓÃʱ£¬Ìõ¼þ±äÁ¿±»ÓÃÀ´×èÈûÒ»¸öỊ̈߳¬µ±Ìõ¼þ²»Âú×ãʱ£¬Ïß³ÌÍùÍù½â¿ªÏ ......
ÐÞ¸ÄÏ̵߳ÄÊôÐÔ
¡¡¡¡ÔÚÉÏÒ»½ÚµÄÀý×ÓÀÎÒÃÇÓÃpthread_createº¯Êý´´½¨ÁËÒ»¸öỊ̈߳¬ÔÚÕâ¸öÏß³ÌÖУ¬ÎÒÃÇʹÓÃÁËĬÈϲÎÊý£¬¼´½«¸Ãº¯ÊýµÄµÚ¶þ¸ö²ÎÊýÉèΪNULL¡£µÄÈ·£¬¶Ô´ó¶àÊý³ÌÐòÀ´Ëµ£¬Ê¹ÓÃĬÈÏÊôÐԾ͹»ÁË£¬µ«ÎÒÃÇ»¹ÊÇÓбØÒªÀ´Á˽âÒ»ÏÂÏ̵߳ÄÓйØÊôÐÔ¡£
¡¡¡¡ÊôÐԽṹΪpthread_attr_t£¬ËüͬÑùÔÚÍ·Îļþ/usr/include/pthread.hÖÐ ......
½ø³ÌÒ»µ©µ÷ÓÃÁËwait£¬¾ÍÁ¢¼´×èÈû×Ô¼º£¬ÓÉwait×Ô¶¯·ÖÎöÊÇ·ñµ±Ç°½ø³ÌµÄij¸ö×Ó½ø³ÌÒѾÍ˳ö£¬Èç¹ûÈÃËüÕÒµ½ÁËÕâÑùÒ»¸öÒѾ±ä³É½©Ê¬µÄ×Ó½ø³Ì£¬wait ¾Í»áÊÕ¼¯Õâ¸ö×Ó½ø³ÌµÄÐÅÏ¢£¬ ²¢°ÑËü³¹µ×Ïú»Ùºó·µ»Ø£»Èç¹ûûÓÐÕÒµ½ÕâÑùÒ»¸ö×Ó½ø³Ì£¬wait¾Í»áÒ»Ö±×èÈûÔÚÕâÀֱµ½ÓÐÒ»¸ö³öÏÖΪֹ¡£
wait£¨µÈ´ý×Ó½ø³ÌÖжϻò½áÊø£©
Ïà¹Øº¯Êý waitp ......