2021年10月自考操作系统概论:静态与动态重定位详解

版权申诉
0 下载量 15 浏览量 更新于2024-07-07 收藏 24KB DOCX 举报
本资源是一份针对2021年10月自考02323操作系统概论的复习资料,主要关注于重定位这一概念。重定位在操作系统中起着至关重要的作用,它涉及到逻辑地址与绝对地址的区别和转换。 逻辑地址是由用户程序使用的地址,这些地址并不反映实际的物理内存布局,而是系统为用户提供的一种抽象空间。在多道程序设计中,操作系统允许用户程序认为其程序和数据位于地址为0开始的连续空间,这样便于用户编程和管理。 绝对地址则是指主存储器中的实际地址,它是物理的、固定的,并且与硬件直接相关。例如,一个128MB内存条的绝对地址范围是从0到134217727字节,这是计算机可以直接访问的内存单元。 重定位,即地址转换,是将逻辑地址转换为绝对地址的过程。有静态重定位和动态重定位两种方式: 1. 静态重定位:在程序编译阶段,通过预先计算和存储映射关系,将程序中的逻辑地址加上一个固定的偏移量,将其转换为绝对地址。比如在上面的庄园例子中,庄园主为每个用户的作业分配了一段连续的物理地址,并告知用户实际的物理地址,用户无需关心内部细节,只需按照给定的逻辑地址进行操作。 2. 动态重定位:程序运行时进行的重定位。如李四的例子所示,用户在初始分配的地址基础上找到新的地址。每当用户试图访问一个逻辑地址时,操作系统会实时计算出对应的物理地址,这样使得系统更灵活,能根据需要调整内存分配,但也增加了处理器的复杂性。 理解重定位是操作系统核心功能之一,它确保了程序在内存中的正确执行,无论是在编译时一次性确定的静态重定位,还是在运行时根据情况动态调整的动态重定位,都是保证程序高效、安全运行的关键。复习时,考生应掌握这两种重定位方式的工作原理、优缺点以及在不同场景下的应用。