In Linux Kernel Development (LKD) 3rd edition, chapter 12 under Zones, Robert Love says:
In particular, Linux has to deal with two shortcomings of hardware with respect to memory addressing:
Some hardware devices can perform DMA (direct memory access) to only certain memory addresses.
Some architectures can physically addressing larger amounts of memory than they can virtually address. Consequently, some memory is not permanently mapped into the kernel address space.
My Questions:
- First is okay, what does he mean by 2?
- Does he mean to say: Some architectures can address larger amounts of physical memory than they can address virtual addresses?
- How's that possible? I thought virtual address space is larger than physical memory or at least (if any) equal to physical memory.
- Also, isn't it because VAS (virtual address space) is larger than physical memory, some memory is not permanently mapped into KAS (kernel address space).
But I'm guessing that only physical memory is mapped into KAS. Let me know what he means by point #2 above and what wrong assumption(s) I'm making here.