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

¹ØÓÚ linux ÄÚ´æ

Ê×ÏÈ£¬ÄÚ´æµÄ´óСÔÚlinuxÄÚºËÖеĻñÖª·½·¨
1.ͨ¹ýbootloader µÄ tag mem´«Èë¡£
Setup.c Öеĺ¯ÊýÈçÏ£º
static int __init parse_tag_mem32(const struct tag *tag)
{
if (meminfo.nr_banks >= NR_BANKS) {
printk(KERN_WARNING
"Ignoring memory bank 0x%08x size %dKB\n",
tag->u.mem.start, tag->u.mem.size / 1024);
return -EINVAL;
}
arm_add_memory(tag->u.mem.start, tag->u.mem.size);
return 0;
}
 
__tagtable(ATAG_MEM, parse_tag_mem32);
 
ÆäÖÐ×îÖØÒªµÄº¯ÊýΪ£º arm_add_memory
Õâ¸öº¯ÊýÏò meminfoÊý×éÖÐÌí¼ÓÁËÒ»Ïî¹ØÓÚ memµÄÃèÊö
2.ÁíÍâÒ»¸ö·½·¨£ºÍ¨¹ýÄÚºËÆô¶¯²ÎÊýmem=À´´«µÝ
Setup.c Öеĺ¯ÊýÈçÏ£º
 
static void __init early_mem(char **p)
{
static int usermem __initdata = 0;
unsigned long size, start;
 
/*
* If the user specifies memory size, we
* blow away any automatically generated
* size.
*/
if (usermem == 0) {
usermem = 1;
meminfo.nr_banks = 0;
}
 
start = PHYS_OFFSET;
size = memparse(*p, p);
if (**p == '@')
start = memparse(*p + 1, p);
 
arm_add_memory(start, size);
}
__early_param("mem=", early_mem);
 
ÆäÖеڶþÖÖ·½·¨¾ßÓиߵÄÓÅÏȼ¶¡£
ÁíÍ⣬»¹ÓÐÒ»ÖÖÐÞ¸ÄmemoryÊôÐԵİ취£º
mdesc->fixup(mdesc, tags, &from, &meminfo);
ÕâÖÖ·½·¨ÒÀÀµÓÚÌض¨µÄ¿ª·¢Æ½Ì¨£¬ÔÚƽ̨³õʼ»¯µÄÃèÊö½á¹¹Öж¨Òå¡£
 
×îÖÕ£¬ËùÒԵĹØÓÚmemoryµÄÐÅϢͨ¹ýº¯Êý
paging_init(&meminfo, mdesc);
´«µÝ¸ø mem ³õʼ»¯µÄ²¿·Ö¡£
 
µÚ¶þ£¬memoryµÄ³õʼ»¯¡£
paging_init µÄ¶¨ÒåÔÚ arch/arm/mm/mmu.cÖС£
 
ÔÚ paging_init ×îÖØÒªµÄº¯ÊýÊÇ£ºbootmem_init
 
¸Ãº¯Êý¶¨ÒåÓÚ£ºarch/arm/mm/init.cÖС£


Ïà¹ØÎĵµ£º

ÔÚwindowsƽ̨Éϴlinux C ¿ª·¢»·¾³

×¢£ºÇëÔÊÐíÎÒתÔØÄúµÄ¼Ñ×÷
ÔÚwindowsÉÏ¿ª·¢Äܹ»ÔÚlinuxÉϱàÒëµÄC´úÂ룬ÎÒ²éÁ˲éÓÐ2¸öÈí¼þ¿ÉÒÔʵÏÖ£¬Ò»¸öÊÇCygwin£¬Ò»¸öÊÇmingw¡£ÆäÖÐcygwinÊÇÒ»¸öwindowsÉÏlinux»·¾³µÄÄ£Ä⹤¾ß£¬ËûÌṩÁ˺ܶàlinux¹¤¾ßµÄwindowsʵÏÖ°æ±¾£¬ÀýÈçvi£¬emacsµÈµÈ£¬µ±È»Ò²°üÀ¨GCC¡£Ê¹ÓÃmingwµÄºÃ´¦¾ÍÊDZàÒë¹ýµÄ³ÌÐòÖ±½Ó¾Í¿ÉÒÔÅÜÁË£¬¶øcygwinÔòÐè ......

