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

LinuxÖеÄÄÚ´æÒ³±í´´½¨Ö®memtable_init()º¯Êý·ÖÎö

    ±¾º¯ÊýµÄ·ÖÎöºÜÄѾßÌ壬ÒòÎªÉæ¼°Á˺ܶàarmµÄ´¦ÀíÆ÷ÐͺźÍÿ¸öÐͺŶÔÓ¦µÄcacheºÍwrite bufferµÄ¹¤×÷·½Ê½£¬ÕâÆ¬ÎÄÕÂÖ»ÊÇ×ö¼òµ¥µÄ¼Ç¼£¬·½±ãÒÔºóÁ˽â¸üÉîºó»ØÀ´ÔÙÀ´ÍêÉÆÕâ¸öº¯Êý¡£
     Õâ¸öº¯ÊýµÄµ÷Óùý³ÌÈ磺start_kernel()->setup_arch()->paging_init()->memtable_init().´«µÝµÄstruct meminfo miÊÇÒ»¸öÈ«¾Ö±äÁ¿£¬ÀïÃæ¼Ç¼ÁËÕû¸öϵͳËùÓÐbankµÄÐÅÏ¢¡£ÎÒÃÇÀ´´ó¸Å¿´¿´Õâ¸öº¯ÊýµÄ´úÂë¡£
     void __init memtable_init(struct meminfo *mi)
     {
         struct map_desc *init_maps, *p, *q;//ҪעÒâÕâÀïºÜÖØÒªµÄ½á¹¹-struct map_desc£¬Õâ¸ö½á¹¹ÌåµÄÄÚÈݵÈÏ»áϸ½²µÄ¡£
         unsigned long address = 0;
         int i;
         build_mem_type_table();//Õâ¸öº¯Êý¿ÉÒÔ˵À´ÊÇÎÒ×ºýµÄº¯Êý£¬ÎÒÃÇÀ´Ç³Îöһϰɡ£
static void __init build_mem_type_table(void)
{
 struct cachepolicy *cp;
 unsigned int cr = get_cr();//¾ÍÊÇ»ñµÃcp15µÄc1¼Ä´æÆ÷µÄÄÚÈÝ
 int cpu_arch = cpu_architecture();//»ñµÃ¼Ä´æÆ÷µÄ¼Ü¹¹°æ±¾
 int i;
#if defined(CONFIG_CPU_DCACHE_DISABLE)
       if (cachepolicy > CPOLICY_BUFFERED)
       cachepolicy = CPOLICY_BUFFERED;
#elif defined(CONFIG_CPU_DCACHE_WRITETHROUGH)
       if (cachepolicy > CPOLICY_WRITETHROUGH)
       cachepolicy = CPOLICY_WRITETHROUGH;
#endif//ÕâÀïÉæ¼°µ½Ò»¸öÈ«¾Ö±äÁ¿cachepolicy£¬ÎÒÃÇ¿ÉÒÔ³ÆÎªcacheÕþ²ß£¬Æäʵ¿ÉÒÔ¿´³öÒÔÉϼ¸Ðж¼ÊǺÍϵͳÅäÖÃÑ¡ÏîÓйصġ£
 if (cpu_arch < CPU_ARCH_ARMv5) {
                          if (cachepolicy >= CPOLICY_WRITEALLOC)
                 &n


Ïà¹ØÎĵµ£º

Linux °²×° memcached ±¸Íü

1.±àÒë°²×°libevent
2.±àÒë°²×°Memcached
ÔÚÎÒдÕâÆªÎÄÕµÄʱºò£¬libeventÒѾ­ÓÐ1.4.8Îȶ¨°æ
£¬Memcached ServerÒѾ­ÓÐ1.3.0°æ±¾
¡£±¾ÎľÍÒÔÕâÁ½¸ö°æ±¾ÎªÀý£¬ÎÒµÄgccÊÇgcc version 3.3.4 (Debian 1:3.3.4-7)¡£
Ê×ÏȰ²×°libevent
wget http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz
tar zxvf libeven ......

linuxÁ½¸ö³ÌÐòͨ¹ý¹²ÏíÄÚ´æÍ¨ÐŵÄÒ»¸ö¼òµ¥Àý×Ó

д¹²ÏíÄÚ´æ³ÌÐò£º
/*
* File: server.cpp
* Author: centos
*˵Ã÷£º´Ó¼üÅ̶ÁÈëÊý¾Ý£¬´æ·ÅÔÚ¹²ÏíÄÚ´æÖС£
* Created on 2010Äê3ÔÂ1ÈÕ, ÏÂÎç3:44
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include < ......

linux socketѧϰ±Ê¼Ç£¨µÚ¶þÕ£©


ÓòºÍµØÖ·×å
    ÓÐÒ»¸öºÜÇ¡µ±µÄ±ÈÓ÷˵Ã÷Ì×½Ó¿Ú±à³Ì£¬Ì׽ӿھͺñȵ绰£¬¶øµç»°ÍøÖеĵ绰ºÅÂë¾ÍºÃÏñÌ×½Ó¿ÚµØÖ·¡£ËµÃ÷Ì×½Ó¿Ú¿ÉÒÔÓÃÌØ¶¨µÄµØÖ·À´±êʾ×Ô¼º¡£²¢²»ÊÇËùÓеÄÌ×½Ó¿Ú¶¼ÐèÒªµØÖ·£¬±ÈÈçÎÞÃûÌ׽ӿھͲ»ÐèÒªµØÖ·£¬ÀýÈ纯Êýsocketpair(2)¾ÍÉú³ÉÁËÒ»¶Ô»¥Ïà¿ÉÒÔÁ¬½Óµ«ÊÇȴûÓеØÖ·µÄÌ×½Ó¿Ú¡£ÊéÖбÈÓ÷˵¾Í ......

Îå´ó·Ç³£¼ûLinuxÃüÁî

Îå´ó·Ç³£¼ûLinuxÃüÁî
 2010-1-29
µ¼¶Á£º±¾ÎĽéÉÜLinux²»³£¼ûµÄÎå¸öÃüÁî¡£°üÀ¨logsave¡¢diff3ºÍpstreeµÈ¡£
¹Ø¼ü´Ê£ºLinux logsave diff3 pstree
 
ÕýÔÚ¼ÓÔØÊý¾Ý...
¡¾TechTargetÖйúÔ­´´¡¿LinuxÓдóÁ¿µÄÃüÁîÐй¤¾ß£¬´ÓÿÌì¶¼»áʹÓõÄls¡¢cdÒÔ¼°psÕâЩ¹¤¾ß£¬µ½Äú¿ÉÄÜ»¹Ã»ÓÐʹÓùý£¬»òÕßÉõÖÁûÓÐÌý˵¹ýµÄ²»³ ......

linuxÏÂ×¥Êý¾Ý°ü


linuxϵͳÈçºÎץȡÊý¾Ý°ü½øÐзÖÎö
(2009-08-30 23:59:37) linuxÉÏÓÐÁ½ÖֱȽϺõÄ×¥°ü¹¤¾ß£ºetherealºÍtcpdump
¶ÔÓÚethereal£¬ÓÐͼÐνçÃæºÍ×Ö·û½çÃæÁ½ÖÖ·½Ê½¡£
µ½linuxϵͳÉÏÖ´ÐÐrpm -qa | grep ethereal-gnome¿É²é¿´ÊÇ·ñ°²×°ÁËͼÐΰ汾
µ«ÊÇÈç¹û·þÎñÆ÷ÉÏûÓÐxwinͼÐλ·¾³£¬ÄÇô¾ÍÖ»ÄÜÓÃ×Ö·û½çÃæÁË
ÃüÁtethereal
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