Posts Tags Categories About
操作系统内存分段

处理分段和地址映射是操作系统内存管理关键.

相对地址映射

程序编译后得到的都是相对地址, 那么应该在什么阶段将其映射为内存中的实际地址呢?

如果在加载时计算出实际地址, 那么程序一旦载入内存后就不能移动了.

而内存中的部分阻塞程序实际上是可以暂时放入磁盘中, 为其他程序腾出内存使用. Linux中swap分区就是干这事的.

所以实际地址应该在运行时进行计算, 而每个进程的基地址应该保存在PCB中, 这样操作系统就可以移动程序并且不影响程序后续运行.

分段

程序并非一起载入内存, 而是分段载入. 那么操作系统要记录每个段的基地址, 相应的PCB中就应该保存进程的基地址表.