Linux֪ʶ¸´Ï°£¨¶þ£©

¹ØÓÚlinuxµÄÎļþȨÏÞ£¬Á˽âһϵļ¸¸öÒªµã¾ÍÐÐÁË£¬Ê×ÏÈlinuxÓÐÓû§×éµÄ¸ÅÄÿ¸öÓû§×éÓ÷ÖÅäÓÐÒ»¸öid,ÓÃÓÚΨһµÄ±êʶ£¬¿ÉÒÔÓÃÓÚ·½±ãÖ¸¶¨´ËÓû§×éÖеÄÓû§²Ù×÷ijЩÎļþµÄȨÏÞ¡£Í¬Ñùÿ¸öÓû§Ò²ÓµÓÐÒ»¸öÓû§id£¬ÓÃÓÚΨһ±êʶÓû§£¬¶ø¶ÔÓÚÿ¸öÎļþÓà ls -l -a ¾Í¿ÉÒÔÏÔʾµ±Ç°Ä¿Â¼ÏÂÃæËùÓеÄÎļþÎļþ¼ÐµÄÏêϸÐÅÏ¢¡£ÀýÈ磺ÎÒÃÇÔ ......

linuxÎļþºó׺

Ê×ÏÈҪ˵Ã÷µÄÊÇÔÚLinuxϵͳÖУ¬¿ÉÖ´ÐÐÎļþûÓÐͳһµÄºó׺£¬ÏµÍ³´ÓÎļþµÄÊôÐÔÀ´Çø·Ö¿ÉÖ´ÐÐÎļþºÍ²»¿ÉÖ´ÐÐÎļþ¡£¶øgccÔòͨ¹ýºó׺À´Çø±ðÊäÈëÎļþµÄÀà±ð£¬ÏÂÃæÎÒÃÇÀ´½éÉÜgccËù×ñÑ­µÄ²¿·ÖÔ¼¶¨¹æÔò¡£Ò»°ã
.cΪºó׺µÄÎļþ£¬CÓïÑÔÔ´´úÂëÎļþ£»
.aΪºó׺µÄÎļþ£¬ÊÇÓÉÄ¿±êÎļþ¹¹³ÉµÄµµ°¸¿âÎļþ£»
.C£¬.cc»ò.cxxΪºó׺µÄÎļþ£¬ÊÇC ......

Linux ×î¼Ñʵ¼ù ¶ÁÊé×ܽá

1> ʹÓÃCDPATHÉèÖà cd ÃüÁîµÄ¹¤×÷Ŀ¼
[ramesh@dev-db ~]# pwd 
/home/ramesh 
[ramesh@dev-db ~]# cd mail 
-bash: cd: mail: No such file or directory 
[×¢Ò⣺ÔÚµ±Ç°Ä¿Â¼ÏÂÑ°ÕÒMAILĿ¼] 
[ramesh@dev-db ~]# export CDPATH=/etc 
[ramesh@dev-db ~]# cd mail /etc/mail  ......

Linux Shell×Ô¶¯½»»¥

ΪÁË·½Ã棬ÎÒдÁ˸ö½Å±¾×Ô¶¯sshµÇ¼Զ¶Ë»úÆ÷£¬ÈçÏ£¬Õâ¸ö½Å±¾ÐèÒª°²×°expect°ü
================================
#!/usr/bin/expect
set timeout 30
spawn ssh -l root 192.168.1.117
expect "password:"
send "nopasswd\r"
interact
================================
set timeout 30
ÉèÖÃ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