首页 > 其他分享 >操作系统复习5——存储器管理

操作系统复习5——存储器管理

时间:2024-12-30 18:26:26浏览次数:7  
标签:复习 分区 存储器 程序 地址 页表 操作系统 空闲 内存

OS中的存储管理主要是指对内存的管理

是为多道程序共享内存提供支持,方便用户(编程)使用存储器,提高存储器的利用率以及从逻辑上扩充存储器

存储器的宏观认识

-寄存器:极少量的、极快速、极昂贵、易变

-Cache(CPU高速缓存):少量的、非常快速、昂贵、易变

-内存RAM:中等大小、中等速度、中等价格、易变

-磁盘: 大容量、低速、价廉、不易变

CPU可以直接访问寄存器、CPU缓存和主存储器又叫可执行(直接存取)存储器

程序的编译、链接和装入

逻辑地址:又称相对地址,用户程序经过汇编或编译后形成目标代码,目标代码的首地址通常为0,是给用户看的。

物理地址:又称绝对地址,标识程序在内存中物理单元实际位置。

程序装入内存的过程:编译(转换为二进制)->链接(修改相对地址,变换外部调用符号)->装入,先将每段程序翻译为二进制机器语言,再将不同程序段链接(组装)为一段拥有连续逻辑地址的程序,最后将程序加载到内存某个空闲的区域(此时每条代码或变量将拥有物理地址)

连续分配储存管理方式

连续分配:程序在内存中必须占用连续的一块内存空间(仅用于单道程序OS的分配方式)

离散分配:允许程序以不连续(离散)的形式装入内存

固定连续分配

OS启动时将存储空间静态的划分为若干个大小不同的区域。在用户装入及运行过程中,这些区域的大小和边界固定不变

动态分区分配(重难点)

首次适应算法(FF)

空闲分区按地址递增的次序排列

内存利用率:低址将产生一批很小的空闲区。

查找开销:总从低址开始,查找开销大。

适应性:在高址部分有一些较大的空闲分区。

循环首次适应算法(NF)

进程分配内存空间时,查找不再是每次从头开始,而是从上次找到的空闲块的下一个空闲区开始,直至找到满足的空闲分区

内存利用率:空闲区的大小变得均匀。

查找开销:相对于首次适应法减少了查找开销。

适应性:缺乏大的空闲分区。

最佳适应算法(BF)

实际效果最差

内存分配时,总选择满足请求的最小空闲分区分配给作业。为加速寻找,将空闲区按由小到大递增的顺序形成空闲分区表或空闲分区链。

内存利用率:产生"碎片"空闲分区,极难利用。

查找开销:每次都从最小的开始找,开销很大。

适应性:能够很好的留下大空闲区。

最坏适应算法 (WF)

实际效果最好

内存分配时,总选择满足请求的最大空闲分区分配给作业。为加速寻找,将空闲区按由大到小递减的顺序形成空闲区链。

内存利用率:不会产生难以利用的"碎片"分区。

查找开销:只找一下,开销极小。

适应性:对中小作业有利,对大作业不利。

#分区回收算法

-(a)将两个分区合并

-(b)将两个分区合并

-(c)将三个分区合并

-(d)为回收区单独建立一个新表项,填写回收区的起始地址和大小,并根据其起始地址将其插入空闲分区链表中的适应位置

离散分配储存管理方式

动态重定位分区分配

需要移动内存的程序,需要重定位移动后的程序,开销太大(需要移动内存中的程序 、需要重定位移动后的程序)

分页存储管理方式

基本方法

程序均匀切成一系列的页,主存均匀分成一系列的块

页和块(页框)的大小相同,一个程序的一个页面可以存放在任意一个物理页面

页/块是内存分配的最小单位

进程最后一页经常装不满一块,形成了页内碎片

地址结构

页号长度决定页数,页内地址长度决定页面大小

页表

为便于在内存中找到进程每个页面的实际物理位置,系统为每个进程建立一张页面映像表,简称页表

#页表包含以下几个表项:

-页号:登记程序地址空间的页号。

- 块号:登记相应的页所对应的内存块号

- 其它:登记与存储信息保护有关的信息。

快表

在分页式系统中,每存取一个数据或指令时需要访问两次内存,极大的降低了系统处理速度

为缩短查页表的时间,提高处理速度,系统通常使用快表(高速缓存中的页表)技术,就是将一些常用的页表表项保存在CPU内部的高速缓存中

1) 分离出页号;

2) 先查快表,查到则从快表中读出块号;

3) 未查到则访问内存中的页表获得块号;

4) 将块号和页内地址拼接得到实际物理地址

访问内存的有效时间

(1) 没有快表的情况:EAT=t+t=2t

(2) 存在快表的情况:设访问快表的时间为λ,快表的命中率为a,则: EAT=a*λ+(t+λ)(1-a)+t

两级和多级页表

现代的大多数计算机系统,逻辑地址空间很大,页表就变得非常大,要占用相当大的连续内存空间,可以采用这样两个方法来解决这一问题:

1.采用离散分配方式来存储页表,防止页表找不到连续内存空间。(多级页表)

2.只将当前需要的页表项调入内存, 其余的页表项仍驻留在磁盘上,需要时再调入。(虚拟内存)

两级页表

分页存储的优缺点

