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

LinuxÄÚ´æÏßÐÔµØÖ·¿Õ¼ä²¼¾Ö½âÎö


 
LinuxÄÚ´æÏßÐÔµØÖ·¿Õ¼ä´óСΪ4GB£¬·ÖΪ2¸ö²¿·Ö£ºÓû§¿Õ¼ä²¿·Ö£¨Í¨³£ÊÇ3G£©ºÍÄں˿ռ䲿·Ö£¨Í¨³£ÊÇ1G£©¡£ÔÚ´ËÎÒÃÇÖ÷Òª¹Ø×¢Äں˵ØÖ·¿Õ¼ä²¿·Ö¡£
ÄÚºËͨ¹ýÄÚºËҳȫ¾ÖĿ¼À´¹ÜÀíËùÓеÄÎïÀíÄڴ棬ÓÉÓÚÏßÐÔµØÖ·Ç°3G¿Õ¼äΪÓû§Ê¹Óã¬ÄÚºËҳȫ¾ÖĿ¼ǰ768Ï¸ÕºÃ3G£©³ý0¡¢1Á½ÏîÍâÈ«²¿Îª0£¬ºó256Ï1G£©ÓÃÀ´¹ÜÀíËùÓеÄÎïÀíÄÚ´æ¡£ÄÚºËҳȫ¾ÖĿ¼ÔÚ±àÒëʱ¾²Ì¬µØ¶¨ÒåΪswapper_pg_dirÊý×飬¸ÃÊý×é´ÓÎïÀíÄÚ´æµØÖ·0x101000´¦¿ªÊ¼´æ·Å¡£
ÓÉͼ¿É¼û£¬ÄÚºËÏßÐÔµØÖ·¿Õ¼ä²¿·Ö´ÓPAGE_OFFSET£¨Í¨³£¶¨ÒåΪ3G£©¿ªÊ¼£¬ÎªÁ˽«ÄÚºË×°ÈëÄڴ棬´ÓPAGE_OFFSET¿ªÊ¼8MÏßÐÔµØÖ·ÓÃÀ´Ó³ÉäÄÚºËËùÔÚµÄÎïÀíÄÚ´æµØÖ·£»½ÓÏÂÀ´ÊÇmem_mapÊý×飬mem_mapµÄÆðʼÏßÐÔµØÖ·ÓëÌåϵ½á¹¹Ïà¹Ø£¬±ÈÈç¶ÔÓÚUMA½á¹¹£¬ÓÉÓÚ´ÓPAGE_OFFSET¿ªÊ¼16MÏßÐÔµØÖ·¿Õ¼ä¶ÔÓ¦µÄ16MÎïÀíµØÖ·¿Õ¼äÊÇDMAÇø£¬mem_mapÊý×éͨ³£¿ªÊ¼ÓÚPAGE_OFFSET+16MµÄÏßÐÔµØÖ·£»´ÓPAGE_OFFSET¿ªÊ¼µ½VMALLOC_START – VMALLOC_OFFSETµÄÏßÐÔµØÖ·¿Õ¼äÖ±½ÓÓ³Éäµ½ÎïÀíÄÚ´æ¿Õ¼ä£¨Ò»Ò»¶ÔÓ¦Ó°É䣬ÎïÀíµØÖ·<==>ÏßÐÔµØÖ·-PAGE_OFFSET£©£¬Õâ¶ÎÇøÓòµÄ´óСºÍ»úÆ÷ʵ¼ÊÓµÓеÄÎïÀíÄÚ´æ´óСÓйأ¬Õâ¶ùVMALLOC_OFFSETÔÚX86ÉÏΪ8M£¬Ö÷ÒªÓÃÀ´·ÀÖ¹Ô½½ç´íÎó£»ÔÚÄÚ´æ±È½ÏСµÄϵͳÉÏ£¬ÓàϵÄÏßÐÔµØÖ·¿Õ¼ä£¨»¹ÒªÔÙ¼õÈ¥¿Õ°×Çø¼´VMALLOC_OFFSET£©±»vmalloc()º¯ÊýÓÃÀ´°Ñ²»Á¬ÐøµÄÎïÀíµØÖ·¿Õ¼äÓ³Éäµ½Á¬ÐøµÄÏßÐÔµØÖ·¿Õ¼äÉÏ£¬ÔÚÄÚ´æ±È½Ï´óµÄϵͳÉÏ£¬vmalloc()ʹÓôÓVMALLOC_STARTµ½VMALLOC_END£¨Ò²¼´PKMAP_BASE¼õÈ¥2Ò³µÄ¿Õ°×Ò³´óСPAGE_SIZE£©µÄÏßÐÔµØÖ·¿Õ¼ä£¬´ËʱÓàϵÄÏßÐÔµØÖ·¿Õ¼ä£¨»¹ÒªÔÙ¼õÈ¥2Ò³µÄ¿Õ°×Çø¼´VMALLOC_OFFSET£©ÓÖ¿ÉÒÔ·Ö³É2²¿·Ö£ºµÚÒ»²¿·Ö´ÓPKMAP_BASEµ½FIXADDR_STARTÓÃÀ´ÓÉkmap()º¯ÊýÀ´½¨Á¢ÓÀ¾ÃÓ³Éä¸ß¶ËÄڴ棻µÚ¶þ²¿·Ö£¬´ÓFIXADDR_STARTµ½FIXADDR_TOP£¬ÕâÊÇÒ»¸ö¹Ì¶¨´óСµÄÁÙʱӳÉäÏßÐÔµØÖ·¿Õ¼ä£¬£¨ÒýÓãºFixed virtual addresses are needed for subsystems that need to know the virtual address at compile time such as the APIC£©£¬ÔÚX86Ìåϵ½á¹¹ÉÏ£¬FIXADDR_TOP±»¾²Ì¬¶¨ÒåΪ0xFFFFE000,´ËʱÕâ¸ö¹Ì¶¨´óС¿Õ¼ä½áÊøÓÚÕû¸öÏßÐÔµØÖ·¿Õ¼ä×îºó4KÇ°Ãæ£¬¸Ã¹Ì¶¨´óС¿Õ¼ä´óСÊÇÔÚ±àÒëʱ¼ÆËã³öÀ´²¢´æ´¢ÔÚ__FIXADDR_SIZE±äÁ¿ÖС£
ÕýÊÇÓÉÓÚvmalloc()ʹÓÃÇø¡¢kmap()ʹÓÃÇø¼°¹Ì¶¨´óÐ¡Çø£¨kmap_atomic()ʹÓÃÇø£©µÄ´æÔÚ²ÅʹZONE_NORMALÇø´óСÊܵ½ÏÞÖÆ£¬ÓÉÓÚÄÚºËÔÚÔËÐÐʱÐèÒªÕâЩº¯Êý£¬Òò´ËÔÚÏßÐÔµØÖ·¿Õ¼äÖÐÖÁÉÙÒªVMALLOC_RESERVE´óСµÄ¿Õ¼ä¡£VMALLOC_RES


