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

LinuxÉ豸Çý¶¯±à³ÌÖ®ÄÚ´æÓëI/O²Ù×÷£¨×ª£©

תÖÁ£º http://dev.yesky.com/412/2639912.shtml
¶ÔÓÚÌṩÁËMMU£¨´æ´¢¹ÜÀíÆ÷£¬¸¨Öú²Ù×÷ϵͳ½øÐÐÄÚ´æ¹ÜÀí£¬ÌṩÐéʵµØÖ·×ª»»µÈÓ²¼þÖ§³Ö£©µÄ´¦ÀíÆ÷¶øÑÔ£¬LinuxÌṩÁ˸´ÔӵĴ洢¹ÜÀíϵͳ£¬Ê¹µÃ½ø³ÌËùÄÜ·ÃÎʵÄÄÚ´æ´ïµ½4GB¡£
¡¡¡¡½ø³ÌµÄ4GBÄÚ´æ¿Õ¼ä±»ÈËΪµÄ·ÖΪÁ½¸ö²¿·Ö--Óû§¿Õ¼äÓëÄں˿ռ䡣Óû§¿Õ¼äµØÖ··Ö²¼´Ó0µ½3GB(PAGE_OFFSET£¬ÔÚ0x86ÖÐËüµÈÓÚ0xC0000000)£¬3GBµ½4GBΪÄں˿ռ䣬ÈçÏÂͼ£º
¡¡¡¡Äں˿ռäÖУ¬´Ó3Gµ½vmalloc_startÕâ¶ÎµØÖ·ÊÇÎïÀíÄÚ´æÓ³ÉäÇøÓò£¨¸ÃÇøÓòÖаüº¬ÁËÄں˾µÏñ¡¢ÎïÀíÒ³¿ò±ímem_mapµÈµÈ£©£¬±ÈÈçÎÒÃÇʹÓõÄVMwareÐéÄâϵͳÄÚ´æÊÇ160M£¬ÄÇô3G¡«3G+160MÕâÆ¬ÄÚ´æ¾ÍÓ¦¸ÃÓ³ÉäÎïÀíÄÚ´æ¡£ÔÚÎïÀíÄÚ´æÓ³ÉäÇøÖ®ºó£¬¾ÍÊÇvmallocÇøÓò¡£¶ÔÓÚ160MµÄϵͳ¶øÑÔ£¬vmalloc_startλÖÃÓ¦ÔÚ3G+160M¸½½ü£¨ÔÚÎïÀíÄÚ´æÓ³ÉäÇøÓëvmalloc_startÆÚ¼ä»¹´æÔÚÒ»¸ö8MµÄgapÀ´·ÀÖ¹Ô¾½ç£©£¬vmalloc_endµÄλÖýӽü4G(×îºóλÖÃϵͳ»á±£ÁôһƬ128k´óСµÄÇøÓòÓÃÓÚרÓÃÒ³ÃæÓ³Éä)£¬ÈçÏÂͼ£º
¡¡¡¡kmallocºÍget_free_pageÉêÇëµÄÄÚ´æÎ»ÓÚÎïÀíÄÚ´æÓ³ÉäÇøÓò£¬¶øÇÒÔÚÎïÀíÉÏÒ²ÊÇÁ¬ÐøµÄ£¬ËüÃÇÓëÕæÊµµÄÎïÀíµØÖ·Ö»ÓÐÒ»¸ö¹Ì¶¨µÄÆ«ÒÆ£¬Òò´Ë´æÔڽϼòµ¥µÄת»»¹ØÏµ£¬virt_to_phys()¿ÉÒÔʵÏÖÄÚºËÐéÄâµØÖ·×ª»¯ÎªÎïÀíµØÖ·£º
#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET)
extern inline unsigned long virt_to_phys(volatile void * address)
{
¡¡return __pa(address);
}
¡¡¡¡ÉÏÃæ×ª»»¹ý³ÌÊǽ«ÐéÄâµØÖ·¼õÈ¥3G£¨PAGE_OFFSET=0XC000000£©¡£
¡¡¡¡ÓëÖ®¶ÔÓ¦µÄº¯ÊýΪphys_to_virt()£¬½«ÄÚºËÎïÀíµØÖ·×ª»¯ÎªÐéÄâµØÖ·£º
#define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET))
extern inline void * phys_to_virt(unsigned long address)
{
¡¡return __va(address);
}
¡¡¡¡virt_to_phys()ºÍphys_to_virt()¶¼¶¨ÒåÔÚinclude\asm-i386\io.hÖС£
¡¡¡¡¶øvmallocÉêÇëµÄÄÚ´æÔòλÓÚvmalloc_start¡«vmalloc_endÖ®¼ä£¬ÓëÎïÀíµØÖ·Ã»Óмòµ¥µÄת»»¹ØÏµ£¬ËäÈ»ÔÚÂß¼­ÉÏËüÃÇÒ²ÊÇÁ¬ÐøµÄ£¬µ«ÊÇÔÚÎïÀíÉÏËüÃDz»ÒªÇóÁ¬Ðø¡£
¡¡¡¡ÎÒÃÇÓÃÏÂÃæµÄ³ÌÐòÀ´ÑÝʾkmalloc¡¢get_free_pageºÍvmallocµÄÇø±ð£º
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
MODULE_LICENSE("GPL"); 
unsigned char *pagemem;
unsigned char *kmallocmem;
unsigned char *vmallocmem;
int __init mem_module_init(void)
{
¡¡//×îºÃÿ´ÎÄÚ´æÉêÇë¶¼¼ì²éÉêÇ


Ïà¹ØÎĵµ£º

Linux RPM ÃüÁî²ÎÊýʹÓÃÏê½â£Û½éÉܺÍÓ¦ÓãÝ


RPMÊÇRedHat Package Manager£¨RedHatÈí¼þ°ü¹ÜÀí¹¤¾ß£©ÀàËÆWindowsÀïÃæµÄ¡°Ìí¼Ó/ɾ³ý³ÌÐò¡±
 
rpm Ö´Ðа²×°°ü
¶þ½øÖưü£¨Binary£©ÒÔ¼°Ô´´úÂë°ü£¨Source£©Á½ÖÖ¡£¶þ½øÖưü¿ÉÒÔÖ±½Ó°²×°ÔÚ¼ÆËã»úÖУ¬¶øÔ´´úÂë°ü½«»áÓÉRPM×Ô¶¯±àÒë¡¢°²×°¡£Ô´´úÂë°ü¾­³£ÒÔsrc.rpm×÷Ϊºó׺Ãû¡£
 
³£ÓÃÃüÁî×éºÏ£º
 
£­ivh£º ......

µ÷ÕûlinuxÐéÄâ»úÓ²ÅÌ´óС

°²×°Ê±Ó²Å̿ռ䲻×ã
    ¹ÒÔØÒ»¸öÐÂÓ²ÅÌ
    ÏȽ«ÐéÄâ»úPower Off£¬ÔÚVirtual Machine Setting¶Ô»°¿òÀïµã»÷×óϽǵēAdd”£¬Ñ¡Ôñ“Hard Disk”£¬Ö®ºóÑ¡Ôñ“Create a new virtual disk”£¬·ÖÅäÈÝÁ¿£¬ÆäËûĬÈÏÅäÖá£
    Æô¶¯ÐéÄâ»úϵͳ£¬Óà ......

linux Ï ÓÃcÓïÑÔ´´½¨mysqlÊý¾Ý¿â±Ê¼Ç£¨¶þ£©

linux Ï ÓÃcÓïÑÔ´´½¨mysqlÊý¾Ý¿â±Ê¼Ç£¨¶þ£©
                       
£­£­£­£­£­£­£­Á½¸ö¼òµ¥µÄÀý×Ó£¬¹©²Î¿¼±È½Ï
¡¶ÀýÒ»¡·
#include <stdio.h>
#include <stdlib.h>
#include
&q ......

Linux Óû§ÃûºÍÃÜÂëÒÅÍü

²ËÄñ¾ÍÊDzËÄñ£¬Ê²Ã´ÎÊÌâ¶¼ÄÜÓöµ½°¡¡£¡£¸ÕÏëѧϰÏÂlinux ¾ÍÓöµ½ÕâÖְ׳ÕÎÊÌ⣬°Ù¶ÈÏ »¹ÊÇÓнáÂÛµÄÂ𡣺ǺÇ
ÒÔÏÂΪ²ÎÕյĽâ¾ö·½°¸£º
¿ÉÒÔÒÔµ¥Ò»Ê¹ÓÃÕßµÄģʽµÇÈ룬ȻºóÔÙ½¨Á¢Ò»¸öеÄrootÃÜÂë¡£
Òª½øÈ뵥һʹÓÃÕßģʽ£¬ÇëÏÈÖØÐÂÆð¶¯ÄúµÄµçÄÔ£¬¼ÙÈçÄúʹÓÃÔ¤µ÷µÄ¿ª¹Ø¹ÜÀí³ÌʽGRUB£¬Äú¿ÉÒÔÖ´ÐÐÏÂÁе͝×÷À´½øÈ뵥һʹÓÃÕßÄ£Ê ......

linux¿Í»§¶ËÁ¬½ÓºóÖÐÎÄÂÒÂë½â¾ö


ÓÃSSHµÇ½Զ³ÌµÄlinux·þÎñÆ÷»òÓÃwinä¯ÀÀÔËÐÐsambaµÄlinux·þÎñÆ÷ÖÐÓÐÖÐÎÄÃûµÄÎļþ¼ÐµÄʱºò£¬¿´µ½ÀïÃæµÄÖÐÎÄÎļþÃû¶¼ÊÇÂÒÂ룬±à¼­ÎĵµµÄʱºò¶¼ÊÇ´®Ðеģ¬Ã¿´ÎÒªexport LANG=enÂé·³ËÀÁË¡£
ÉÏÍøËÄ´¦ËÑË÷£¬Çó½Ì¸ßÈË£¬µÃ´Ë°ì·¨¡£
(1) ´ò¿ª/etc/sysconfig/i18n
ÉèÖÃΪ£º
LANG="zh_CN.GB2312"
LANGUAGE="zh_CN.GB18030:zh_CN ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