《操作系统概念精要》之内存篇(一)
基本概念
内存是现在计算机运行的核心。CPU可以直接访问的通用存储只有内存和处理器的内置寄存器。机器指令可以用内存地址作为参数,但是磁盘地址不可以。
在访问速度上,寄存器的内容一般都可以在一个时钟周期解释并执行完。但是对于内存,可能需要多个时钟周期。所以为了访问速度上能更加快速,一般会有高速缓存。
在系统安全上,首先,用户的进程不能影响操作系统的执行; 在多用户系统上,还应该保护不同的进程之间不能互相影响。所以一般会有专门的硬件方式来进行保护。
为了进程之间不会相互影响,首先,我们需要确保每个进程都有一个单独的内存空间。单独的进程内存空间可以保护进程不互相影响。
为了分开内存空间,我们需要能够确定一个进程可以访问的合法地址的范围;并且确保该进程只能访问这些合法地址。 一般通过两个寄存器来实现, 基地址寄存器和界限地址寄存器。
如下图,如果基地址是300040,而界限寄存器为120900,那么程序可以合法访问到的地址为300040 ~ 420939的所包含的地址。
地址绑定
一般的,进程在执行时,会先从磁盘被调入内存,而且根据内存的管理,有可能在执行的时候,被换出到磁盘上。但是磁盘的内容会被调入到物理内存的哪个地方,这个就是后面要讨论的内存分配机制。