LinuxÖеÄÄÚ´æ·ÖÅäºÍÊÍ·ÅÖ®__free_pages()º¯Êý·ÖÎö
¼ÇµÃÎÒÃÇÔÚÉÏÆªÎÄÕÂmem_init()·ÖÎöÖÐÌáµ½__free_page()º¯ÊýÂð£¿ÎÒÃÇÏÖÔÚÀ´ÍêÉÆËü¡£ËüµÄµ÷Óùý³ÌÊÇÕâÑùµÄ£ºmem_init()->free_all_bootmem_node():ÎÒÃÇÖªµÀÕâ¸öº¯ÊýÊÇͳ¼ÆÒ»¹²ÊÍ·ÅÁ˶àÉÙ¿ÕÏÐÒ³¡£->free_all_bootmem_core()¾ÍÊÇÔÚÕâ¸öº¯ÊýÀïÃæÏȺó¶à´Îµ÷ÓÃ__free_pages()º¯Êý¡£Ä¿µÄ¾ÍÊÇΪÁËÊÍ·Åÿ¸öÄÚ´ænodeÀïÃæÎÞÓõÄÄÚ´æ¿×¶´Ò³¡£ÎÒÃÇÏÖÔÚ¾ÍÀ´ºÃºÃ̽ÌÖÕâ¸öº¯Êý¡£
fastcall void __free_pages(struct page *page, unsigned int order)
{
if (!PageReserved(page) && put_page_testzero(page)) {
if (order == 0)
free_hot_page(page);//ÎÒÃÇÏÈÀ´¿´¿´Õâ¸öº¯Êý¡£
else
__free_pages_ok(page, order);//ÎÒÃÇ×îºó²ÅÀ´ÌÖÂÛÕâ¸öº¯Êý¡£
}
}
void fastcall free_hot_page(struct page *page)
{
free_hot_cold_page(page, 0);
}
static void fastcall free_hot_cold_page(struct page *page, int cold)//Èç¹ûcoldÊÇ0µÄ»°£¬±íʾҪ°ÑpageËùÖ¸ÏòÄÚ´æÒ³Êͷŵ½
//ÆäËùÔÚÄÚ´æÒ³ÇøÖе±Ç°´¦ÀíÆ÷µÄ“ÈÈÇø”ÄÚ´æÖУ¬Èç¹ûΪ1µÄ»°£¬¾ÍÊͷŵ½ÕâÒ³ËùÔÚÒ³Çø
//Öе±Ç°´¦ÀíÆ÷µÄ“ÀäÇø”¸ßËÙ»º´æÄÚ´æÖС£ÔÚÕâÀï¿Ï¶¨Óв»ÉÙÈ˲»Ì«Á˽âlinuxÔÚÆô¶¯ºóÊÇ
&nbs
Ïà¹ØÎĵµ£º
zz linux yum°²×°mysqlºóҪעÒâµÄһЩ³õʼ»¯ÎÊÌâ
ÎҵķþÎñÆ÷×°µÄÊÇcentos 5.3,ÓÉÓÚ×ʼ°²×°×öÁËÏêϸµÄ¼Ç¼,ËùÒÔÕû¸ö¹ý³ÌÒ²ÊÇÇá³µÊì·,һ·yumÏÂÀ´£¬¾Í¸ã¶¨ÁË£¬È»ºó¾ÍÊÇÊý¾Ý¿â¡¢ÍøÕ¾µÄ°á¼Ò£¬ÇáËɸ㶨~
¿ÉÊǽñÌìÔÚ¼Ò¿´ÁËϹ«Ë¾µÄÍøÕ¾£¬ÎÊÌâ³öÀ´ÁË~ ÓÐЩ²úÆ·µã»÷²é¿´ÏêϸÐÅÏ¢µÄʱºò£¬ÕÒ²»µ½ÍøÒ³~¾¹ýÒ»·¬Ë¼¿¼£¬·¢ÏÖÊÇmysql ......
LinuxͼÐλ¯Àú³Ì
×¢£º´Ë¶ÎÎÄÕÂ×ÛºÏÁËÖÚ¶à×ÊÁÏ£¬Ö÷ÒªÒýÓøöÈ˵çÄÔµÄÎÄÕÂ
̸ÆðOPIE£¬¾Í²»Äܲ»Ì¸Qt£¬È»¶øÒª¶ÔQtÓиöÀ´ÁúÈ¥ÂöµÄÈÏʶ£¬ÐèÒª´ÓLinux
ͼÐλ¯ËµÆð¡£ÈÃÎÒÃǻعËÏÂLinuxͼÐλ¯½çÃæ·¢Õ¹µÄÀúÊ·¡£
Linuxʵ¼ÊÉÏÊÇÒÔUNIXΪģ°åµÄ£¬Ëü¼Ì ......
ͼ 1. Linux Îļþϵͳ×é¼þµÄÌåϵ½á¹¹
Óû§¿Õ¼ä°üº¬Ò»Ð©Ó¦ÓóÌÐò£¨ÀýÈ磬ÎļþϵͳµÄʹÓÃÕߣ©ºÍ GNU C ¿â£¨glibc£©£¬ËüÃÇΪÎļþϵͳµ÷Ó㨴ò¿ª¡¢¶ÁÈ¡¡¢Ð´ºÍ¹Ø±Õ£©ÌṩÓû§½Ó¿Ú¡£ÏµÍ³µ÷ÓýӿڵÄ×÷ÓþÍÏñÊǽ»»»Æ÷£¬Ëü½«ÏµÍ³µ÷ÓôÓÓû§¿Õ¼ä·¢Ë͵½Äں˿ռäÖеÄÊʵ±¶Ëµã¡£
VFS ÊǵײãÎļþϵͳµÄÖ÷Òª½Ó¿Ú¡£Õâ¸ö×é¼þµ¼³öÒ» ......
linuxÃæÊÔ´óÈ«
Ò»£®Ìî¿ÕÌ⣺
1. ÔÚLinuxϵͳÖУ¬ÒÔ Îļþ ·½Ê½·ÃÎÊÉ豸 ¡£
2. LinuxÄÚºËÒýµ¼Ê±£¬´ÓÎļþ /etc/fstab ÖжÁȡҪ¼ÓÔØµÄÎļþϵͳ¡£
3. LinuxÎļþϵͳÖÐÿ¸öÎļþÓà i½Úµã À´±êʶ¡£
4. È«²¿´ÅÅÌ¿éÓÉËĸö²¿·Ö×é³É£¬·Ö±ðΪÒýµ¼¿é ¡¢×¨ÓÃ¿é ¡¢ i½Úµã±í¿é ºÍÊý¾Ý´æ´¢¿é¡£
5. Á´½Ó·ÖΪ£º Ó²Á´½Ó ºÍ ·ûºÅÁ´½Ó ¡ ......
1.Ò»ÖÖ¶¨Ò庯ÊýÖ¸ÕëµÄ·½·¨
<linux/proc_fs.h>
typedef int (read_proc_t)(char *page, char **start, off_t offset, int count, int *eof, void *data);
read_proc_t *proc_read;
ÕâÖÖ¶¨Òå·½·¨ÓÐÒ»¸öÓÅÊÆ¾ÍÊÇ£¬¼´Ê¹ÄãûÓп´µ½read_proc_tµÄ¶¨Ò壬ҲÄܹ»Çå³þµÄÖªµÀproc_readÊÇÒ»¸öÖ¸Õ룬ÈçÏÂÃæ ......