我正在使用C开发一个小型操作系统(32位),我很难理解主内存的概念:
假设:
我有32MB的内存空间,32位的机器,然后我的内存空间高达4GB,地址范围从0到0xffffffff。
我将内存分成固定大小的分区(页面),然后每个页面最多可以容纳2 ^ 32条指令,最多可以有2 ^ 32页(这是正确的吗?)
我会使用内存表来维护内存空间,使每个页面都空闲或分配。
我不明白如何使用这些地址?每个地址是什么意思?它是一个字节,一个字还是什么?
如果我将内存分成4KB页面,我该如何引用这些页面?以及如何将每个页面与其相应的进程链接?如果某个流程需要多个页面,如何将其划分为多个页面?
任何参考或帮助都将受到高度赞赏。