• [操作系统笔记]内存管理1


    内容系听课复习所做笔记,图例多来自课程截图

    在这里插入图片描述

    覆盖与交换

    在这里插入图片描述

    下图为覆盖技术图示:

    在这里插入图片描述
    交换技术和中级调度密切相关:

    中级调度(内存调度):就是要决定将哪个处于挂起状态的进程重新调入内存

    在这里插入图片描述

    在哪保存被换出的进程

    具有对换功能的操作系统中,通常把磁盘空间分为文件区对换区两部分。

    文件区主要用于存放文件,主要追求存储空间的利用率,因此对文件区空间的管理采用离散分配方式

    对换区空间只占磁盘空间的小部分,被换出的进程数据就存放在对换区。

    由于对换的速度直接影响到系统的整体速度,因此对换区空间的管理主要追求换入换出速度,因此通常对换区采用连续分配方式,故对换区的I/O速度比文件区的更快。

    什么时候进行交换

    交换通常在许多进程运行且内存吃紧时进行,而系统负荷降低就暂停。例如:在发现许多进程运行时经常发生缺页,就说明内有紧张,此时可以换出一些进程;如果缺页率明显下降,就可以暂停换出。

    应该换出哪些进程

    可优先换出阻塞进程;可换出优先级低的进程;为了防止优先级低的进程在被调入内存后很快又被换出,有的系统还会考虑进程在内存的驻留时间…

    内存的分配与回收

    连续分配管理方式

    [操作系统笔记]连续分配管理方式

    在这里插入图片描述

    非连续分配管理方式

    • 基本分页存储管理
    • 基本分段存储管理
    • 段页式存储管理

    分页式管理方式

    [操作系统笔记]基本分页存储管理

    在这里插入图片描述

    两级页表

    [操作系统笔记]两级页表

    在这里插入图片描述

    分段式管理方式

    [操作系统笔记]基本分段存储管理

    在这里插入图片描述

    段页式管理方式

    优点缺点
    分页管理内存空间利用率高,不会产生外部碎片,只会有少量的页内碎片不方便按照逻辑模块实现信息的共享和保护
    分段管理很方便按照逻辑模块实现信息的共享和保护如果段长过大,为其分配很大的连续空间会很不方便。另外,段式管理会产生外部碎片

    当然,分段管理也可以使用紧凑技术

    据此,提出兼具两者优点的段页式,在段页式管理中,一个进程在被分段之后还会进一步地被分页

    在这里插入图片描述
    在这里插入图片描述
    注意上面的重点:用户不用考虑页号,只需给出段号和段内地址即可,段内地址拆分为页号和页内偏移量这是由操作系统自动完成的。因为知道段内地址是以及固定的页面大小后是可以推算出来的。

    在这里插入图片描述

    一个进程只能对应一个页表,但是可以对应多个页表

    段式管理的段表和段页式的段表并不一样:前者由段长和起始地址构成,后者则是页表长度、页表存放块号(共同点是段号都是隐藏的)

    在这里插入图片描述

    需要三次访存,段页式也可以使用快表,若命中则只需一次访存

    在这里插入图片描述

    杂项

    每个进程有自己的独立的地址空间,在操作系统(软件)和硬件的地址保护地址下,进程无法访问其他进程的地址空间。一个进程不能未被授权就访问另外一个进程的内存单元,内存保护的方法有界地址保护和存储键保护,一个进程中的程序不能跳转到另一个进程的指令地址中。

    内存的保护依托软硬件两方面实现

    其他参考

    03-存储管理

  • 相关阅读:
    香港第一金:美元指数昨晚拉高,不确定性加深金价下跌
    在线密码破解medusa
    AIDL的工作原理与使用示例 跨进程通信 远程方法调用RPC
    解决serviceaccount用户认证挂载密文token文件失败导致pod使用anonymous用户问题
    爬虫源码---爬取小猫猫交易网站
    嵌入式系统开发笔记81:使用Dialog组件设计提示对话框
    【大根堆 Java】使用优先队列+HashMap 解决前 K 个高频元素问题
    【DTEmpower案例操作教程】向导式建模
    用时半个月,终于把2020年各大公司的Java面试题精选整理成文档了
    黑马-web服务器与http协议
  • 原文地址:https://blog.csdn.net/qq_39377889/article/details/128054885