首页 > 其他分享 >操作系统(13)虚拟存储器

操作系统(13)虚拟存储器

时间:2024-12-17 23:28:40浏览次数:11  
标签:13 操作系统 程序 地址 内存 虚拟存储器 空间 页面

前言

       操作系统中的虚拟存储器是一项关键技术,它为用户提供了一个远大于实际物理内存容量的逻辑内存空间。

一、定义与原理

       虚拟存储器是具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的存储器系统。其逻辑容量由内存容量与外存容量之和决定,运行速度接近内存,但成本接近于外存。虚拟存储器基于局部性原理构建,该原理指出程序在某段时间内主要访问其地址空间的一部分。

二、功能与作用

  1. 扩大寻址空间:虚拟存储器为用户提供了一个远大于物理内存的虚拟地址空间,使得用户能够运行比物理内存实际容量更大的程序。
  2. 提高开发效率:由于虚拟存储器提供了更大的内存空间,开发者可以更加自由地编写和调试程序,而无需担心内存不足的问题。
  3. 资源优化:虚拟存储器通过自动实现部分装入和部分替换功能,优化了内存资源的利用,使得多个大内存需求的进程能够并发运行。
  4. 内存保护:每个进程都有自己的虚拟地址空间,防止了进程间的非法内存访问,提高了系统的安全性。

三、分类与管理方式

     虚拟存储器主要分为三类:页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器。

  1. 页式虚拟存储器:将主存空间和程序空间都等分成固定大小的页,通过页表实现虚拟地址到物理地址的映射。优点是页内零头小、地址变换快、调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。
  2. 段式虚拟存储器:按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长。优点是消除了内存零头、易于实现存储保护、便于程序动态装配;缺点是调入操作复杂。
  3. 段页式虚拟存储器:结合了段式和页式的优点,将程序按模块分段,每个段再分成与物理空间页同样小的页面。优点是综合了段式和页式的优点;缺点是增加了硬件成本,软件也较复杂。

四、地址空间与变换

       在虚拟存储器中,存在三种地址空间:虚拟地址空间(程序员编写程序时使用的地址空间)、主存地址空间(存放运行程序和数据的实际内存地址空间)和辅存地址空间(存放暂时不使用的程序和数据的外存地址空间)。

       CPU运行程序访问存储器时给出的地址是虚地址(虚拟地址),首先要进行地址变换。如果要访问的信息在主存中,则根据变换所得的物理地址访问主存;如果要访问的信息不在主存中,则要根据虚地址进行外部地址变换,得到辅存地址,把辅存中相应的数据块送往主存后再访问。

五、页面置换算法

     虚拟存储器中常用的页面置换算法包括:

  1. 随机算法:随机选择一页进行置换。
  2. 先进先出(FIFO)算法:按照页面进入内存的先后顺序进行置换。
  3. 最近最少使用(LRU)算法:选择最近最少被使用的页面进行置换。
  4. 时钟算法:一种近似LRU的算法,通过环形链表和访问位来实现页面的置换。

六、实现与应用

       在不同的操作系统中,虚拟存储器的实现方式可能有所不同。例如,在Windows XP中,采用了分页式的虚拟存储器管理方式;而Linux则支持多种页面大小,并采用了多级页表来减少页表占用的内存空间。此外,虚拟存储器在数据库系统、云计算等领域也有广泛的应用。

总结 

       综上所述,操作系统中的虚拟存储器是一项重要的技术创新,它通过提供远大于实际物理内存容量的逻辑内存空间,有效地解决了物理内存容量有限与程序对内存空间需求不断增长之间的矛盾。

 结语   

自信人生二百年

会当水击三千里

!!!

标签:13,操作系统,程序,地址,内存,虚拟存储器,空间,页面
From: https://blog.csdn.net/m0_73399576/article/details/144546924

