首页 > 其他分享 >1.操作系统(基本分页存储管理的基本概念)

1.操作系统(基本分页存储管理的基本概念)

时间:2023-08-29 09:48:17浏览次数:57  
标签:存储管理 操作系统 分区 偏移量 地址 内存 进程 基本概念 页面

1.操作系统(基本分页存储管理的基本概念)

  • 连续分配 :为用户进程分配的必须是一个 连续的内存空间
  • 非连续分配 :为用户进程分配的可以是一些 分散的内存空间

1.思考:连续分配方式的缺点

考虑支持多道程序的两种连续分配方式:
1.固定分区分配缺乏灵活性会产生大量的内部碎片,内存的利用率很低。
2.动态分区分配会产生很多外部碎片,虽然可以用“紧凑”技术来处理,但是“紧凑”的时间代价很高

2.把“固定分区分配”改造为“非连续分配版本”

假设进程A大小为23MB,但是每个分区大小只有10MB,如果进程只能占用一个分区,那显然放不下。
解决思路:

如果允许进程占用多个分区,那么可以把进程拆分成10MB+10MB+3MB三个部分,再把这三个部分分别放到三个分区中(这些分区不要求连续) ..进程A的最后一个部分是3MB,放入分区后会产生7MB的内部碎片。
如果每个分区大小为2MB,那么进程A可以拆分成11 * 2MB+1MB共12个部分,只有最后一部分1MB占不满分区,会产生1MB的内部碎片。显然,如果把分区大小设置的更小一些,内部碎片会更小,内存利用率会更高。

这就引出了:

基本分页存储管理的思想一一把内存分为一个个相等的小分区,再按照分区大小把进程拆分成一个个小部分

3.什么是分页存储

