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

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÄÚ´æ3

¹ØÓÚe820
   e820ÊÇBIOSµÄ£¨int 0x15£©ÖжϹØÁªµÄ¡£ÔÚʹÓôËÖжÏʱ£¬axÖбØÐëÊÇe820(ireg.ax=0xe820;)¡£Í¨¹ý´ËÖжϿÉÒԵõ½ÄÚ´æµÄϵͳ²¼¾Ö¡£Í¨¹ýdoÑ­»·£¬Ã¿´ÎµÃµ½Ò»¶Î¡£
/linux32/arch/x86/include/asm/e820.h
ºêE820_MAPÊÇstruct e820entryÊý¾Ý½á¹¹µÄÖ¸Õ룬´æ·ÅÔÚ²ÎÊý¿éÖÐÎ»ÒÆÎª0x2d0µÄµØ·½¡£
#define E820MAP 0x2d0           /* our map */
#define E820MAX 128             /* number of entries in E820MAP */
#define E820NR  0x1e8           /* # entries in E820MAP */
#define E820_RAM        1
#define E820_RESERVED   2
#define E820_ACPI       3 /* usable as RAM once ACPI tables have been read */
#define E820_NVS        4//´ËÏî±íÃ÷rom eprom flash´æ´¢Æ÷¡£
#define E820_UNUSABLE   5
#include <linux/types.h>
struct e820entry {
        __u64 addr;     /* start of memory segment */
        __u64 size;     /* size of memory segment */
        __u32 type;     /* type of memory segment */
} __attribute__((packed));
#define E820_X_MAX (E820MAX + 3 * MAX_NUMNODES)
struct e820map {
        __u32 nr_map;
        struct e820entry map[E820_X_MAX];
};
ÿ¸ö½á¹¹¶¼ÊǶÔÒ»¸öÎïÀíÇø¼äµÄÃèÊö£¬²¢ÇÒÒ»¸öÎïÀíÇø¼ä±ØÐëÊÇͬһÀàÐÍ¡£Èç¹ûÓÐһƬµØÖ·Á¬ÐøµÄÎïÀíÄÚ´æ¿Õ¼ä£¬ÆäÖÐÒ»²¿·ÖÊÇramÁíÒ»²¿·ÖÊÇrom£¬¾ÍÒª·Ö³ÉÁ½¸öÇø¼ä¡£¼´Ê¹Í¬Êôram£¬Èç¹ûÆäÖÐÒ»²¿·ÖÒª±£ÁôÓÃÓÚÌØÊâÄ¿µÄ£¬ÄÇÒ²ÊôÓÚ²»Í¬µÄÒ»¸ö·ÖÇø¡£
´Ó0xf0000-0xfffffµÄ×î¸ß4k,¾ÍÊÇbiosʹÓõģ¬Ö»ÒªÓÐbios´æÔÚ£¬¾ÍÐèÒªÁ½¸öÇø¼ä¡£ÄÇônr_map¾Í²»ÄÜСÓÚ2.ÏÖÔÚ1mbµÄ±ß½çÒѾ­´òÆÆ£¬½«1mbÒÔÉϵĿռä½ÐHIGH_MEMORY¡£ÎªÁ˼æÈÝ£¬¾ÍÒª±£Áô×î³õµÄ1mb.
#define HIGH_MEMOR


Ïà¹ØÎĵµ£º

linuxÄÚºËÄ£¿é±à³ÌÖ®·ûºÅµ¼³ö

ºÜ¼òµ¥µÄÒ»¸ö³ÌÐò,subÄ£¿éÌṩÁ½¸öº¯Êýsub_integer,add_integer£¬²¢½«Æäµ¼³öµ½Äں˷ûºÅ±íÖУ¬sub_testÄ£¿é¶ÔÕâÁ½¸öº¯Êý½øÐе÷Óá£ÕâËãÊÇ×Ô¼ºÐ´µÄµÚÒ»¸öÄÚºËÄ£¿é³ÌÐò°É£¬¼ÍÄîÒ»ÏÂ.
sub.c:
#include<linux/init.h>
#include<linux/kernel.h>
#include<linux/module.h>
MODULE_LICENSE("Dual BSD/GPL") ......

linuxѧϰ±Ê¼Ç Ŀ¼ ÃüÁî

linuxĿ¼¼Ü¹¹
/       ¸ùĿ¼
/bin         ³£ÓõÄÃüÁî   binary   file   µÄÄ¿錄
/boot       ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ   (kernel) &nb ......

ǶÈëʽLinuxϵͳÖеĿìËÙÆô¶¯¼¼ÊõÑо¿

ÕªÒª
LinuxÔÚÏû·Ñµç×ÓÀà²úÆ·Öеõ½Á˹㷺ӦÓã¬ÓÉÓÚǶÈëʽÓû§¶ÔÓÚϵͳÆô¶¯ËٶȽÏΪÃô¸Ð£¬Òò´Ë¿ìËÙÆô¶¯¼¼ÊõÖð½¥³ÉΪÑо¿ºÍÓ¦ÓÃÖеÄÒ»¸öÖØµã¡£±¾ÎÄͨ¹ý¶ÔǶ
Èëʽ
LinuxµÄÆô¶¯Ê±ÐòºÍÖ÷ÒªÑÓʱÒòËØµÄ·ÖÎö£¬Õë¶ÔÐÔµØÌ½ÌÖÁËÔÚ¸÷¸öÆô¶¯½×¶Î½µµÍʱºÄµÄ¼¼Êõ£¬Öصã·ÖÎöÁËXIP¼¼ÊõºÍXIPÎļþϵͳ£¬²¢¸ø³öÁËÖ÷ÒªµÄʵÏÖ¹ý
³Ì¡£
¹Ø¼ü´ ......

Linux Network Tuning LinuxÍøÂç»·¾³ÐÔÄÜÓÅ»¯µ÷Õû

Linux Network Tuning LinuxÍøÂç»·¾³ÐÔÄÜÓÅ»¯µ÷Õû
À´Ô´£ºcnbird2008µÄרÀ¸ ×÷Õߣº ·¢²¼Ê±¼ä£º2009-06-20 ±êÇ©£ºlinux linuxÐÔÄÜÓÅ»¯ linuxÅäÖÃ
 
(ÒÔǰдµÄ,µ±Ê±ÓõÄRH Linux AS5.)
ÈçÏÂÍøÂçÅäÖòÎÊýµ÷Õû,Ö÷ÒªÊÇÕë¶ÔÇëÇóѹÁ¦´óµÄLinux (2.6 kernel)·þÎñÆ÷¶øÑÔ.
Èç¹û·þÎñÆ÷ѹÁ¦²»´ó,ÄÇôά³ÖĬÈϼ´¿É.
 
Ï ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