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
Ïà¹ØÎĵµ£º
ºÜ¼òµ¥µÄÒ»¸ö³ÌÐò,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Ŀ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) &nb ......
ÕªÒª
LinuxÔÚÏû·Ñµç×ÓÀà²úÆ·Öеõ½Á˹㷺ӦÓã¬ÓÉÓÚǶÈëʽÓû§¶ÔÓÚϵͳÆô¶¯ËٶȽÏΪÃô¸Ð£¬Òò´Ë¿ìËÙÆô¶¯¼¼ÊõÖð½¥³ÉΪÑо¿ºÍÓ¦ÓÃÖеÄÒ»¸öÖØµã¡£±¾ÎÄͨ¹ý¶ÔǶ
Èëʽ
LinuxµÄÆô¶¯Ê±ÐòºÍÖ÷ÒªÑÓʱÒòËØµÄ·ÖÎö£¬Õë¶ÔÐÔµØÌ½ÌÖÁËÔÚ¸÷¸öÆô¶¯½×¶Î½µµÍʱºÄµÄ¼¼Êõ£¬Öصã·ÖÎöÁËXIP¼¼ÊõºÍXIPÎļþϵͳ£¬²¢¸ø³öÁËÖ÷ÒªµÄʵÏÖ¹ý
³Ì¡£
¹Ø¼ü´ ......
Linux Network Tuning LinuxÍøÂç»·¾³ÐÔÄÜÓÅ»¯µ÷Õû
À´Ô´£ºcnbird2008µÄרÀ¸ ×÷Õߣº ·¢²¼Ê±¼ä£º2009-06-20 ±êÇ©£ºlinux linuxÐÔÄÜÓÅ»¯ linuxÅäÖÃ
(ÒÔǰдµÄ,µ±Ê±ÓõÄRH Linux AS5.)
ÈçÏÂÍøÂçÅäÖòÎÊýµ÷Õû,Ö÷ÒªÊÇÕë¶ÔÇëÇóѹÁ¦´óµÄLinux (2.6 kernel)·þÎñÆ÷¶øÑÔ.
Èç¹û·þÎñÆ÷ѹÁ¦²»´ó,ÄÇôά³ÖĬÈϼ´¿É.
Ï ......