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

LinuxÄÚ´æ¿Õ¼ä·ÃÎÊÔý¼Ç(ת)

http://blog.chinaunix.net/u/25764/showart_1882931.html
Òý£º±¾À´´òË㽫Õⲿ·ÖÄÚÈݲ¢Èëµ½¡¶The Linux Kernel Module Programming Guide±Ê¼Ç¡·ÖÐÈ¥£¬µ«ÊÇÏëÏÂÄÚ´æ¿Õ¼ä¹ÜÀí·ÃÎÊÏ൱»ù´¡ÖØÒª¶øÇÒÄÚÈÝÁ¿½Ï´ó£¬ËùÒԾ͵¥¶À¼Ç¼¡£ÔÚ¹ýÈ¥Ò»ÄêÀÓÉÓڳɹ¦¿ª·¢¹ý¼¸¸öÆÄΪ¸´ÔÓµÄÉ豸Çý¶¯£¬¾Í×ÔÒÔÎªÕÆÎÕÁËÇý¶¯¿ª·¢µÄ·½·¨ºÍ¼¼ÇÉ£¬ÊÂʵÉÏÔÚ»ù´¡ÉÏ£¬ÎÒÈ´ÓÐ×ÅÖÂÃüµÄäµã¡£Õâ¸öäµã¾ÍÊÇLinuxµÄÄÚ´æ¹ÜÀí£¬ÆäʵºÜ¾Ã֮ǰ£¬¾ÍÒ»Ö±¾Í¸ã²»¶®MMU¡¢Page¡¢Section¡¢Ò³±íµÈ¸ÅÄÄÇʱÒÔΪÕâЩ²¢²»ÖØÒª¡£ÏÖÔÚ¿´À´ÖÕÓÚ³¢µ½¿à¹ûÁË£¬ÔÚ¿ª·¢Virtual FramebufferµÄʱºò£¬¾ÍÔÚmmapÕâ¸ö½Ó¿ÚʵÏÖÉÏ¿¨×¡ÁË¡£Ë×»°Ëù˵µÄÊéµ½ÓÃʱ·½ºÜÉÙ£¬ÊÇÖÁÀíÃûÑÔ°¡¡£
 
×¢£ºÔÚx86¼Ü¹¹ÉÏ£¬»á·ÖΪÄÚ´æ¿Õ¼äºÍI/O¿Õ¼ä£¬µ«ÊÇÔÚ´ó¶àÊýǶÈëʽ¿ØÖÆÆ÷ÈçARM¡¢PowerPC²¢²»ÌṩI/O¿Õ¼ä¡£ÎÒÃæÏòµÄÖ÷ÒªÊÇǶÈëʽ·½ÃæµÄÇý¶¯¿ª·¢£¬ËùÒÔÕâÀï²¢²»ÌÖÂÛI/O¿Õ¼äµÄÄÚÈÝ¡£±¾ÎĵÄÄÚÈÝ´ó¶àÊýÊÇժ¼¡¶LinuxÉ豸Çý¶¯¿ª·¢Ïê½â¡·µÄµÚʮһÕ£¬²¢½áºÏÎÒÔÚ¿ª·¢¹ý³ÌµÄһЩÐĵÃÌå»á¡£
 
Ò»¡¢ÄÚ´æ¹ÜÀíµ¥ÔªMMU
    MMU¸¨Öú²Ù×÷ϵͳ½øÐÐÄÚ´æ¹ÜÀí¡¢ÌṩÐéÄâµØÖ·ºÍÎïÀíµØÖ·µÄÓ³Éä¡¢ÄÚ´æ·ÃÎÊȨÏÞ±£»¤ºÍCache»º´æ¿ØÖƵÈÓ²¼þÖ§³Ö£¬¿É¼û£¬Õ⽫ʹµÃLinux²Ù×÷ϵͳÄܵ¥¶ÀΪϵͳµÄÿ¸öÓû§·ÖÅä¶ÀÁ¢µÄÄÚ´æ¿Õ¼ä²¢±£Ö¤Óû§¿Õ¼ä²»ÄÜ·ÃÎÊÄں˿ռäµÄµØÖ·£¬Îª²Ù×÷ϵͳµÄÐéÄâÄÚ´æ¹ÜÀíÄ£¿éÌṩÁËÓ²¼þ»ù´¡¡£
    ÔÚs3c2410µÄviviÕâ¸öbootloaderÖУ¬½¨Á¢ÁËÒ»¸ö4GBÎïÀíµØÖ·ÓëÐéÄâµØÖ·Ò»Ò»Ó³ÉäµÄÒ»¼¶Ò³±í£¬ÎÒÃÇ¿ÉÒÔͨ¹ýº¯Êýmem_mapping_linear()À´Ì½Ñ°Ò»ÏÂÆä´´½¨¹ý³Ì
