Linux ÄÚºËÆô¶¯·ÖÎö£¨×ª£©
Linux ÄÚºËÆô¶¯·ÖÎö
1. ÄÚºËÆô¶¯µØÖ·
1.1. Ãû´Ê½âÊÍ
ZTEXTADDR
½âѹ´úÂëÔËÐеĿªÊ¼µØÖ·¡£Ã»ÓÐÎïÀíµØÖ·ºÍÐéÄâµØÖ·Ö®·Ö£¬ÒòΪ´ËʱMMU´¦ÓڹرÕ״̬¡£Õâ¸öµØÖ·²»Ò»¶¨Ê±RAMµÄµØÖ·£¬¿ÉÒÔÊÇÖ§³Ö¶ÁдѰַµÄflashµÈ´æ´¢Öн顣
Start address of decompressor. here's no point in talking about virtual or physical addresses here, since the MMU will be off at the time when you call the decompressor code. You normally call the kernel at this address to start it booting. This doesn't have to be located in RAM, it can be in flash or other read-only or read-write addressable medium.
ZRELADDR
ÄÚºËÆô¶¯ÔÚRAMÖеĵØÖ·¡£Ñ¹ËõµÄÄÚºËÓ³Ïñ±»½âѹµ½Õâ¸öµØÖ·£¬È»ºóÖ´ÐС£
This is the address where the decompressed kernel will be written, and eventually executed. The following constraint must be valid:
__virt_to_phys(TEXTADDR) == ZRELADDR
The initial part of the kernel is carefully coded to be position independent.
TEXTADDR
ÄÚºËÆô¶¯µÄÐéÄâµØÖ·£¬ÓëZRELADDRÏà¶ÔÓ¦¡£Ò»°ãÄÚºËÆô¶¯µÄÐéÄâµØÖ·ÎªRAMµÄµÚÒ»¸öbankµØÖ·¼ÓÉÏ0x8000¡£
TEXTADDR = PAGE_OFFSET + TEXTOFFST
Virtual start address of kernel, normally PAGE_OFFSET + 0x8000.This is where the kernel image ends up. With the latest kernels, it must be located at 32768 bytes into a 128MB region. Previous kernels placed a restriction of 256MB here.
TEXTOFFSET
ÄÚºËÆ«ÒƵØÖ·¡£ÔÚarch/arm/makefileÖÐÉ趨¡£
PHYS_OFFSET
RAMµÚÒ»¸öbankµÄÎïÀíÆðʼµØÖ·¡£
Physical start address of the first bank of RAM.
PAGE_OFFSET
RAMµÚÒ»¸öbankµÄÐéÄâÆðʼµØÖ·¡£
Virtual start address of t
Ïà¹ØÎĵµ£º
NAPI ÊÇ Linux ÉϲÉÓõÄÒ»ÖÖÌá¸ßÍøÂç´¦ÀíЧÂʵļ¼Êõ£¬ËüµÄºËÐĸÅÄî¾ÍÊDz»²ÉÓÃÖжϵķ½Ê½¶ÁÈ¡Êý¾Ý£¬¶ø´úÖ®ÒÔÊ×ÏȲÉÓÃÖжϻ½ÐÑÊý¾Ý½ÓÊյķþÎñ³ÌÐò£¬È»ºó POLL µÄ·½·¨À´ÂÖѯÊý¾Ý¡£Ëæ×ÅÍøÂçµÄ½ÓÊÕËٶȵÄÔö¼Ó£¬NIC ´¥·¢µÄÖжÏÄÜ×öµ½²»¶Ï¼õÉÙ£¬Ä¿Ç° NAPI ¼¼ÊõÒѾÔÚÍø¿¨Çý¶¯²ãºÍÍøÂç²ãµÃµ½Á˹㷺µÄÓ¦Óã¬Çý¶¯²ã´ÎÉÏÒѾÓÐ E1000 Ï ......
ÍøÉÏ¿´µ½µ½µÄ·½·¨£¬¼Ç¼ÒÔ±¸Óá£
ÔÚÓ¢ÎÄLocaleϵÄUbuntu
ÎÞ·¨Õý³£ÏÔʾXPÏÂGBK±àÂëµÄÖÐÎÄ
±à¼/etc/environmentÎļþ
Ìí¼ÓLC_CTYPE="zh_CN.GBK"Ò»ÐÐ
ÈçÏÂ:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games"
LANG="en_US.UTF-8"
LANGU ......
ǰ¡¡ÑÔ
¡¡¡¡Ëæ×Ÿ÷ÖÖ±ãЯǶÈëʽÉ豸ÐÔÄܵÄÈÕÒæÌá¸ß£¬¹¦ÄÜÈÕÒæ·á¸»£¬ÆäµçÔ´½ôÕŵÄÎÊÌâÒ²ÈÕÒæÍ»³ö£¬¹úÄÚÐÂÍÆ³öµÄijЩ¾ßÓÐPDAµÈ¶àÖÖ¹¦ÄܵÄÖÇÄܵ绰ÔÚÃܼ¯Ê¹ÓÃÏÂÖ»ÄÜά³Ö°ëÌ죬¶àÊýÉãÏñ»ú
ºÍÊýÂëÏà»ú
ÔÚ
Ò»´Î³äµçºó¶¼Ö»ÓÐÒ»¸öСʱ×óÓÒµÄÀÛ»ý¹¤×÷ʱ¼ä¡£Linux×÷Ϊһ¸ö¿ª·ÅÔ´´úÂëµÄ²Ù×÷ϵͳ£¬ÓµÓзdz£·á¸»µÄÈí¼þ ......
Name
times - get process times
Synopsis
#include <sys/times.h>
clock_t times(struct tms *buf);
Description
times() stores the current process times in the
struct tms that buf points to. The struct tms is as defined
in <sys/times.h>
:
struct tms {
clock_t tms_utime; /* us ......
·Ò룺·É¸ç (
http://hi.baidu.com/imlidapeng
)
°æÈ¨ËùÓУ¬×ðÖØËûÈËÀͶ¯³É¹û£¬×ªÔØÊ±Çë×¢Ã÷×÷ÕߺÍÔʼ³ö´¦¼°±¾ÉùÃ÷¡£
ÔÎÄÃû³Æ£º¡¶Linux Performance and Tuning Guidelines¡·
ÔÎĵØÖ·£ºhttp://www.redbooks.ibm.com/abstracts/redp4285.html
----------------------------------------------------------------- ......