分页存储管理与段式存储管理

简介: 分页存储管理与段式存储管理

分页存储:

页框和页面

将内存空间分为一个个大小相等的分区 (比如:每个分区4KB),每个分区就是一个“页框”(页框=页=内存块=物理块=物理页面)。每个页框有一个编号,即“页框号”(页框号=页帧号=内存块号=物理块号=物理页号),页框号从0开始。

分页存储:

页框和页面

将内存空间分为一个个大小相等的分区 (比如:每个分区4KB),每个分区就是一个“页框”(页框=页=内存块=物理块=物理页面)。每个页框有一个编号,即“页框号”(页框号=页帧号=内存块号=物理块号=物理页号),页框号从0开始。

操作系统以页框为单位为各个进程分配内存空间。进程的每个页面分别放入一个页框中。也就是说,进程的页面与内存的页框有一一对应的关系。(各个页面不必连续存放,可以放到不相邻的各个页框中)


页框指的是内存在物理上被划分为的一个一个块,页面指的是进程在逻辑上被划分的一个一个块


那么进程的页面是怎么记录这种与页框的一一对应的关系的呢?


页表

为了能知道进程的每个页面在内存中存放的位置,操作系统要为每个进程建立一张页表


注:页表通常存在PCB(进程控制块)中

页表的结构

每个页表项的大小:

内存块号的数量---->页表项中块号至少占多少字节

页框的大小=页面大小=4KB=212212B        4GB=232232字节


所以4GB的内存可被分为232232/212212=220220个内存块


内存块号的范围应该是0~220220-1,内存块号至少要用20bit表示,而计算机分配内存空间以字节为单位,所以至少要用3B来表示块号(3*8=24bit)


页号占的字节:


页表项连续存放,因此页号可以是隐含的,不占存储空间 (类比数组)

由于页号不占存储空间,只有块号占存储空间,所以存储0~n页则需要3*(n+1)B


注意:页表记录的只是内存块号,而不是内存块的起始地址,J号内存块的起始地址 =J* 内存块大小


页表不止有页号和块号,也有其他状态:


状态位:1表示在内存中,0表示不在内存中


访问位:1表示访问过,0表示最近未被访问


修改位:1表示内容被修改过,0表示内容未被修改


页面淘汰的依据:


①若访问位为0,就先淘汰,在访问位=1的情况下,由于时间局部性原理,这位有可能再次被访问。


②若多个访问位为0的情况下,则淘汰修改位为0的页面。


逻辑地址到物理地址的转换

进程在内存中连续存放时,操作系统是如何实现逻辑地址到物理地址的转换的?


物理地址是绝对的地址,而内存块只需要将其


逻辑地址(相对于起始位置的偏移量)+进程在内存中的起始地址


就能得到物理地址  

将进程地址空间分页之后,操作系统该如何实现逻辑地址到物理地址的转换?

虽然进程的各个页面是离散存放的,但是页面内部是连续存放的

如果要访问逻辑地址 A,则

①确定逻辑地址A对应的“页号”P


②找到P号页面在内存中的起始地址(需要页表)


③确定逻辑地址A的“页内偏移量”w


逻辑地址A对应的物理地址 =P号页面在内存中的起始地址+页内偏移量w


对于页面置换算法:


http://t.csdnimg.cn/pdVA1


如何确定一个逻辑地址对应的页号、页内偏移量?

注:在计算机内部,地址是用二进制表示的如果页面大小 刚好是 2 的整数幂,则计算机硬件可以很快速的把逻辑地址拆分成(页号,页内偏移量)

可以看到末尾的12为就是页内偏移量,而前面的20位就是页号

采用之前的公式验证一下:

页号 = 逻辑地址/页面长度(取除法的整数部分)

页内偏移量 = 逻辑地址%页面长度(取除法的余数部分)

分页存储管理的优缺点:

优点:利用率高,碎片小,分配及管理简单

缺点:增加了系统开销;可能产生抖动现象

抖动现象:当进程需要的页面无法放置在内存中,而需要从磁盘中加载时,会发生页面置换。频繁的页面置换会导致磁盘I/O操作增加,造成系统响应时间延迟,这就是抖动现象。

段式存储:

段式存储: 按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。


对于段表中的基址就是段的起始地址。

逻辑地址=段号+段内偏移量(段内偏移量不能超过段长,否则为非法段地址)

段式存储的优点和缺点:

优点:多道程序共享内存,各段程序修改互不影响

缺点:内存利用率低,内存碎片浪费大

目录
相关文章
|
存储 算法 调度
分页储存管理.分段储存管理.虚拟储存管理
分页储存管理和分段储存管理是操作系统中常用的两种内存管理方式。 1. 分页储存管理: - 基本原理:将物理内存和逻辑内存划分为固定大小的页面和页面框,使得逻辑地址空间和物理地址空间可以对应起来。进程的逻辑地址空间被划分为多个固定大小的页面,每个页面与一个物理内存页面框对应。通过页表将逻辑地址映射到物理地址,实现地址转换。 - 优点:简单、灵活,能够提供较大的逻辑地址空间,适用于多道程序设计和虚拟内存管理。 - 缺点:存在内部碎片,会造成一定的存储空间浪费。 2. 分段储存管理: - 基本原理:将进程的逻辑地址空间划分为若干个逻辑段,每个逻辑段代表一个逻辑单位,如代码
787 0
|
存储 算法 Serverless
解决哈希冲突的方式
解决哈希冲突的方式
597 0
|
存储 安全 Cloud Native
Nacos 2.1.0发布,支持特性定制插件
Nacos 全称为 Dynamic Naming and Configuration Service,其目标是更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 诞生于阿里巴巴 2008 年的五彩石项目,在阿里十年双 11 中成长,帮助业务解决微服务的扩展性和高可用问题。
Nacos 2.1.0发布,支持特性定制插件
|
网络性能优化
基于MQTT.fx的ESP8266主题发布订阅
本篇文章主要以ESP8266-12E作为开发板,带你了解MQTT发布、订阅、取消订阅的基础知识。
737 0
基于MQTT.fx的ESP8266主题发布订阅
|
SQL JavaScript 关系型数据库
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
|
消息中间件 传感器 监控
AMQP 与物联网 (IoT) 应用的结合
【8月更文第28天】高级消息队列协议 (AMQP) 是一种开放标准的应用层协议,特别适合于物联网 (IoT) 场景中的消息传递。AMQP 提供了可靠的、可扩展的消息传输机制,能够处理来自大量设备的数据流。本文将探讨 AMQP 在 IoT 应用中的优势,并提供使用不同编程语言构建 AMQP 客户端的具体示例。
583 0
|
测试技术 数据库 UED
【白盒测试】单元测试的理论基础及用例设计技术(6种)详解
【白盒测试】单元测试的理论基础及用例设计技术(6种)详解
2603 1
|
存储 算法 5G
【软考学习12】页式存储、段式存储、段页式存储和物理逻辑地址转换
【软考学习12】页式存储、段式存储、段页式存储和物理逻辑地址转换
2045 0
|
Linux 网络安全 文件存储
本地部署Jellyfin影音服务器并实现远程访问影音库-1
本地部署Jellyfin影音服务器并实现远程访问影音库
1284 0

热门文章

最新文章