- 论坛徽章:
- 0
|
32 bit system can only addr 2^32 bit mem addr. which is why we have 4G mem space. 1~3 G space is used by usermode context, and 4th G is used for kernel context. Of course physical mem can be more than 4G, and so we need a way to addr. mem above 4G, kernel use mem page frame to addr. those, not the linear addr.. 896M is not exactly 1G, is because, some space are reserved for low on mem cases, so kernel resere some from the 1G leaner addr. for those, say DMA, atomic mem alloc requests, so it decide to use 896M as max. Above that, it needs to dynamic alloc pages to addr. mem indirectly. Buddy system is used to managed those requests for allocating pages.
in 64 bit machine, there is no high mem area, or empty one. Because kernel can addr. the memory 2^64 bytes, so a linear addring is always possible. |
|