将内存空间分为一个个大小相等的分区 (比如:每个分区 4KB),每个分区就是一个“ 页框 ”( 页框 = 页帧 = 内存块 = 物理块= 物理页面 )。每个页框有一个编号,即“ 页框号 ”( 页框号= 页帧号 = 内存号 = 物理块号 = 物理页号 ),页框号 从 0 开始
将 进程的逻辑地址空间 也分为 与页框大小相等 的一个个部分, 每个部分称为一个“ ”或“ 页面 ” 。每个页面也有一个编号, 即“ 页号 ”,页号也是 从 0 开始
Tips :初学易混 —— 页、页面 vs 页框、页帧、物理页 页号、页面号 vs 页框号、页帧号、物理页号
操作系统 以页框为单位为各个进程分配 内存空间。进程的每个 页面分别放入一个页框中。也就是说,进程的 页面 与内存的 页框一一对应 的关系。 各个页面不必连续存放,可以放到不相邻的各个页框中。
(注:进程的最后一个页面可能没有一个页框那么大。也就是说,分页存储有可能产生内部碎片,因此 页框不能太大,否则可能产生过大的内部碎片造成浪费

4.如何实现地址的转换

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

在某计算机系统中,页面大小是50B。某进程逻辑地址空间大小为200B,则逻辑地址 110 对应的页号、页内偏移量是多少?

总结:页面大小 刚好是 2 的整数幂有什么好处?

①逻辑地址的拆分更加迅速——如果每个页面大小为 2KB,用二进制数表示逻辑地址,则末尾 K 位即为页内偏移量,其余部分就是页号。因此,如果让每个页面的大小为 2 的整数幂,计算机硬件就可以很方便地得出一个逻辑地址对应的页号和页内偏移量,而无需进行除法运算,从而提升了运行速度。

②物理地址的计算更加迅速——根据逻辑地址得到页号,根据页号查询页表从而找到页面存放的内存块号,将二进制表示的内存块号和页内偏移量拼接起来,就可以得到最终的物理地址。

4.2逻辑地址结构

分页存储管理的 逻辑地址结构 如下所示:

地址结构包含两个部分:前一部分为页号,后一部分为页内偏移量 W 。在上图所示的例子中,地址长度为 32 位,其中 0~11 位 为“ 页内偏移量 ”,或称“ 页内地址 ”; 12~31 位为“ 页号 ”。
如果有 K 位表示“页内偏移量”,则说明该系统中一个页面的大小是 2^K个内存单元
如果有 M 位表示“页号”,则说明在该系统中,一个进程最多允许有 2^M 个页面

4.3重要的数据结构——页表

为了能知道进程的每个页面在内存中存放的位置,操作系统要为每个进程建立一张页表。
注:页表通常存在PCB(进程控制块)中

*问题一:每个页表项占多少字节?*

参考资料:

3.2操作系统(基本分页存储管理的基本概念)

标签:存储管理,操作系统,分区,偏移量,地址,内存,进程,基本概念,页面
From: https://www.cnblogs.com/codemagiciant/p/17663921.html

相关文章

  • 21. 补充阅读资料--会计基本概念与会计要素(转载)
    会计基本概念与会计要素(转载自https://zhuanlan.zhihu.com/p/39861991点击查看原文)会计是现代企业的一项重要基础性工作,它是通过完整记录企业经营过程中的各种事项,编制企业财务报表,反映企业的财务状况、经营成果及现金流量。财务报表是企业与投资者进行信息沟通的一种特殊语......
  • 键盘敲入 A 字母时,操作系统期间发生了什么?
    键盘敲入A字母时,操作系统期间发生了什么?关于8.1键盘敲入A字母时,操作系统期间发生了什么?的总结,前面都介绍了,但是在最后总结操作系统发生了什么的时候,我觉得有点不详细,于是写一写自己的补充和理解,不一定正确。键盘敲击之后,键盘控制器根据敲击的键生成扫描码,写入寄存器。同......
  • 操作系统总结
    1、硬件结构2、系统结构3、进程管理4、内存管理......
  • VMware虚拟机ubuntu和主操作系统硬盘之间的文件共享的实现
    安装vmware-tools就能实现文件共享 1.在虚拟机种加载linux.iso文件。Settings-Hardware-CD/DVD(IDE)-Useisoimagefile中加入linux.iso文件。PS:这个文件可以在VMware的安装目录下找到:\ProgramFiles\VMware\VMwareWorkstation\linux.iso 2.启动虚拟机进入/mnt/cdrom目录cd/......
  • 深入理解操作系统中进程与线程的区别及切换机制(上)
    进程所谓进程,大家可以理解为我们打开的应用程序,如微信、QQ、游戏等,但也有系统应用是我们看不见的,可以打开任务管理器一探究竟,我们写的代码程序在服务器上在不运行的情况下,它就是一个二进制文件,并不是进程!一个进程可以包含一个或者多个线程,但对于CPU来说他就是一个任务而已;在......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • 树和二叉树的基本概念
    树和二叉树的基本概念树的定义树是一个递归的定义了,也就是说树中一个结点和其孩子结点都可以看成一个树.树有多种表示方式但是我们通常使用第一种递归的定义来表示树结构.树的基本术语根结点:非空树中没有前驱结点的结点.结点的度:结点拥有的子树数,也就是该结点向下直接......
  • 操作系统学习笔记(三)——内存管理
    一、虚拟内存将进程所用的地址隔离开,让操作系统为每个进程分配独立的一套虚拟地址。虚拟内存可以使进程的运行内存超过物理内存的大小。进程持有的虚拟地址会通过CPU芯片中的内存管理单元(MMU)的映射关系,来转换变成物理地址,然后再通过物理地址访问内存,如下图所示:有两种映射方......
  • 【操作系统】第一章 操作系统发展历程
    1.手工操作阶段所有运算工作需人工干预缺点:1.一个用户占用全机,导致资源利用率低2.CPU由于需要等待手工操作,利用不充分2.批处理阶段主要为了解决人工操作的问题,批处理系统的主要优点在于全自动处理,效率高。1.单道批处理系统主要有:自动性、顺序性和单道性的特征。缺点在于......
  • 段页式存储管理
    对进程空间先分段,后分页,具体原理图和优缺点如下:优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。......