static inline void mem_mapping_linear(void)
{
  unsigned long pageoffset, sectionNumber;
  /*4GBÐéÄâµØÖ·Ó³Éäµ½ÏàÓ¦µÄÎïÀíµØÖ·ÉÏ£¬¾ù²»ÄÜ»º´æ*/
  for (sectionNumber = 0; sectionNumber < 4096; sectionNumber++)
  {
    pageoffset = (sectionNumber << 20);
    *(mmu_tlb_base + (pageoffset >> 20)) = pageoffset | MMU_SECDESC;
    //mmu_tlb_baseΪ´æ·ÅÒ³±íµÄÊ×µØÖ·,tlbÊÇת»»ÅÔ·»º´æ£¬ÊÇת»»±íµÄCache
  }
  /*ʹÄÜDRAMµÄÇøÓò¿É»º´æ*/
 


Ïà¹ØÎĵµ£º

Linux ƽ̨Ï MYSQL°²×° Æô¶¯ mysqlÃüÁî

MYSQL°²×°
//½âѹ±àÒë°²×°
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.confÎļþÐÞ¸Ä
# vi my.cnf
ÐÞ¸Äǰ£º
port  &nb ......

LinuxÄڴ棺ÄÚ´æ¹ÜÀíµÄʵÖÊ

1. Äں˳õʼ»¯£º
    * Äں˽¨Á¢ºÃÄÚºËҳĿ¼ҳ±íÊý¾Ý¿â£¬¼ÙÉèÎïÀíÄÚ´æ´óСΪlen£¬Ôò½¨Á¢ÁË[3G--3G+len]::[0--len]ÕâÑùµÄÐ鵨ַvaddrºÍÎïÀíµØÖ·paddrµÄÏßÐÔ¶ÔÓ¦¹ØÏµ£»
    * Äں˽¨Á¢Ò»¸öpageÊý×飬pageÊý×éºÍÎïÀíÒ³ÃæÏµÁÐÍêÈ«ÊÇÏßÐÔ¶ÔÓ¦£¬pageÓÃÀ´¹ÜÀí¸ ......

LinuxÃüÁ


1. ×î³£ÓõÄÃüÁîÁбí
ÏÂÃæÁгöÊ®¸öÔÚʹÓÃlinux¹ý³ÌÖÐʹÓÃÆµÂÊ×î¸ßµÄÃüÁî¡£ÕâÀïÖ»×÷¼òµ¥½éÉÜ£¬¾ßÌåÓ÷¨Çë²Î¿¼ºóÃæÄÚÈÝ¡£
cat£¬ÏÔʾÎļþÄÚÈÝ¡£
cd£¬¸Ä±äĿ¼·¾¶¡£
cp£¬¸´ÖÆÎļþ¡£
find£¬²éÕÒÎļþ¡£
grep£¬ËÑË÷¡¢¹ýÂËÐÅÏ¢¡£
ls£¬ÁгöĿ¼ÐÅÏ¢¡£
more£¬·ÖÒ³ÏÔʾ¡£
rm£¬É¾³ýÎļþ»òĿ¼¡£
vi£¬µ÷ÓÃviÎı¾±à¼­Æ÷ ......

LinuxϵͳÉϰ²×°MYSQLÊý¾Ý¿â

Èç¹ûÊÇwinϵģ¬ÎÒ¸öÈËÍÆ¼öËÑË÷ÏÂÒ»¼ü°²×°°ü£¡ÎÒÓõľÍÊÇphp+mysql£¨×÷Õ߽УºÑ§Ï°À×·æºÃ°ñÑù£© °²×°Ò»ÏÂÈ«¶¼¿ÉÒÔÕý³£Ê¹ÓÃÁË£¬²»ÐèÒªµ÷Õû£¡
ÏÂÃæÊÇLinuxϰ²×°·½·¨£¡
¡¡1¡¢ÏÂÔØMySQLµÄ°²×°Îļþ
¡¡¡¡°²×°MySQLÐèÒªÏÂÃæÁ½¸öÎļþ£º
¡¡¡¡MySQL-server-5.0.26-0.i386.rpm
¡¡¡¡MySQL-client-5.0.26-0.i386.rpm
¡¡¡¡ÏÂÔØµØÖ·Î ......

Linux 0.12ÄÚºË

LinuxʹÓôÓ1970Äê1ÔÂ1ÈÕ0ʱ0·Ö0ÃëÆðµ½¿ª»úʱ¾­¹ýµÄÃëÊý×÷Ϊ¿ª»úʱ¼ä, ÊÇÔÚmain.cºÍmktime.cÖнøÐгõʼ»¯µÄ.
1. linux/init/main.c
/*
 * read current time from CMOS.
 * ·ÃÎÊCMOSÐèҪͨ¹ý¶Ë¿Ú0x70, 0x71½øÐÐ.
 * ¶ÁÊý¾Ýʱ,ÏÈÓÃOUTÖ¸ÁîÏò0x70·¢ËÍÒª¶ÁÈ¡×Ö½ÚµÄÆ«ÒÆÎ»ÖÃÖµ, È»ºóÓÃINÖ¸Áî´Ó0x71¶ÁÊý¾Ý. ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