存储器是计算机系统中的宝贵资源,操作系统必须对有限的存储空间进行有效的管理。 1.操作系统如何解决内存的分配、地址变换? 2.动态重定位指什么? 3.内存的扩充技术有哪些?

admin2009-02-24  43

问题 存储器是计算机系统中的宝贵资源,操作系统必须对有限的存储空间进行有效的管理。
   1.操作系统如何解决内存的分配、地址变换?
   2.动态重定位指什么?
   3.内存的扩充技术有哪些?

选项

答案1.内存分配: 记录存储器的使用情况,响应存储器申请,根据分配策略分配内存,内存使用完毕,回 收内存。内存的分配方式有静态分配和动态分配两种。静态分配是指在目标模块装入内存时 一次分配完作业所需的内存空间,不允许在运行过程中再分配内存。动态分配是在目标程序 装入内存时分配作业所需的基本内存空间,且允许在运行过程中再次申请额外的内存空间。 地址变换: 运行程序的相对地址到物理地址的转换,即地址的重定位。也完成虚拟地址空间到物理 存储空间的映射。 2.动态重定位: 动态重定位是在目标程序执行过程中,在CPU访问内存之前,由硬件地址映射机构来完 成的将指令或数据的相对地址转换为物理地址的过程,目标程序可以不经任何改动而装入物 理内存单元,但需要有一种硬件机构来支持在程序执行过程中进行地址转换,这种硬件机构 称为地址映射机构。 重定位方式有如下优点: (1)目标程序无需任何改动即可装入内存。 (2)装入内存后的程序代码可任意移动,只需改变基地址寄存器BR的内容,就可以改变 程序的实际内存地址。 (3)有利于程序分块,每个目标模块各自装入一个存储区,存储区不一定顺序相连,每 个模块有自己的基准地址寄存器,它有利于存储空间的利用。 3.内存扩充技术: 内存的扩充有两种概念。一种是从物理上进行扩充,在计算机系统中再增加配置更多的 存储器芯片,以扩大存储空间的容量。另一种是利用目前机器中已有的内存空间,借助软件 技术实现内存逻辑上的扩充,即解决在较小的内存空间中运行大作业。通常采用的技术是内 存覆盖技术和内存交换技术,它们通常和分区管理、简单分页管理等配合使用。 (1)覆盖技术:覆盖技术是指让作业中不同时调用的子模块共同使用同一个内存区。这 样,在程序开始装入时,不必将整个程序全部装入,而是先装入部分模块,当运行过程中调 用到另外一个模块时,再从外存中调入并且将原来已经运行完成的程序模块覆盖掉。这种程 序覆盖技术,可以由操作系统自动完成,但要求作业中各个模块间要有明确的调用结构,并 要求用户向系统指明这种调用结构,这样,就加重了用户的负担。这种技术常与分区和分页 管理配合使用。 (2)交换技术:交换技术是指将作业不需要或暂时不需要的部分移到外存,让出内存空 间以调入其他所需数据。交换出的作业部分也可以再次被调入。这种技术实际是利用磁盘和 文件作为一种缓冲区,让用户在较小的存储空间中通过不断地换进换出作业,达到较大作业 的运行。它也经常与分区和分页管理配合使用,形成存储区的替换。

解析
转载请注明原文地址:https://jikaoti.com/ti/wBE7FFFM
0

最新回复(0)