内存布局

AT互換機でのメモリマップ     //来自<30天自制操作系统>  但是我发现内存分布只有3M

  • PCIデバイスとかPCカードとかを使うときに、空いている空間を確認したいこともあるだろうということで・・・
  • 0x00000000 - 0x0009ffff : RAM
    • AT互換機では、この部分がフル実装されていないものはない? -- ATになったのって、286マシンからでしたっけ?(こめんと欄参照)
  • 0x000a0000 - 0x000bffff : ビデオアクセス用アドレス空間
  • 0x000c0000 - 0x000c7fff : ビデオBIOS?
  • 0x000c8000 - 0x000dffff : 各種カードのROMがあったりなかったり?
    • 0x000d0000 - 0x000dffffはたいてい空いている
  • 0x000e0000 - 0x000effff : 拡張BIOS(ここが空いている場合もある?)
  • 0x000f0000 - 0x000fffff : BIOS
  • 0x00100000 - 0x00efffff : RAM (これに満たない可能性もある)
  • 0x00f00000 - 0x00ffffff : RAMもしくはISAホール(どちらになるかはBIOSの設定などによる)
    • 286の場合は、0x00fffff0からの16バイトにリセットジャンプ命令もあると思われる
  • 0x01000000 - メモリが尽きるまで : RAM
  • メモリが尽きたところ - 0xffffffef : PCIデバイスなどのメモリマップトI/Oに利用可能な領域
    • やっぱり0xfffff000からはBIOSのミラーがあって、利用できないのかな?
  • 0xfffffff0 - 0xffffffff : 386以降ではここにリセットジャンプ命令がある

ソフトウェア的用途区分

  • 0x00000000 - 0x000003ff : リアルモード用INTベクタ
    • もちろんこれはIDTを変更すれば変更できるが、とりあえず標準的にはこのアドレスが使われる。
    • 0x00000300 - 0x000003ffはBIOS用スタック?
  • 0x00000400 - 0x000004ff : BIOS用ワークエリア?
  • 0x00007c00 - 0x00007dff : ブートセクタが読み込まれるアドレス
  • 0x0009fc00 - 0x0009ffff : ACPI用ワークエリア(の場合がある)
    • 0x0009fc00から始まっているという保障は全くない。本来ならBIOSに問い合わせるべき。個人的には最悪でも0x0009efffまでは勝手に使っても平気なんじゃないかと思ってはいる。--K
    • っていうか、僕はこれを無視してこの辺を好き勝手に使っているような気が・・・。大丈夫なのか?OSASK!
  • ISAホールがなければ、16bit-PCICで利用可能なメモリ領域は、0x000c8000~0x000dffffのどこかになるでしょう。


ソフトウェア的用途区分 

  • 0x00000000 - 0x000003ff : リアルモード用INTベクタ
    • もちろんこれはIDTを変更すれば変更できるが、とりあえず標準的にはこのアドレスが使われる。
    • 0x00000300 - 0x000003ffはBIOS用スタック?
  • 0x00000400 - 0x000004ff : BIOS用ワークエリア?
  • 0x00007c00 - 0x00007dff : ブートセクタが読み込まれるアドレス
  • 0x0009fc00 - 0x0009ffff : ACPI用ワークエリア(の場合がある)
    • 0x0009fc00から始まっているという保障は全くない。本来ならBIOSに問い合わせるべき。個人的には最悪でも0x0009efffまでは勝手に使っても平気なんじゃないかと思ってはいる。--K
    • っていうか、僕はこれを無視してこの辺を好き勝手に使っているような気が・・・。大丈夫なのか?OSASK!
  • ISAホールがなければ、16bit-PCICで利用可能なメモリ領域は、0x000c8000~0x000dffffのどこかになるでしょう。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值