内存管理

内存管理主要包括虚拟内存的概念,旨在扩大逻辑内存并简化内存分配。虚拟内存通过页式、段式和段页式存储管理实现,其中页式管理通过页表进行地址映射,段式管理强调逻辑完整性,而段页式结合两者优点。页面置换算法如OPT、LRU和FIFO用于处理页面不足的情况。
摘要由CSDN通过智能技术生成

内存管理

虚拟内存

虚拟内存的基本思想

每个进程拥有自己的地址空间,这个空间被分割为多个块,每个块称作一页。每一页有连续的地址范围。这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。当程序引用到一部分在物理内存中的地址空间时,由硬件立刻执行必要的映射。当程序引用到一部分不在物理内存中的地址空间时,由操作系统负责将缺失的部分装入物理内存并重新执行失败的指令。

虚拟内存的目的

是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。

虚拟内存的三个重要功能
  1. 它在主存中自动缓存最近使用的存放磁盘上的虚拟地址空间的内容。
  2. 虚拟内存简化了内存管理,进而又简化了连接,在进程间共享数据、进程的内存分配以及程序加载。
  3. 虚拟内存通过在每条页表条目中加入保护位,从而简化了内存保护。

页式存储管理

页式存储管理的基本原理

页式存储管理是把主存储器划分成大小相等的若干区域,每个区域称为一块,并对它们加以顺序编号,如第 0 块、第 1 块等等。与此对应,用户程序的逻辑地址空间划分成大小相等的若干页,同样为它们加以顺序编号,从 0 开始,如第 0 页、第 1 页等。 页的大小与块的大小相等
分页式存储管理的逻辑地址由两部分组成:页号和页内地址。其格式为:

image-20210501160921014

在分页式存储管理系统中,允许将作业的每一页离散地存储在主存的物理块中,但系统必须能够保证作业的正确运行,即能在主存中找到每个页面所对应的物理块。为此,系统为每个作业建立了一张页面映像表,简称页表。页表实现了从页号到主存块号的地址映射。作业中的所有页(0 ~ n)依次地在页表中记录了相应页在主存中对应的物理块号。页表的长度由进程或作业拥有的页面数决定

image-20210501161305965

页式存储管理的地址映射

未命名文件 (6)

调度程序在选择作业后,将选中作业的页表始址送入硬件设置的页表控制寄存器中。地址转换时,只要从页表寄存器中就可找到相应的页表。当作业执行时,分页地址变换机构会自动将逻辑地址分为页号和页内地址两部分,以页号位索引检索页表,如果页表中无此页号,则产生一个“地址错”的程序性中断事件;如果页表中有此页号,则可得到对应的主存块号,再按逻辑地址中的页内地址计算出欲访问的主存单元的物理地址。因为块的大小相等,所以块内地址等于页内地址

物 理 地 址 = 块 号 × 块 长 + 页 内 地 址 物理地址=块号×块长+页内地址\hspace{50cm} =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值