`

虚拟存储器对存储器管理的作用

阅读更多
注:本文中的大部分内容均是摘录自《深入理解计算机系统》一书,权当记录之用。
   
    虚拟存储器作为现代操作系统中的一个重要概念,其重要性自然不言而喻。如果你还不了解虚拟存储器的概念,务必请查阅相关资料,本文并不打算纠结于此,而只是介绍其众多作用中的冰山一角,即如何作为存储器管理的工具。
    我们知道,磁盘和主存是以数据块的形式作为传输单元,所以物理存储器一般会被划分成一个个大小固定的块,叫做物理页,也叫页帧。但仅仅这样是不够的,因为 CPU 与磁盘的速度完全不在一个等级,因此虚拟存储器才得以有了用武之地。为了更好操作,虚拟存储器也被分割成了固定大小的块,即所谓的虚拟页。在任意时刻,虚拟页面集合都分为三个不相交的子集:
    1、未分配的:无数据关联,不占用内存。
    2、缓存的:缓存在物理存储器中的已分配页。
    3、未缓存的:未缓存在物理存储器中的已分配页。

    虚拟存储器的按需页面调度算法和进程独立的虚拟地址空间的结合将会影响系统中存储器的使用和管理。概括来讲,以下就是虚拟存储器在存储器管理方面起的重要作用:
    1、简化链接。独立的地址空间允许每个进程的存储器映像使用相同的基本格式,而不管代码和数据实际存放在物理存储器的何处。栈占据进程地址空间最高的部分,并向下生长。这种一致性简化了链接器的设计和实现,允许链接器生成全链接的可执行文件,这些文件是独立于物理存储器中的代码和数据的最终位置的。
    2、简化加载。虚拟存储器使得容易向存储器中加载可执行文件和共享文件对象。加载器从不实际从磁盘拷贝任何数据到存储器,虚拟存储器系统会按照需要自动地调入数据页。在此顺便提一下存储器映射的概念,它就是一种将一组连续的虚拟页映射到任意一个文件中的任意位置的表示法。unix中就有一个叫mmap的系统调用,它允许应用程序自己做存储器映射。
    3、简化共享。一般而言,每个进程都拥有自己的独立地址空间,这是操作系统通过创建页表将相应的虚拟页映射到不同的物理页来实现的。但需要进程共享代码和数据时(如操作系统内核代码,标准库函数等),只需将不同进程中适当的虚拟页面映射到相同的物理页面,再安排多个进程共享这部分代码的一个拷贝,而不是在每个进程中都包括单独的内核和标准库的拷贝。
    4、简化存储器分配。虚拟存储器为用户进程提供了一个简单的分配额外存储器的机制。当用户进程要求额外的堆空间时,操作系统就分配适当k个连续的虚拟存储器页面,并可将它们映射到物理存储器中任意位置的任意k个物理页面上,从而使得页面可以随机地分散在物理存储器中。
分享到:
评论

相关推荐

    操作系统虚拟存储器实验报告

    此外,实验可能还会探讨虚拟存储器在多任务环境下的作用,比如如何通过虚拟存储器实现进程间的隔离,防止数据冲突。以及在内存不足时,如何通过交换技术将部分进程的内存内容写入磁盘,释放物理内存资源,使得其他...

    操作系统管理---虚拟存储器-实验报告-代码(1).doc

    本文档是一份关于操作系统管理中虚拟存储器的实验报告,详细记录了虚拟存储器的基本概念、管理策略、页面淘汰算法的设计与实现,以及通过C++编程语言对这些概念进行模拟的过程。 首先,虚拟存储器的概念是计算机...

    虚拟存储器_操作系统实验报告

    ### 虚拟存储器与操作系统实验报告:深入解析与应用 ...通过这一系列的实验设计与实施,学生能够深刻理解虚拟存储器的工作原理,以及页面置换算法在内存管理中的关键作用,为进一步探索操作系统内部机制打下坚实基础。

    模拟虚拟存储器管理代码

    从给定的文件信息来看,这段代码是在模拟虚拟存储器管理的不同算法,主要涉及FIFO(先进先出)、LRU(最近最少使用)以及OPT(最佳置换)算法。虚拟存储器管理是计算机科学中的一个重要概念,它允许操作系统通过将...

    用C++编写的虚拟存储器源码

    虚拟存储器是现代操作系统中内存管理的关键技术,它允许程序使用超过实际物理内存大小的地址空间,通过在主存和磁盘之间动态交换数据来实现。在这个“用C++编写的虚拟存储器源码”中,我们可以看到一个针对分页式...

    操作系统课程设计 虚拟存储器

    ### 操作系统课程设计:虚拟存储器 #### 知识点概述 虚拟存储器是一种能够扩展计算机可用内存容量的技术,其基本思想是将程序的一部分...通过对虚拟存储器的学习和实践,可以深入理解现代计算机系统的内存管理机制。

    Windows虚拟存储器管理

    Windows虚拟存储器管理,wendangneichunxu

    虚拟存储器管理——模拟内存分配与回收实验算法(c语言)

    虚拟存储器管理是操作系统中的重要组成部分,它涉及内存资源的有效分配和回收,以优化系统性能。在本实验中,我们将关注以页面为单位的虚拟内存分配方法,这通常用于现代操作系统,如Linux和Windows。虚拟内存允许...

    模拟虚拟存储器管理

    一个简单的模拟虚拟存储器管理工具,可以用来检查fifo opt 和lru算法

    虚拟存储器 操作系统 模拟分页式虚拟存储管理中硬件的地址转换和缺页中断

    实验二 虚拟存储器 一. 实验内容 模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。 二. 实验目的 在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主...

    操作系统原理实验-虚拟存储器

    比较适合大学生的操作系统课程应用解说,尤其是大学操作系统原理实验,是一个必学项目

    虚拟存储器管理仿真 操作系统 操作系统课程设计 java

    通过这个课程设计,学生不仅能够理解虚拟存储器的基本原理,还能实际动手操作,体验虚拟内存管理的实现过程,掌握分页和请求分页的核心算法,以及页面置换策略对系统性能的影响。这样的实践对于提升学生的理论知识和...

    虚拟存储器的工作原理.doc

    虚拟存储器是一种高级存储管理技术,它通过将内存与外部存储器(如硬盘)结合使用,使得程序可以访问超出实际物理内存容量的更大地址空间。虚拟存储器的主要目的是提高存储器系统的性能和性价比,使程序运行速度接近...

    实验二 虚拟存储器.zip

    虚拟存储器是操作系统中的一个重要概念,它是一种内存管理技术,使得程序可以运行在比实际物理内存更大的地址空间...通过这个实验,我们可以深入理解虚拟存储器的工作原理,并提升对操作系统内存管理的理解和编程能力。

    操作系统实验 实验二 Windows虚拟存储器管理

    实验二 Windows虚拟存储器管理 2.1实验目的 了解Windows 2000/XP的内存管理机制,掌握页式虚拟存储技术 理解内存分配原理,特别是以页面为单位的虚拟内存分配方法 掌握Windows 2000/XP下内存管理的基本API ......

    虚拟存储器管理

    通过对虚拟存储器管理和常见页面置换算法的学习与实践,学生不仅能够理解这些算法的工作原理及其在实际系统中的作用,还能提升自己的编程能力和问题解决能力。此外,通过对比不同算法的性能差异,可以帮助学生更好地...

    浅谈虚拟存储器的应用

    总的来说,虚拟存储器作为一种高效管理内存资源的技术,在现代计算机系统中扮演着至关重要的角色。通过合理的地址映像和高效的替换算法,可以有效地利用有限的物理内存资源,提供接近无限的逻辑存储空间,从而极大地...

    计算机组成原理之虚拟存储器

    虚拟存储器的缺点是需要占用一定的物理存储空间来存储虚拟存储器的管理信息等。 六、虚拟存储器在实际应用中的应用 虚拟存储器在实际应用中有广泛的应用。例如,在操作系统中,虚拟存储器可以实现多任务处理和多...

    操作系统实验_虚拟存储器

    通过虚拟存储器机制,可以使得程序能够访问比实际物理内存大得多的地址空间,从而实现对物理内存的有效管理和利用。 #### 虚拟存储器概念 虚拟存储器是一种允许程序访问比实际物理内存更大的地址空间的技术。它...

    操作系统课程设计虚拟存储器各页面置换算法的实现与比较

    操作系统课程设计虚拟存储器各页面置换算法的实现与比较 C源代码

Global site tag (gtag.js) - Google Analytics