相关文章

  • 12.13
    1.如今所使用的微处理器设备的种类多样,从只有几千个逻辑门且时钟频率低于 1MHz 的价值 1 美元的嵌入式设备,到有数十亿逻辑门且时钟频率达到千兆赫兹级别的桌面级设备。一台包含数千个独立执行单元的大型计算机的尺寸可以与一个大房间相当,它消耗的电力足够点亮一座小城市中所有......
  • Windows ANSI API 是指 Windows 操作系统 提供的一组 应用程序编程接口 (API),它们使用
    WindowsANSIAPI是指Windows操作系统提供的一组应用程序编程接口(API),它们使用ANSI字符集来处理字符串和文本数据。ANSI字符集是较为老旧的字符编码标准,通常对应的是Windows-1252编码(又称Latin-1)。这些API主要用于与字符串和字符数据交互。1. WindowsANSI......
  • MSKSSRV.SYS 是一个系统文件,通常与 Microsoft Kernel-Streaming 服务相关。它是 Windo
    MSKSSRV.SYS是一个系统文件,通常与MicrosoftKernel-Streaming服务相关。它是Windows操作系统中的一个驱动程序文件,主要用于处理音频、视频流媒体的传输与处理,尤其是涉及到多媒体设备时的音频和视频流控制。详细解释:文件名称: MSKSSRV.SYS文件类型: 驱动程序文件位置: 通......
  • 13line-height-CSS常见选择器-CSS伪类
    一、line-height常用(非常重要的)line-height用于设置文本的行高行高可以先简单的理解为一行文字所占据的高度主要作用是文本的行高为什么文本需要行高呢?渲染出来给用户看起来比较舒服,为了方便文本的阅读有了行高之后可以明显的发现便于阅读了。行高的严格定义是:两行文字基......
  • Android 13 相较于 Android 12 的新特性
    标签:Android13;Android13新特性;Android13相较于Android12的新特性及开发者注意事项一、Android13相较于Android12的新特性Android13(代号Tiramisu)在用户体验、安全性、隐私保护以及开发者工具等多个方面进行了改进和增强。以下是一些主要的新特......
  • 20241213-局部变量和全局变量的思考
    for循环或while循环、方法或方法参数列表里定义的局部变量,在其内的代码块执行完毕后就被销毁了,不能再用了。1.A方法的局部变量a作为B方法的传入参数,在B方法内对该传入参数的运算不会对A方法的局部变量a产生影响。见下代码:publicclassArrayReference{ publicstaticvoid......
  • 常见操作系统中安装Elasticsearch 2.10的步骤
    一、前提条件Java环境:Elasticsearch是基于Java开发的,所以需要先安装JavaDevelopmentKit(JDK)。推荐安装JDK8,确保java-version命令在终端中可以正确执行,并且版本符合要求。二、在Linux系统(以Ubuntu为例)中安装Elasticsearch2.10下载Elasticsearch访问Elasticsearch官方网......
  • 不同操作系统下安装Tomcat的详细步骤
    Windows系统下载Tomcat访问ApacheTomcat官方网站(https://tomcat.apache.org/)。在下载页面中,选择适合你系统的版本。一般来说,选择比较稳定的版本,如Tomcat9或10。点击下载链接,将安装包(通常是.zip格式)下载到本地计算机。解压安装包下载完成后,找到安装包文件并将其解压到......
  • 不同操作系统中安装Visual Studio Code(以下简称VS Code)的详细步骤
    Windows系统下载安装包打开浏览器,访问VSCode官方网站(https://code.visualstudio.com/)。在官网首页找到“DownloadforWindows”按钮并点击,下载安装程序(.exe文件)。运行安装程序下载完成后,找到安装程序文件并双击运行它。在安装向导中,你可以选择安装路径。默认路径是“......
  • 常见操作系统中安装MySQL的详细步骤
    一、在Windows系统中安装MySQL下载MySQL安装包访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/)。根据你的操作系统版本(32位或64位)选择合适的MySQLCommunityServer安装包,如MySQLCommunityServer8.0。点击下载按钮开始下载。运行安装程序找到下载好的安装......