优点:解决了内存碎片问题,有效地利用了内存,使存储空间的利用率大大地提高

缺点:

(1)采用动态地址变换会增加计算机成本和降低系统的速度

(2)各种表格要占用一定容量的主存空间, 而且还要花费一部分处理机时间用来建立和管理这些表格

(3)虽然说外部碎片消除了,但每个作业的最后一页一般都有不能充分利用的页内碎片

分段存储管理方式

引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列逻辑需要(方便性):

1) 方便编程 2) 信息共享3) 信息保护 4) 动态增长5) 动态链接

段表

地址变换机构

分离出段号

依据段号查段表(直接计算)

物理地址=段基址+段内位移

分页和分段的区别

页是信息的物理单位,页的大小由系统决定,分页是为了提高内存的利用率。

段则是信息的逻辑单位,段的长度是不固定的,根据信息的性质来划分,分段的目的是为了能更好地满足用户的需要。

段页式存储管理方式

习题(随堂)

习题(课后)

标签:复习,分区,存储器,程序,地址,页表,操作系统,空闲,内存
From: https://blog.csdn.net/Runner__Binger/article/details/144821749

相关文章

  • 操作系统大题
    一、问候语欢迎你来到我的博客!二、操作系统大题  该图片是我在学习操作系统总结出来可能会涉及到的大题类型,如果有遗漏或有错误的地方欢迎指出三、结束语此随笔内容仅为学习缓冲区溢出攻击的一些感悟、想法与总结,由于本人能力有限,如随笔内容有错误希望能见谅并加指出。-......
  • 资料DRV8210PDSGR 12V 电机驱动器、THGBMJG6C1LBAB7 高性能e-MMC存储器、LAN7800-I/Y9
    DRV8210PDSGR12V、1AH桥电机驱动器说明:DRV8210P是一款集成电机驱动器,具有4个N沟道功率FET、电荷泵稳压器和保护电路。三倍电荷泵架构允许该器件在低至1.65V的电压下工作,以适应1.8V电源轨和低电池条件。电荷泵集成了所有电容器,以减小PCB上电机驱动器的整体解决方......
  • 如何升级云服务器操作系统而不丢失现有数据?
    问题描述:随着业务的发展和技术的进步,用户希望能够对其云服务器的操作系统进行升级,以享受更高版本带来的新特性和性能改进。然而,担心在升级过程中会导致原有应用程序和服务的数据丢失。请问在不影响业务的前提下,怎样安全地完成操作系统升级?解决方案:当计划对云服务器进行操作系统......
  • linux 操作系统下last命令介绍和使用案例
    linux操作系统下last命令介绍和使用案例last命令是Linux系统中用于显示用户最近登录信息的工具。它通过读取/var/log/wtmp文件,提供有关用户登录和注销的详细记录,包括系统启动和关闭的信息。命令简介基本功能查看用户登录历史:显示当前和过去的用户登录记录。显示系统......
  • 【操作系统】同步
    同步(Synchronization)涉及到在多线程或多进程环境中协调多个执行线程的执行顺序,以确保数据的一致性和完整性。同步的目的是防止多个线程同时访问同一资源(如内存、文件、数据库等)时发生的冲突和数据不一致问题。实现方法:互斥锁(Mutex):一种同步机制,用于保护共享资源不被多个线......
  • 【操作系统】哲学家进餐问题
    目录一、概念二、以原子的思想解决死锁 三、破环环路的思想解决死锁四、使用管程来解决死锁一、概念问题描述:有五个哲学家,他们的生活方式是交替地进行思考和进餐,哲学家们共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个碗和五支筷子,平时哲学家进行思考,饥饿时便......
  • 数据结构复习
    背诵线性表前驱:后继表长:空表:首元结点:头结点:头指针线性表的结构特点,除了第一个和最后一个元素外,每个节点都只有一个前驱和后继。线性表的存储方式:栈与队列顺序栈链栈链队列栈与队列存储数据栈的应用:循环列表判队空、队满条件,......
  • HarmonyOS 5.0 Next实战应用开发—‘我的家乡’【HarmonyOS Next华为公司完全自研的操
    HarmonyOS5.0NextHarmonyOSNEXT是鸿蒙抛弃Linux内核及安卓开放源代码项目(AOSP)等代码的首个大版本,该系统仅支持鸿蒙内核和鸿蒙系统的应用,不再兼容安卓应用。引入了“和谐美学”设计理念,通过先进的物理渲染引擎,细腻地还原了真实世界的光影色彩与时空力感,为用户呈现更加沉浸、多......
  • 计算机网络考点复习(谢希仁版)
    第一章:计算机网络概述考点1:试简述分组交换的要点。解析:分组交换采用了存储转发技术。把报文等分成若干数据段,每个数据段加入控制信息组成的首部,构成若干分组。分组首部包含了目的地址和原地址等重要控制信息,每个分组可以在互联网中独立地选择传输路径。2:试从多个方面......
  • 2024.12.27复习日记
    2024.12.27复习日记os进程管理:首先是操作系统,cpu,进程三者之间的关系操作系统操作cpu,去执行进程,其中进程执行顺序,执行多长时间,以及进程间的调度都是由操作系统完成的,cpu只负责执行。不过进程本身也具有储存数据的功能,比如说储存自己执行到哪里了,以便下一次执行时从该位置往下继......