Ïà¹ØÎĵµ£º

linuxϵÄyumÃüÁîÏê½â

yumÊǸÉʲôµÄ(×ªÔØ http://www.soft6.com/tech/16/166057.html)
¡¡¡¡Ê¹ÓÃredhat£¬fedoraµÄlinuxer¿Ï¶¨¶¼ÎªrpmÖøÃûµÄdependency
hell¶øÍ·ÌÛ(ÕâÒ²ÊÇËùÓлùÓÚrpm·¢Ðа涼ÓеÄÎÊÌâ)¡£foo is needed by bar£¬bar is needed by
foo¡£Òª×°Ð¶¸öÈí¼þ£¬»¹µÃÐÁÐÁ¿à¿àµØÊáÀíÇå³þËùÓÐÒÀÀµÐÔÎÊÌ⣬rpmµÄ¼¸¸öËÑË÷Õ¾µã³ÉÁËʱ³£¹â¹ËµÄ³¡Ë ......

´ÓÒ»µÀÃæÊÔÌâ̸LinuxÏÂforkµÄÔËÐлúÖÆ

ijÍâÆóÃæÊÔlinux¿ª·¢Ö°Î»ÃæÊÔÌ⣺
¸ø³öÈçÏÂC³ÌÐò£¬ÔÚlinuxÏÂʹÓÃgcc±àÒ룺
#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"
int main(void)
{
pid_t pid1;
pid_t pid2;
pid1 = fork();
pid2 = fork();
printf("pid1:%d, pid2:%d\n", pid1, pid2);
}

    ......

Linux Ï Qt 4.6.0 ǶÈëʽ¿ª·¢»·¾³µÄ´î½¨¡¢ÒÆÖ²

ת×Ôhttp://hi.baidu.com/jiyeqian/blog/item/f46d26a2ff3f7da6caefd0d6.html
 
Qt£ºqt-everywhere-opensource-src-4.6.0.tar.gz
ǶÈëʽƽ̨£º2440
arm-linux-gcc£º4.1.2£¬ÏÂÔØ£¨ÎÒÓÃ4.3.2ºÍ4.4.1°æ±¾Ê±£¬ÒÆÖ²Ê±¶¼ÓжδíÎó¡£ÎÒ°ÑËü·ÅÔÚ£º/usr/local/arm/4.1.2/ ¡££©
½« qt-everywhere-opensource-src-4.6.0.tar.g ......

UBUNTUÒ»¾ä»°¼¼ÇÉ LinuxÈëÃÅ£¨¸øÐÂÊÖ£©

²é¿´Èí¼þxxx°²×°ÄÚÈÝ
dpkg -L xxx
 
 
²éÕÒÈí¼þ
apt-cache search ÕýÔò±í´ïʽ
 
 
²éÕÒÎļþÊôÓÚÄĸö°ü
dpkg -S filename           apt-file search filename
 
 
²éѯÈí¼þxxxÒÀÀµÄÄЩ°ü
apt-cache depends xxx
 
²éѯ ......

RedbootÅäÖôÓflashÒýµ¼µÄlinuxÄÚºË

Ê×ÏÈ£¬ÅäÖÃRedBootµÄIP¼°Æätftp·þÎñÆ÷IP£¬×°ºÃtftp·þÎñÆ÷£¬ÐèÒªÏÂÔØµÄÄں˼°ÄÚ´æ¾µÏóÓ¦·ÅÔÚ·þÎñÆ÷µÄ/tftpbootĿ¼ÏÂ
ÅäÖÃRedBootµÄÖ¸ÁîÊÇ
> fconfig
×¢Ò⣺Æô¶¯µÄÑÓʱ²»ÒªÉèΪ0£¬·ñÔòÒÔºó¾ÍºÜÄÑÔÙ¸ü¸ÄϵͳÁË
È»ºóÒªÖ´ÐÐflash´æ´¢Æ÷µÄ³õʼ»¯¹¤×÷£º
> fis init
Ö®ºó£¬½«kernelÓëramdisk.gzͨ¹ýtftpÏÂÔØÖÁÄڴ沢д ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