CPU直接访问的存储器只有内存和处理器内的寄存器。
1.基本硬件
CPU可以在一个cpu时钟内执行一个或多个其内置寄存器的指令。而访问内存需多个cpu时钟。由于内存频繁访问,可以再cpu与内存之间增加高速缓存
为确保进程有独立的内存空间,可用基地址寄存器和界限地址寄存器来确立一个合法地址以供其他进程访问。基地址寄存器含有最小的合法物理内存地址,界限地址寄存器决定合法地址大小。如基地址和界限地址寄存器分别为30050和120900,那么合法地址为30050到420950
2.逻辑地址空间与物理地址空间
内存在字节的地址为物理地址,cpu生成的地址为逻辑地址。通常逻辑地址为虚拟地址,从虚拟地址到物理地址的映射是由称为内存管理设备单元MMU的硬件来完成的。
用户进程只生成逻辑地址,且认为其地址空间为0到max。逻辑地址使用前需映射到内存的物理地址。MMU动态的将逻辑地址加上重定位寄存器的值后映射成物理地址。映射后的物理地址再送交内存单元。
3.连续分配内存
内存通常分为两个区域,分别驻留操作系统和用户进程。由于中断向量通常位于低内存,操作系统也放在低内存。
3.1内存映射与保护
通过重定位寄存器和界限地址寄存器可保护内存进程的独立空间。当cpu调度器选择一个进程执行时,作为上下文切换的一部分,调度程序会用正确的值初始化重定位寄存器和界限地址寄存器,保证其他进程不受该进程运行所影响。
3.2内存分配
最为简单的内存分配方法是MFT,即将内存分为多个固定大小的分区,一个分区容纳一个进程。MFT已