[转]开机时实模式下内存分布

来源:互联网 发布:刷recovery软件 编辑:程序博客网 时间:2024/06/06 07:47

 

转自:http://xswd.blog.ccidnet.com/blog-htm-do-showone-uid-62526-type-blog-itemid-186981.html

 

开机时系统会以实模式进入,此时可访问的内存只有1M大小,这时的内存分配情况如下所示(此时由bios主导这一M内存的使用情况):

0x 0 0 0 0 0

|     10x64K=640K;   基本内存

0x 9 F F F F
0x A 0 0 0 0

|     2x64K=128K;  作为显存使用

0x B F F F F
0x C 0 0 0 0

|     4x64K=264K;  由bios使用,地址如何利用由其自己决定 

0x F F F F F

而通常情况下,bios对属于自己的地址空间的划分方式如下:
0x C 0 0 0 0

|       0.5X64k=32k;   显卡bios使用    

0x C 7 F F F
0x C 8 0 0 0

|       0.25x64K=16K   IDE控制器bios使用    

0x C B F F F
.
.
.
.
0x F 0 0 0 0

|       1x64K=64K;   系统bios使用

0x F F F F F
也就是说:C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。

 

基本内存的分配方式如下(由bios分配):
0x 0 0 0 0 0

|       1K   中断向量表 每一项占领4字节   共256项
0x 0 0 3 F F
0x 0 0 4 0 0

|       256字节   bios数据区    
0x 0 0 4 F F
0x 0 0 5 0 0

|       自由内存区 但0x07C00-0x07DFF (512字节)为引导程序加载区    
0x 9 F F F F
原创粉丝点击